feat: add the admin layout shell
This commit is contained in:
1 parent
da8af9ff08
commit
ad5c93049c
21 files changed
+441
-15
No files matched your search
@@ -0,0 +1,25 @@
|
||||
{# Plain nav instead of myep's knp-menu builder: a handful of links does not justify the
|
||||
indirection. Active state is a prefix match on the current route name, which mirrors what
|
||||
myep's menu matcher does with its 'routes' extras. #}
|
||||
{% set current_route = app.request.attributes.get('_route') %}
|
||||
{% set items = [
|
||||
{ route: 'app_dashboard', label: 'Übersicht', icon: 'lucide:layout-grid' },
|
||||
{ route: 'app_booking', label: 'Meine Buchungen', icon: 'lucide:calendar-days' },
|
||||
] %}
|
||||
|
||||
<div class="min-h-full flex grow flex-col gap-y-5 lg:border-r border-gray-200 bg-white md:pr-6">
|
||||
<nav class="flex flex-1 flex-col">
|
||||
<ul role="list" class="space-y-1">
|
||||
{% for item in items %}
|
||||
{% set is_active = current_route starts with item.route %}
|
||||
<li>
|
||||
<a href="{{ path(item.route) }}"
|
||||
class="group flex gap-x-3 rounded-md p-2 text-sm leading-6 font-semibold {{ is_active ? 'bg-gray-100 text-gray-900' : 'text-gray-700 hover:bg-gray-50' }}">
|
||||
{{ ux_icon(item.icon, { class: 'h-5 w-5 shrink-0 ' ~ (is_active ? 'text-gray-600' : 'text-gray-400') }) }}
|
||||
<span class="flex-1">{{ item.label }}</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
Reference in new issue
Block a user