|
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1"> |
6 | 6 | <title>{% block title '' %}</title> |
7 | 7 | {% block stylesheets %}{% endblock %} |
| 8 | + {% block javascripts %}{% endblock %} |
8 | 9 | </head> |
9 | 10 | <body> |
10 | 11 | {% block body %} |
11 | 12 | {% block header %} |
12 | 13 | <header class="header"> |
13 | 14 | {% block logo_link %} |
14 | | - <a href="/" class="logo">{% block logo 'LOGO' %}</a> |
15 | | - {% endblock %} |
16 | | - {% block nav_primary %} |
17 | | - <nav class="primary-nav"> |
18 | | - <ul> |
19 | | - {% set item_class = 'primary-nav__item' %} |
20 | | - {% set item_active_class = 'primary-nav__item--active' %} |
21 | | - {% for item in menu_primary|default([])|filter(item => item is accessible) %} |
22 | | - {% block menu_item %} |
23 | | - <li class="{{ item_class|default('') }} {{ item is active ? item_active_class|default('') : '' }}"> |
24 | | - {% block menu_item_link %} |
25 | | - <a href="{{ menu_path(item) }}" class="{{ link_class|default('') }}"> |
26 | | - {% if item.icon|default(false) %} |
27 | | - <i class="icon icon--{{ item.icon }}" aria-hidden="true"></i> |
28 | | - {% endif %} |
29 | | - {{ item.label }} |
30 | | - </a> |
31 | | - {% endblock %} |
32 | | - </li> |
33 | | - {% endblock %} |
34 | | - {% endfor %} |
35 | | - </ul> |
36 | | - </nav> |
37 | | - {% endblock %} |
38 | | - {% block nav_user %} |
39 | | - {% if app.user %} |
40 | | - {% block nav_user_authenticated %} |
41 | | - <div class="user-menu drop drop--down"> |
42 | | - <button class="user-menu__button drop__button"> |
43 | | - {% block user_menu_label app.user|default('Jane doe') %} |
44 | | - </button> |
45 | | - <ul class="user-menu__content drop__menu"> |
46 | | - {% for item in menu_user|default([]) %} |
47 | | - {{ block('menu_item') }} |
48 | | - {% endfor %} |
49 | | - </ul> |
50 | | - </div> |
51 | | - {% endblock %} |
52 | | - {% else %} |
53 | | - {% block nav_user_anonymous %} |
54 | | - <ul class="user-menu"> |
55 | | - {% set item_class = 'user-menu__button' %} |
56 | | - {% set item_active_class = 'user-menu__button--active' %} |
57 | | - {% for item in menu_anonymous|default([]) %} |
58 | | - {{ block('menu_item') }} |
59 | | - {% endfor %} |
60 | | - </ul> |
61 | | - {% endblock %} |
62 | | - {% endif %} |
| 15 | + <a href="/" class="logo"> |
| 16 | + {% block logo 'LOGO' %} |
| 17 | + </a> |
63 | 18 | {% endblock %} |
| 19 | + {% include '@ElaoAdminTheme/layout/nav_primary.html.twig' with { menu: menu_primary|default([]) } %} |
| 20 | + {% include '@ElaoAdminTheme/layout/nav_user.html.twig' with { user: app.user } %} |
64 | 21 | <button class="menu-button"></button> |
65 | 22 | </header> |
66 | 23 | {% endblock %} |
67 | | - {% block nav_mobile %} |
68 | | - <div class="mobile-nav"> |
69 | | - <ul class="tree"> |
70 | | - {% for item in menu_mobile|default([])|filter(item => item is accessible) %} |
71 | | - <li class="mobile-nav__item mobile-nav__item--primary tree-item {{ item is active ? 'mobile-nav__item--active' : '' }}"> |
72 | | - <a class="{{ item.children|default(false) ? 'tree-item__trigger' : '' }}" href="{{ menu_path(item) }}"> |
73 | | - {% if item.icon|default(false) %} |
74 | | - <i class="icon icon--{{ item.icon }}" aria-hidden="true"></i> |
75 | | - {% endif %} |
76 | | - {{ item.label }} |
77 | | - </a> |
78 | | - {% if item.children|default(false) %} |
79 | | - <ul class="tree-item__content tree"> |
80 | | - {% for secondary_item in item.children|filter(item => item is accessible) %} |
81 | | - <li class="mobile-nav__item tree-item mobile-nav__item--secondary {{ secondary_item is active ? 'mobile-nav__item--active' : '' }}"> |
82 | | - <a href="{{ menu_path(secondary_item) }}" class="{{ secondary_item.children|default(false) ? 'tree-item__trigger' : '' }}"> |
83 | | - {% if secondary_item.icon|default(false) %} |
84 | | - <i class="icon icon--{{ secondary_item.icon }}" aria-hidden="true"></i> |
85 | | - {% endif %} |
86 | | - {{ secondary_item.label }} |
87 | | - </a> |
88 | | - {% if secondary_item.children|default(false) %} |
89 | | - <ul class="tree-item__content"> |
90 | | - {% for tertiary_item in secondary_item.children|filter(item => item is accessible) %} |
91 | | - <li class="mobile-nav__item mobile-nav__item--tertiary {{ tertiary_item is active ? 'mobile-nav__item--active' : '' }}"> |
92 | | - <a href="{{ menu_path(tertiary_item) }}"> |
93 | | - {% if tertiary_item.icon|default(false) %} |
94 | | - <i class="icon icon--{{ tertiary_item.icon }}" aria-hidden="true"></i> |
95 | | - {% endif %} |
96 | | - {{ tertiary_item.label }} |
97 | | - </a> |
98 | | - </li> |
99 | | - {% endfor %} |
100 | | - </ul> |
101 | | - {% endif %} |
102 | | - </li> |
103 | | - {% endfor %} |
104 | | - </ul> |
105 | | - {% endif %} |
106 | | - </li> |
107 | | - {% endfor %} |
108 | | - </ul> |
109 | | - </div> |
110 | | - {% endblock %} |
| 24 | + {% include '@ElaoAdminTheme/layout/nav_mobile.html.twig' with { menu: menu_mobile|default([]) } %} |
111 | 25 | {% block main %} |
112 | 26 | <main> |
113 | | - {% block nav_secondary %} |
114 | | - {% if menu_secondary is defined %} |
115 | | - <nav class="secondary-nav"> |
116 | | - <ul> |
117 | | - {% set item_class = 'secondary-nav__item' %} |
118 | | - {% set item_active_class = 'secondary-nav__item--active' %} |
119 | | - {% for item in menu_secondary|filter(item => item is accessible) %} |
120 | | - {{ block('menu_item') }} |
121 | | - {% endfor %} |
122 | | - </ul> |
123 | | - </nav> |
124 | | - {% endif %} |
125 | | - {% endblock %} |
| 27 | + {% if menu_secondary is defined %} |
| 28 | + {% include '@ElaoAdminTheme/layout/nav_secondary.html.twig' with { menu: menu_secondary } %} |
| 29 | + {% endif %} |
126 | 30 | {% block content %} |
127 | 31 | <div class="content"> |
128 | | - {% block flash include('@ElaoAdminTheme/components/flash.html.twig') %} |
129 | | - {% block nav_tertiary %} |
130 | | - {% if menu_tertiary is defined %} |
131 | | - <nav class="tertiary-nav"> |
132 | | - <ul> |
133 | | - {% set item_class = 'tertiary-nav__item' %} |
134 | | - {% set item_active_class = 'tertiary-nav__item--active' %} |
135 | | - {% for item in menu_tertiary|filter(item => item is accessible) %} |
136 | | - {{ block('menu_item') }} |
137 | | - {% endfor %} |
138 | | - </ul> |
139 | | - </nav> |
140 | | - {% endif %} |
141 | | - {% endblock %} |
| 32 | + {% include '@ElaoAdminTheme/components/flash.html.twig' %} |
| 33 | + {% if menu_tertiary is defined %} |
| 34 | + {% include '@ElaoAdminTheme/layout/nav_secondary.html.twig' with { menu: menu_tertiary } %} |
| 35 | + {% endif %} |
142 | 36 | {% block page_content %} |
143 | | - <div class="container"> |
144 | | - |
145 | | - </div> |
| 37 | + <div class="container"></div> |
146 | 38 | {% endblock %} |
147 | 39 | </div> |
148 | 40 | {% endblock %} |
149 | 41 | </main> |
150 | 42 | {% endblock %} |
151 | 43 | {% endblock %} |
152 | | - {% block javascripts %}{% endblock %} |
153 | 44 | </body> |
154 | 45 | </html> |
0 commit comments