]> git.immae.eu Git - github/wallabag/wallabag.git/blame - src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
WIP
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Resources / views / themes / material / layout.html.twig
CommitLineData
53e12188
AD
1{% extends "WallabagCoreBundle::base.html.twig" %}
2
3{% block css %}
4 {{ parent() }}
64f81bc3
TC
5 {% if not app.debug %}
6 <link rel="stylesheet" href="{{ asset('bundles/wallabagcore/material.css') }}">
7 {% endif %}
53e12188
AD
8{% endblock %}
9
10{% block scripts %}
11 {{ parent() }}
64f81bc3 12 <script src="{{ asset('bundles/wallabagcore/material' ~ (app.debug ? '.dev' : '') ~ '.js') }}"></script>
53e12188
AD
13{% endblock %}
14
15{% block header %}
16{% endblock %}
17
a6523cfe
AD
18{% block messages %}
19 {% for flashMessage in app.session.flashbag.get('notice') %}
20 <script>
8e417206 21 Materialize.toast('{{ flashMessage|trans }}', 4000);
a6523cfe
AD
22 </script>
23 {% endfor %}
24{% endblock %}
25
26{% block menu %}
27 <nav class="cyan darken-1">
28 <ul id="slide-out" class="side-nav fixed">
29 {% block logo %}
30 <li class="logo border-bottom">
0d42217e 31 <a title="{{ 'menu.left.back_to_unread'|trans }}" href="{{ path('unread') }}">
5ecdfcd0 32 <img src="{{ asset('bundles/wallabagcore/themes/_global/img/logo-square.png') }}" alt="wallabag logo" />
a6523cfe
AD
33 </a>
34 </li>
35 {% endblock %}
36
37 {% set currentRoute = app.request.attributes.get('_route') %}
7d9a67de 38 {% set currentRouteFromQueryParams = app.request.query.get('currentRoute') %}
a6523cfe 39
7d9a67de
KD
40 {% set activeRoute = null %}
41 {% if currentRoute == 'all' or currentRouteFromQueryParams == 'all' %}
42 {% set activeRoute = 'all' %}
43 {% elseif currentRoute == 'archive' or currentRouteFromQueryParams == 'archive' %}
44 {% set activeRoute = 'archive' %}
45 {% elseif currentRoute == 'starred' or currentRouteFromQueryParams == 'starred' %}
46 {% set activeRoute = 'starred' %}
47 {% elseif currentRoute == 'unread' or currentRoute == 'homepage' or currentRouteFromQueryParams == 'unread' %}
48 {% set activeRoute = 'unread' %}
49 {% endif %}
50
51 <li class="bold {% if activeRoute == 'unread' %}active{% endif %}">
59ddb9ae 52 <a class="waves-effect" href="{{ path('unread') }}">{{ 'menu.left.unread'|trans }} <span class="numberItems grey-text">{{ count_entries('unread') }}</span></a>
0d42217e 53 </li>
7d9a67de 54 <li class="bold {% if activeRoute == 'starred' %}active{% endif %}">
59ddb9ae 55 <a class="waves-effect" href="{{ path('starred') }}">{{ 'menu.left.starred'|trans }} <span class="numberItems grey-text">{{ count_entries('starred') }}</span></a>
0d42217e 56 </li>
7d9a67de 57 <li class="bold {% if activeRoute == 'archive' %}active{% endif %}">
59ddb9ae 58 <a class="waves-effect" href="{{ path('archive') }}">{{ 'menu.left.archive'|trans }} <span class="numberItems grey-text">{{ count_entries('archive') }}</span></a>
0d42217e 59 </li>
7d9a67de 60 <li class="bold {% if activeRoute == 'all' %}active{% endif %}">
59ddb9ae 61 <a class="waves-effect" href="{{ path('all') }}">{{ 'menu.left.all_articles'|trans }} <span class="numberItems grey-text">{{ count_entries('all') }}</span></a>
0d42217e
JB
62 </li>
63 <li class="bold border-bottom {% if currentRoute == 'tags' %}active{% endif %}">
429d86f3 64 <a class="waves-effect" href="{{ path('tag') }}">{{ 'menu.left.tags'|trans }} <span class="numberItems grey-text">{{ count_tags() }}</span></a>
0d42217e
JB
65 </li>
66 <li class="bold {% if currentRoute == 'config' %}active{% endif %}">
67 <a class="waves-effect" href="{{ path('config') }}">{{ 'menu.left.config'|trans }}</a>
68 </li>
b8427f22
JB
69 {% if craue_setting('restricted_access') %}
70 <li class="bold {% if currentRoute starts with 'site_credentials_' %}active{% endif %}">
71 <a class="waves-effect" href="{{ path('site_credentials_index') }}">{{ 'menu.left.site_credentials'|trans }}</a>
72 </li>
73 {% endif %}
63e40f2d 74 {% if is_granted('ROLE_SUPER_ADMIN') %}
152fcccd
JB
75 <li class="bold {% if currentRoute starts with 'user_' %}active{% endif %}">
76 <a class="waves-effect" href="{{ path('user_index') }}">{{ 'menu.left.users_management'|trans }}</a>
77 </li>
78
0d42217e
JB
79 <li class="bold border-bottom {% if currentRoute == 'craue_config_settings_modify' %}active{% endif %}">
80 <a class="waves-effect" href="{{ path('craue_config_settings_modify') }}">{{ 'menu.left.internal_settings'|trans }}</a>
81 </li>
63e40f2d 82 {% endif %}
0d42217e
JB
83 <li class="bold {% if currentRoute == 'import' %}active{% endif %}">
84 <a class="waves-effect" href="{{ path('import') }}">{{ 'menu.left.import'|trans }}</a>
85 </li>
86 <li class="bold {% if currentRoute == 'developer' %}active{% endif %}">
87 <a class="waves-effect" href="{{ path('developer') }}">{{ 'menu.left.developer'|trans }}</a>
88 </li>
89 <li class="bold {% if currentRoute == 'howto' %}active{% endif %}">
90 <a class="waves-effect" href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a>
91 </li>
92 <li class="bold">
c5e4293e 93 <a class="waves-effect icon icon-power" href="{{ path('fos_user_security_logout') }}">{{ 'menu.left.logout'|trans }}</a>
0d42217e 94 </li>
a6523cfe
AD
95 </ul>
96 <div class="nav-wrapper nav-panels">
5ecdfcd0 97 <a href="#" data-activates="slide-out" class="nav-panel-menu button-collapse"><i class="material-icons">menu</i></a>
a6523cfe 98 <div class="left action">
a64f1d9f
NL
99 {% block title %}
100 {% endblock %}
a6523cfe 101 </div>
22d0c929
S
102 <ul class="input-field nav-panel-buttom">
103 <li class="bold">
104 <a class="waves-effect tooltipped" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.add_new_entry'|trans }}" href="{{ path('new') }}" id="nav-btn-add">
105 <i class="material-icons">add</i>
106 </a>
107 </li>
108 <li>
109 <a class="waves-effect tooltipped" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.search'|trans }}" href="javascript: void(null);" id="nav-btn-search">
110 <i class="material-icons">search</i>
111 </a>
112 </li>
e0f9010e
TC
113 <li id="button_notifications">
114 {% set unreadNotifs = get_notifications() | unread_notif | length %}
115 <a class="nav-panel-menu button-collapse-right tooltipped js-notifications-action" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.notifications' | trans }}" href="#" data-activates="notifications">
116 <i class="material-icons">notifications{% if unreadNotifs == 0 %}_none{% endif %}</i>
117 {% if unreadNotifs > 0 %}<span id="notifications-count" class="red-text text-accent-2">{{ unreadNotifs }}</span>{% endif %}
118 </a>
119 </li>
bf6c0346
TC
120 <li id="button_profile">
121 <a class="nav-panel-menu button-collapse-right tooltipped" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.profile' | trans }}" href="{{ path('user-profile', {'user': app.user.account.username}) }}">
122 <i class="material-icons">person</i>
123 </a>
124 </li>
22d0c929 125 <li id="button_filters">
ccb9e79a 126 <a class="nav-panel-menu button-collapse-right tooltipped js-filters-action" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.filter_entries'|trans }}" href="#" data-activates="filters">
22d0c929
S
127 <i class="material-icons">filter_list</i>
128 </a>
129 </li>
130 <li id="button_export">
ccb9e79a 131 <a class="nav-panel-menu button-collapse-right tooltipped js-export-action" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.export'|trans }}" href="#" data-activates="export">
22d0c929
S
132 <i class="material-icons">file_download</i>
133 </a>
134 </li>
135 </ul>
ee122a75 136 <div class="input-field nav-panel-search" style="display: none">
49b042df 137 {{ render(controller("WallabagCoreBundle:Entry:searchForm", {'currentRoute': app.request.attributes.get('_route')})) }}
64f81bc3 138 <label for="search"><i class="material-icons search">search</i></label>
ee122a75
NL
139 <i class="material-icons close">clear</i>
140 </div>
053b9568 141 <div class="input-field nav-panel-add" style="display: none">
0d42217e 142 {{ render(controller("WallabagCoreBundle:Entry:addEntryForm")) }}
64f81bc3 143 <label for="add"><i class="material-icons add">add</i></label>
5ecdfcd0 144 <i class="material-icons close">clear</i>
053b9568 145 </div>
a6523cfe
AD
146 </div>
147 </nav>
148{% endblock %}
4e9f656e 149
e0f9010e
TC
150{% block content %}
151
152 <div id="notifications" class="side-nav">
153 {% if app.user.notifications is not empty %}
154 <div class="notifications-area">
155 <ul class="collection">
156 {% for notification in get_notifications() | slice(0, 10) %}
157 <li class="notification collection-item avatar{% if not notification.read %} light-blue lighten-5{% else %} grey-text{% endif %}">
158 <i class="material-icons circle">{% spaceless %}
159 {% if notification.type == constant('TYPE_ADMIN', notification) %}
160 build
161 {% elseif notification.type == constant('TYPE_USER', notification) %}
162 person
163 {% elseif notification.type == constant('TYPE_RELEASE', notification) %}
164 new_releases
165 {% endif %}
166 {% endspaceless %}</i>
167 <span class="title">{{ notification.title | trans(notification.parameters) }}</span>
168 <p>{{ notification.description | trans(notification.parameters) }}</p>
169 <time datetime="{{ notification.timestamp | date }}">{{ notification.timestamp | time_diff }}</time>
170 <div>
171 {% for action in notification.actions %}
172 <a class="notification-action-button btn waves-effect waves-light {% spaceless %}
173 {% if action.type == constant('TYPE_OK', action) %}
174 {% elseif action.type == constant('TYPE_YES', action) %}
175 cyan
176 {% elseif action.type == constant('TYPE_NO', action) %}
177 red
178 {% elseif action.type == constant('TYPE_INFO', action) %}
179 blue-grey
180 {% endif %}
181 {% if notification.read %}lighten-3{% endif %}
182 {% endspaceless %}" href="{{ path('notification-archive-redirect', {'redirection': action.link, 'notification': notification.id}) }}">{{ action.label | trans(notification.parameters) }}</a>
183 {% endfor %}
184 </div>
185 </li>
186 {% endfor %}
187 </ul>
188 </div>
189 <a href="{{ path('notification-archive-all') }}" class="btn-light waves-effect waves-light right"><i class="material-icons">done_all</i> {{ 'notifications.list.mark_all_as_read' | trans }}</a>
190 <a class="waves-effect waves-light btn view-more" href="{{ path('notifications-all') }}">{{ 'notifications.sidebar.view_more' | trans }}</a>
191 {% else %}
192 <div class="no-notifications grey-text">{{ 'notifications.list.none' | trans }}</div>
193 {% endif %}
194 </div>
195{% endblock %}
196
4e9f656e 197{% block footer %}
e77cde45
NL
198 <footer class="page-footer cyan darken-2">
199 <div class="footer-copyright">
200 <div class="container">
1264029c 201 <div class="row">
d56d416d
TC
202 <div class="col m12 l8 hide-on-small-only">
203 <p title="{{ display_stats() | raw | striptags }}">
1264029c
JB
204 {{ display_stats() }}
205 </p>
206 </div>
d56d416d 207 <div class="col s12 l4">
1264029c
JB
208 <p>
209 {{ 'footer.wallabag.powered_by'|trans }} <a target="_blank" href="https://wallabag.org" class="grey-text text-lighten-4">wallabag</a> –
210 <a class="grey-text text-lighten-4" href="{{ path('about') }}">{{ 'footer.wallabag.about'|trans|lower }}</a>
211 </p>
212 </div>
213 </div>
e77cde45
NL
214 </div>
215 </div>
216 </footer>
4e9f656e 217{% endblock %}