aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/CoreBundle/Resources/views/themes/material
diff options
context:
space:
mode:
Diffstat (limited to 'src/Wallabag/CoreBundle/Resources/views/themes/material')
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig261
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig63
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/Card/_content.html.twig5
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_actions.html.twig12
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_reading_time.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig24
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig18
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/new_form.html.twig4
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/search_form.html.twig4
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Tag/tags.html.twig23
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig14
12 files changed, 303 insertions, 129 deletions
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
index f896fe2d..d8e9694d 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
@@ -12,10 +12,11 @@
12 <div class="div_tabs col s12"> 12 <div class="div_tabs col s12">
13 <ul class="tabs"> 13 <ul class="tabs">
14 <li class="tab col s12 m6 l3"><a class="active" href="#set1">{{ 'config.tab_menu.settings'|trans }}</a></li> 14 <li class="tab col s12 m6 l3"><a class="active" href="#set1">{{ 'config.tab_menu.settings'|trans }}</a></li>
15 <li class="tab col s12 m6 l3"><a href="#set2">{{ 'config.tab_menu.rss'|trans }}</a></li> 15 <li class="tab col s12 m6 l3"><a href="#set2">{{ 'config.tab_menu.feed'|trans }}</a></li>
16 <li class="tab col s12 m6 l3"><a href="#set3">{{ 'config.tab_menu.user_info'|trans }}</a></li> 16 <li class="tab col s12 m6 l3"><a href="#set3">{{ 'config.tab_menu.user_info'|trans }}</a></li>
17 <li class="tab col s12 m6 l3"><a href="#set4">{{ 'config.tab_menu.password'|trans }}</a></li> 17 <li class="tab col s12 m6 l3"><a href="#set4">{{ 'config.tab_menu.password'|trans }}</a></li>
18 <li class="tab col s12 m6 l3"><a href="#set5">{{ 'config.tab_menu.rules'|trans }}</a></li> 18 <li class="tab col s12 m6 l3"><a href="#set5">{{ 'config.tab_menu.rules'|trans }}</a></li>
19 <li class="tab col s12 m6 l3"><a href="#set6">{{ 'config.tab_menu.reset'|trans }}</a></li>
19 </ul> 20 </ul>
20 </div> 21 </div>
21 22
@@ -111,8 +112,7 @@
111 <img id="androidQrcode" class="hide-on-med-and-down" /> 112 <img id="androidQrcode" class="hide-on-med-and-down" />
112 </div> 113 </div>
113 <script> 114 <script>
114 const imgBase64 = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}'); 115 document.getElementById('androidQrcode').src = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}');
115 document.getElementById('androidQrcode').src = imgBase64;
116 </script> 116 </script>
117 </div> 117 </div>
118 118
@@ -122,42 +122,43 @@
122 </div> 122 </div>
123 123
124 <div id="set2" class="col s12"> 124 <div id="set2" class="col s12">
125 {{ form_start(form.rss) }} 125 {{ form_start(form.feed) }}
126 {{ form_errors(form.rss) }} 126 {{ form_errors(form.feed) }}
127 127
128 <div class="row"> 128 <div class="row">
129 <div class="input-field col s12"> 129 <div class="input-field col s12">
130 {{ 'config.form_rss.description'|trans }} 130 {{ 'config.form_feed.description'|trans }}
131 </div> 131 </div>
132 </div> 132 </div>
133 133
134 <div class="row"> 134 <div class="row">
135 <div class="col s12"> 135 <div class="col s12">
136 <h6 class="grey-text">{{ 'config.form_rss.token_label'|trans }}</h6> 136 <h6 class="grey-text">{{ 'config.form_feed.token_label'|trans }}</h6>
137 <div> 137 <div>
138 {% if rss.token %} 138 {% if feed.token %}
139 {{ rss.token }} 139 {{ feed.token }}
140 {% else %} 140 {% else %}
141 <em>{{ 'config.form_rss.no_token'|trans }}</em> 141 <em>{{ 'config.form_feed.no_token'|trans }}</em>
142 {% endif %} 142 {% endif %}
143 – <a href="{{ path('generate_token') }}"> 143
144 {% if rss.token %} 144 {% if feed.token %}
145 {{ 'config.form_rss.token_reset'|trans }} 145 – <a href="{{ path('generate_token') }}">{{ 'config.form_feed.token_reset'|trans }}</a>
146 – <a href="{{ path('revoke_token') }}">{{ 'config.form_feed.token_revoke'|trans }}</a>
146 {% else %} 147 {% else %}
147 {{ 'config.form_rss.token_create'|trans }} 148 – <a href="{{ path('generate_token') }}">{{ 'config.form_feed.token_create'|trans }}</a>
148 {% endif %}</a> 149 {% endif %}
149 </div> 150 </div>
150 </div> 151 </div>
151 </div> 152 </div>
152 {% if rss.token %} 153 {% if feed.token %}
153 <div class="row"> 154 <div class="row">
154 <div class="col s12"> 155 <div class="col s12">
155 <h6 class="grey-text">{{ 'config.form_rss.rss_links'|trans }}</h6> 156 <h6 class="grey-text">{{ 'config.form_feed.feed_links'|trans }}</h6>
156 <ul> 157 <ul>
157 <li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.unread'|trans }}</a></li> 158 <li><a href="{{ path('unread_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.unread'|trans }}</a></li>
158 <li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.starred'|trans }}</a></li> 159 <li><a href="{{ path('starred_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.starred'|trans }}</a></li>
159 <li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.archive'|trans }}</a></li> 160 <li><a href="{{ path('archive_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.archive'|trans }}</a></li>
160 <li><a href="{{ path('all_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.all'|trans }}</a></li> 161 <li><a href="{{ path('all_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.all'|trans }}</a></li>
161 </ul> 162 </ul>
162 </div> 163 </div>
163 </div> 164 </div>
@@ -165,14 +166,14 @@
165 166
166 <div class="row"> 167 <div class="row">
167 <div class="input-field col s12"> 168 <div class="input-field col s12">
168 {{ form_label(form.rss.rss_limit) }} 169 {{ form_label(form.feed.feed_limit) }}
169 {{ form_errors(form.rss.rss_limit) }} 170 {{ form_errors(form.feed.feed_limit) }}
170 {{ form_widget(form.rss.rss_limit) }} 171 {{ form_widget(form.feed.feed_limit) }}
171 </div> 172 </div>
172 </div> 173 </div>
173 174
174 {{ form_widget(form.rss.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }} 175 {{ form_widget(form.feed.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
175 {{ form_rest(form.rss) }} 176 {{ form_rest(form.feed) }}
176 </form> 177 </form>
177 </div> 178 </div>
178 179
@@ -181,6 +182,15 @@
181 {{ form_errors(form.user) }} 182 {{ form_errors(form.user) }}
182 183
183 <div class="row"> 184 <div class="row">
185 <div class="col s12">
186 <h6 class="grey-text">{{ 'config.form_user.login_label'|trans }}</h6>
187 <div>
188 {{ app.user.username }}
189 </div>
190 </div>
191 </div>
192
193 <div class="row">
184 <div class="input-field col s12"> 194 <div class="input-field col s12">
185 {{ form_label(form.user.name) }} 195 {{ form_label(form.user.name) }}
186 {{ form_errors(form.user.name) }} 196 {{ form_errors(form.user.name) }}
@@ -196,59 +206,42 @@
196 </div> 206 </div>
197 </div> 207 </div>
198 208
199 {% if twofactor_auth %} 209 {{ form_widget(form.user.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
200 <div class="row">
201 <div class="input-field col s11">
202 {{ 'config.form_user.two_factor_description'|trans }}
203
204 <br />
205 210
206 {{ form_widget(form.user.twoFactorAuthentication) }} 211 {% if twofactor_auth %}
207 {{ form_label(form.user.twoFactorAuthentication) }} 212 <br/>
208 {{ form_errors(form.user.twoFactorAuthentication) }} 213 <br/>
209 </div> 214 <div class="row">
210 <div class="input-field col s1"> 215 <h5>{{ 'config.otp.page_title'|trans }}</h5>
211 <a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_user.help_twoFactorAuthentication'|trans }}"> 216
212 <i class="material-icons">live_help</i> 217 <p>{{ 'config.form_user.two_factor_description'|trans }}</p>
213 </a> 218
219 <table>
220 <thead>
221 <tr>
222 <th>{{ 'config.form_user.two_factor.table_method'|trans }}</th>
223 <th>{{ 'config.form_user.two_factor.table_state'|trans }}</th>
224 <th>{{ 'config.form_user.two_factor.table_action'|trans }}</th>
225 </tr>
226 </thead>
227
228 <tbody>
229 <tr>
230 <td>{{ 'config.form_user.two_factor.emailTwoFactor_label'|trans }}</td>
231 <td>{% if app.user.isEmailTwoFactor %}<b>{{ 'config.form_user.two_factor.state_enabled'|trans }}</b>{% else %}{{ 'config.form_user.two_factor.state_disabled'|trans }}{% endif %}</td>
232 <td><a href="{{ path('config_otp_email') }}" class="waves-effect waves-light btn{% if app.user.isEmailTwoFactor %} disabled{% endif %}">{{ 'config.form_user.two_factor.action_email'|trans }}</a></td>
233 </tr>
234 <tr>
235 <td>{{ 'config.form_user.two_factor.googleTwoFactor_label'|trans }}</td>
236 <td>{% if app.user.isGoogleTwoFactor %}<b>{{ 'config.form_user.two_factor.state_enabled'|trans }}</b>{% else %}{{ 'config.form_user.two_factor.state_disabled'|trans }}{% endif %}</td>
237 <td><a href="{{ path('config_otp_app') }}" class="waves-effect waves-light btn{% if app.user.isGoogleTwoFactor %} disabled{% endif %}">{{ 'config.form_user.two_factor.action_app'|trans }}</a></td>
238 </tr>
239 </tbody>
240 </table>
214 </div> 241 </div>
215 </div>
216 {% endif %} 242 {% endif %}
217
218 {{ form_widget(form.user.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
219 {{ form_widget(form.user._token) }} 243 {{ form_widget(form.user._token) }}
220 </form> 244 </form>
221
222 <br /><hr /><br />
223
224 <div class="row">
225 <h5>{{ 'config.reset.title'|trans }}</h5>
226 <p>{{ 'config.reset.description'|trans }}</p>
227 <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
228 {{ 'config.reset.annotations'|trans }}
229 </a>
230 <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
231 {{ 'config.reset.tags'|trans }}
232 </a>
233 <a href="{{ path('config_reset', { type: 'archived'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
234 {{ 'config.reset.archived'|trans }}
235 </a>
236 <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
237 {{ 'config.reset.entries'|trans }}
238 </a>
239 </div>
240
241 {% if enabled_users > 1 %}
242 <br /><hr /><br />
243
244 <div class="row">
245 <h5>{{ 'config.form_user.delete.title'|trans }}</h5>
246 <p>{{ 'config.form_user.delete.description'|trans }}</p>
247 <a href="{{ path('delete_account') }}" onclick="return confirm('{{ 'config.form_user.delete.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red delete-account">
248 {{ 'config.form_user.delete.button'|trans }}
249 </a>
250 </div>
251 {% endif %}
252 </div> 245 </div>
253 246
254 <div id="set4" class="col s12"> 247 <div id="set4" class="col s12">
@@ -314,28 +307,77 @@
314 </div> 307 </div>
315 {% endif %} 308 {% endif %}
316 309
317 {{ form_start(form.new_tagging_rule) }} 310 <ul class="row">
318 {{ form_errors(form.new_tagging_rule) }} 311 <li class="col l6 m6 s12">
319 312 <div class="card">
320 <div class="row"> 313 <div class="card-content">
321 <div class="input-field col s12"> 314 <span class="card-title">{{ 'config.form_rules.card.new_tagging_rule'|trans }}</span>
322 {{ form_label(form.new_tagging_rule.rule) }} 315
323 {{ form_errors(form.new_tagging_rule.rule) }} 316 {{ form_start(form.new_tagging_rule) }}
324 {{ form_widget(form.new_tagging_rule.rule) }} 317 {{ form_errors(form.new_tagging_rule) }}
318
319 <div class="row">
320 <div class="input-field col s12">
321 {{ form_label(form.new_tagging_rule.rule) }}
322 {{ form_errors(form.new_tagging_rule.rule) }}
323 {{ form_widget(form.new_tagging_rule.rule) }}
324 </div>
325 </div>
326
327 <div class="row">
328 <div class="input-field col s12">
329 {{ form_label(form.new_tagging_rule.tags) }}
330 {{ form_errors(form.new_tagging_rule.tags) }}
331 {{ form_widget(form.new_tagging_rule.tags) }}
332 </div>
333 </div>
334
335 {{ form_widget(form.new_tagging_rule.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
336 {{ form_rest(form.new_tagging_rule) }}
337 </form>
338 </div>
325 </div> 339 </div>
326 </div> 340 </li>
327 341 <li class="col l6 m6 s12">
328 <div class="row"> 342 <div class="card z-depth-1">
329 <div class="input-field col s12"> 343 <div class="card-content">
330 {{ form_label(form.new_tagging_rule.tags) }} 344 <span class="card-title">{{ 'config.form_rules.card.import_tagging_rules'|trans }}</span>
331 {{ form_errors(form.new_tagging_rule.tags) }} 345 <p>{{ 'config.form_rules.card.import_tagging_rules_detail'|trans }}</p>
332 {{ form_widget(form.new_tagging_rule.tags) }} 346 {{ form_start(form.import_tagging_rule) }}
347 {{ form_errors(form.import_tagging_rule) }}
348 <div class="row">
349 <div class="file-field input-field col s12">
350 {{ form_errors(form.import_tagging_rule.file) }}
351 <div class="btn">
352 <span>{{ form.import_tagging_rule.file.vars.label|trans }}</span>
353 {{ form_widget(form.import_tagging_rule.file) }}
354 </div>
355 <div class="file-path-wrapper">
356 <input class="file-path validate" type="text">
357 </div>
358 </div>
359 </div>
360
361 {{ form_widget(form.import_tagging_rule.import, { 'attr': {'class': 'btn waves-effect waves-light'} }) }}
362
363 {{ form_rest(form.import_tagging_rule) }}
364 </form>
365 </div>
333 </div> 366 </div>
334 </div> 367 </li>
335 368 {% if app.user.config.taggingRules is not empty %}
336 {{ form_widget(form.new_tagging_rule.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }} 369 <li class="col l6 m6 s12">
337 {{ form_rest(form.new_tagging_rule) }} 370 <div class="card z-depth-1">
338 </form> 371 <div class="card-content">
372 <span class="card-title">{{ 'config.form_rules.card.export_tagging_rules'|trans }}</span>
373 <p>{{ 'config.form_rules.card.export_tagging_rules_detail'|trans }}</p>
374 <br/>
375 <p><a href="{{ path('export_tagging_rule') }}" class="waves-effect waves-light btn">{{ 'config.form_rules.export'|trans }}</a></p>
376 </div>
377 </div>
378 </li>
379 {% endif %}
380 </ul>
339 381
340 <div class="row"> 382 <div class="row">
341 <div class="input-field col s12"> 383 <div class="input-field col s12">
@@ -422,6 +464,37 @@
422 </div> 464 </div>
423 </div> 465 </div>
424 </div> 466 </div>
467
468 <div id="set6" class="col s12">
469 <div class="row">
470 <h5>{{ 'config.reset.title'|trans }}</h5>
471 <p>{{ 'config.reset.description'|trans }}</p>
472 <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
473 {{ 'config.reset.annotations'|trans }}
474 </a>
475 <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
476 {{ 'config.reset.tags'|trans }}
477 </a>
478 <a href="{{ path('config_reset', { type: 'archived'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
479 {{ 'config.reset.archived'|trans }}
480 </a>
481 <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
482 {{ 'config.reset.entries'|trans }}
483 </a>
484 </div>
485
486 {% if enabled_users > 1 %}
487 <br /><hr /><br />
488
489 <div class="row">
490 <h5>{{ 'config.form_user.delete.title'|trans }}</h5>
491 <p>{{ 'config.form_user.delete.description'|trans }}</p>
492 <a href="{{ path('delete_account') }}" onclick="return confirm('{{ 'config.form_user.delete.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red delete-account">
493 {{ 'config.form_user.delete.button'|trans }}
494 </a>
495 </div>
496 {% endif %}
497 </div>
425 </div> 498 </div>
426 499
427 </div> 500 </div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig
new file mode 100644
index 00000000..6f405d7f
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig
@@ -0,0 +1,63 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{{ 'config.page_title'|trans }} > {{ 'config.otp.page_title'|trans }}{% endblock %}
4
5{% block content %}
6 <div class="row">
7 <div class="col s12">
8 <div class="card-panel settings">
9 <div class="row">
10 <h5>{{ 'config.otp.page_title'|trans }}</h5>
11
12 <ol>
13 <li>
14 <p>{{ 'config.otp.app.two_factor_code_description_1'|trans }}</p>
15 <p>{{ 'config.otp.app.two_factor_code_description_2'|trans }}</p>
16
17 <p>
18 <img id="2faQrcode" class="hide-on-med-and-down" />
19 <script>
20 document.getElementById('2faQrcode').src = jrQrcode.getQrBase64('{{ qr_code }}');
21 </script>
22 </p>
23 </li>
24 <li>
25 <p>{{ 'config.otp.app.two_factor_code_description_3'|trans }}</p>
26
27 <p><strong>{{ backupCodes|join("\n")|nl2br }}</strong></p>
28 </li>
29 <li>
30 <p>{{ 'config.otp.app.two_factor_code_description_4'|trans }}</p>
31
32 {% for flashMessage in app.session.flashbag.get("two_factor") %}
33 <div class="card-panel red darken-1 black-text">
34 {{ flashMessage|trans }}
35 </div>
36 {% endfor %}
37
38 <form class="form" action="{{ path("config_otp_app_check") }}" method="post">
39 <div class="card-content">
40 <div class="row">
41 <div class="input-field col s12">
42 <label for="_auth_code">{{ "auth_code"|trans({}, 'SchebTwoFactorBundle') }}</label>
43 <input id="_auth_code" type="text" autocomplete="off" name="_auth_code" />
44 </div>
45 </div>
46 </div>
47 <div class="card-action">
48 <a href="{{ path('config_otp_app_cancel') }}" class="waves-effect waves-light grey btn">
49 {{ 'config.otp.app.cancel'|trans }}
50 </a>
51 <button class="btn waves-effect waves-light" type="submit" name="send">
52 {{ 'config.otp.app.enable'|trans }}
53 <i class="material-icons right">send</i>
54 </button>
55 </div>
56 </form>
57 </li>
58 </ol>
59 </div>
60 </div>
61 </div>
62 </div>
63{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/Card/_content.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/Card/_content.html.twig
index 1f3cd1a7..1102a0bd 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/Card/_content.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/Card/_content.html.twig
@@ -8,8 +8,11 @@
8 8
9 <div class="{{ subClass|default('original grey-text') }}"> 9 <div class="{{ subClass|default('original grey-text') }}">
10 <a href="{{ entry.url|e }}" target="_blank" title="{{ entry.domainName|removeWww }}" class="tool grey-text">{{ entry.domainName|removeWww }}</a> 10 <a href="{{ entry.url|e }}" target="_blank" title="{{ entry.domainName|removeWww }}" class="tool grey-text">{{ entry.domainName|removeWww }}</a>
11 {% if withTags is defined %} 11 {% if withMetadata is defined %}
12 {% include "@WallabagCore/themes/material/Entry/_tags.html.twig" with {'tags': entry.tags | slice(0, 3), 'entryId': entry.id, 'listClass': ' hide-on-med-and-down'} only %} 12 {% include "@WallabagCore/themes/material/Entry/_tags.html.twig" with {'tags': entry.tags | slice(0, 3), 'entryId': entry.id, 'listClass': ' hide-on-med-and-down'} only %}
13 <div class="reading-time grey-text">
14 <div class="card-reading-time">{% include "@WallabagCore/themes/material/Entry/_reading_time.html.twig" with {'entry': entry} only %}</div>
15 </div>
13 {% endif %} 16 {% endif %}
14 </div> 17 </div>
15</div> 18</div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_actions.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_actions.html.twig
index 827f09d9..be764e10 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_actions.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_actions.html.twig
@@ -1,9 +1,11 @@
1<div class="card-action"> 1<div class="card-action">
2 <span class="reading-time grey-text"> 2 <div class="reading-time grey-text">
3 {% include "@WallabagCore/themes/material/Entry/_reading_time.html.twig" with {'entry': entry} only %} 3 <div class="card-reading-time">{% include "@WallabagCore/themes/material/Entry/_reading_time.html.twig" with {'entry': entry} only %}</div>
4 <i class="material-icons hide-on-med-and-down" title="{{ 'entry.view.created_at'|trans }}">today</i> 4 <div class="card-created-at">
5 <span class="hide-on-med-and-down">&nbsp;{{ entry.createdAt|date('Y-m-d') }}</span> 5 <i class="material-icons" title="{{ 'entry.view.created_at'|trans }}">today</i>
6 </span> 6 <span>&nbsp;{{ entry.createdAt|date('Y-m-d') }}</span>
7 </div>
8 </div>
7 9
8 <ul class="tools right"> 10 <ul class="tools right">
9 <li> 11 <li>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig
index 1c00f2fa..6a095035 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig
@@ -5,7 +5,7 @@
5 <span class="preview{{ previewClassModifier }}" style="background-image: url({{ entry.previewPicture | default(asset('wallassets/themes/_global/img/logo-square.svg')) }})"></span> 5 <span class="preview{{ previewClassModifier }}" style="background-image: url({{ entry.previewPicture | default(asset('wallassets/themes/_global/img/logo-square.svg')) }})"></span>
6 </a> 6 </a>
7 </div> 7 </div>
8 {% include "@WallabagCore/themes/material/Entry/Card/_content.html.twig" with {'entry': entry, 'withTags': true, 'subClass': 'metadata'} only %} 8 {% include "@WallabagCore/themes/material/Entry/Card/_content.html.twig" with {'entry': entry, 'withMetadata': true, 'subClass': 'metadata'} only %}
9 <ul class="tools-list hide-on-small-only"> 9 <ul class="tools-list hide-on-small-only">
10 <li> 10 <li>
11 <a title="{{ 'entry.list.toogle_as_read'|trans }}" class="tool grey-text" href="{{ path('archive_entry', { 'id': entry.id }) }}"><i class="material-icons">{% if entry.isArchived == 0 %}done{% else %}unarchive{% endif %}</i></a> 11 <a title="{{ 'entry.list.toogle_as_read'|trans }}" class="tool grey-text" href="{{ path('archive_entry', { 'id': entry.id }) }}"><i class="material-icons">{% if entry.isArchived == 0 %}done{% else %}unarchive{% endif %}</i></a>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_reading_time.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_reading_time.html.twig
index 6ba18768..b7167e95 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_reading_time.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_reading_time.html.twig
@@ -1,4 +1,4 @@
1{% set readingTime = entry.readingTime / app.user.config.readingSpeed %} 1{% set readingTime = entry.readingTime / app.user.config.readingSpeed * 200 %}
2<i class="material-icons">timer</i> 2<i class="material-icons">timer</i>
3{% if readingTime > 0 %} 3{% if readingTime > 0 %}
4 <span>{{ 'entry.list.reading_time_minutes_short'|trans({'%readingTime%': readingTime|round}) }}</span> 4 <span>{{ 'entry.list.reading_time_minutes_short'|trans({'%readingTime%': readingTime|round}) }}</span>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig
index a137f3c3..3906e1e0 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig
@@ -2,8 +2,8 @@
2 2
3{% block head %} 3{% block head %}
4 {{ parent() }} 4 {{ parent() }}
5 {% if tag is defined and app.user.config.rssToken %} 5 {% if tag is defined and app.user.config.feedToken %}
6 <link rel="alternate" type="application/rss+xml" href="{{ path('tag_rss', {'username': app.user.username, 'token': app.user.config.rssToken, 'slug': tag.slug}) }}" /> 6 <link rel="alternate" type="application/atom+xml" href="{{ path('tag_feed', {'username': app.user.username, 'token': app.user.config.feedToken, 'slug': tag.slug}) }}" />
7 {% endif %} 7 {% endif %}
8{% endblock %} 8{% endblock %}
9 9
@@ -21,12 +21,15 @@
21{% block content %} 21{% block content %}
22 {% set listMode = app.user.config.listMode %} 22 {% set listMode = app.user.config.listMode %}
23 {% set currentRoute = app.request.attributes.get('_route') %} 23 {% set currentRoute = app.request.attributes.get('_route') %}
24 {% if currentRoute == 'homepage' %}
25 {% set currentRoute = 'unread' %}
26 {% endif %}
24 <div class="results"> 27 <div class="results">
25 <div class="nb-results"> 28 <div class="nb-results">
26 {{ 'entry.list.number_on_the_page'|transchoice(entries.count) }} 29 {{ 'entry.list.number_on_the_page'|transchoice(entries.count) }}
27 <a href="{{ path('switch_view_mode') }}"><i class="material-icons">{% if listMode == 0 %}view_list{% else %}view_module{% endif %}</i></a> 30 <a href="{{ path('switch_view_mode') }}"><i class="material-icons">{% if listMode == 0 %}view_list{% else %}view_module{% endif %}</i></a>
28 {% if app.user.config.rssToken %} 31 {% if app.user.config.feedToken %}
29 {% include "@WallabagCore/themes/common/Entry/_rss_link.html.twig" %} 32 {% include "@WallabagCore/themes/common/Entry/_feed_link.html.twig" %}
30 {% endif %} 33 {% endif %}
31 </div> 34 </div>
32 {% if entries.getNbPages > 1 %} 35 {% if entries.getNbPages > 1 %}
@@ -60,16 +63,13 @@
60 {% if tag is defined %} 63 {% if tag is defined %}
61 {% set currentTag = tag.slug %} 64 {% set currentTag = tag.slug %}
62 {% endif %} 65 {% endif %}
63 {% if currentRoute == 'homepage' %}
64 {% set currentRoute = 'unread' %}
65 {% endif %}
66 <h4 class="center">{{ 'entry.list.export_title'|trans }}</h4> 66 <h4 class="center">{{ 'entry.list.export_title'|trans }}</h4>
67 <ul> 67 <ul>
68 {% if craue_setting('export_epub') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'epub', 'tag' : currentTag }) }}">EPUB</a></li>{% endif %} 68 {% if craue_setting('export_epub') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'epub', 'tag' : currentTag }) }}">EPUB</a></li>{% endif %}
69 {% if craue_setting('export_mobi') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'mobi', 'tag' : currentTag }) }}">MOBI</a></li>{% endif %} 69 {% if craue_setting('export_mobi') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'mobi', 'tag' : currentTag }) }}">MOBI</a></li>{% endif %}
70 {% if craue_setting('export_pdf') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'pdf', 'tag' : currentTag }) }}">PDF</a></li>{% endif %} 70 {% if craue_setting('export_pdf') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'pdf', 'tag' : currentTag }) }}">PDF</a></li>{% endif %}
71 {% if craue_setting('export_csv') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'json', 'tag' : currentTag }) }}">JSON</a></li>{% endif %} 71 {% if craue_setting('export_json') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'json', 'tag' : currentTag }) }}">JSON</a></li>{% endif %}
72 {% if craue_setting('export_json') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'csv', 'tag' : currentTag }) }}">CSV</a></li>{% endif %} 72 {% if craue_setting('export_csv') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'csv', 'tag' : currentTag }) }}">CSV</a></li>{% endif %}
73 {% if craue_setting('export_txt') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'txt', 'tag' : currentTag }) }}">TXT</a></li>{% endif %} 73 {% if craue_setting('export_txt') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'txt', 'tag' : currentTag }) }}">TXT</a></li>{% endif %}
74 {% if craue_setting('export_xml') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'xml', 'tag' : currentTag }) }}">XML</a></li>{% endif %} 74 {% if craue_setting('export_xml') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'xml', 'tag' : currentTag }) }}">XML</a></li>{% endif %}
75 </ul> 75 </ul>
@@ -83,6 +83,12 @@
83 <h4 class="center">{{ 'entry.filters.title'|trans }}</h4> 83 <h4 class="center">{{ 'entry.filters.title'|trans }}</h4>
84 84
85 <div class="row"> 85 <div class="row">
86 {% if currentRoute != 'untagged' and nbEntriesUntagged != 0 %}
87 <div class="col s12 center-align">
88 <a href="{{ path('untagged') }}">{{ 'tag.list.see_untagged_entries'|trans }} ({{nbEntriesUntagged}})</a>
89 </div>
90 {% endif %}
91
86 <div class="col s12"> 92 <div class="col s12">
87 <label>{{ 'entry.filters.status_label'|trans }}</label> 93 <label>{{ 'entry.filters.status_label'|trans }}</label>
88 </div> 94 </div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
index c6c19de6..e23fa0e1 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
@@ -8,7 +8,7 @@
8 <div class="progress"> 8 <div class="progress">
9 <div class="determinate"></div> 9 <div class="determinate"></div>
10 </div> 10 </div>
11 <nav class="hide-on-large-only"> 11 <nav class="hide-on-large-only js-entry-nav-top">
12 <div class="nav-panel-item cyan darken-1"> 12 <div class="nav-panel-item cyan darken-1">
13 <ul> 13 <ul>
14 <li> 14 <li>
@@ -127,7 +127,7 @@
127 {% endif %} 127 {% endif %}
128 {% if craue_setting('share_twitter') %} 128 {% if craue_setting('share_twitter') %}
129 <li> 129 <li>
130 <a href="https://twitter.com/home?status={{entry.title|striptags|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" rel="noopener" class="tool icon-twitter" title="twitter"> 130 <a href="https://twitter.com/share?text={{entry.title|striptags|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" rel="noopener" class="tool icon-twitter" title="twitter">
131 <span>twitter</span> 131 <span>twitter</span>
132 </a> 132 </a>
133 </li> 133 </li>
@@ -209,7 +209,7 @@
209 </li> 209 </li>
210 210
211 <li class="bold"> 211 <li class="bold">
212 <a class="waves-effect collapsible-header" href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&amp;body={{ entry.url|url_encode }}" title="{{ 'entry.view.left_menu.problem.description'|trans }}"> 212 <a class="waves-effect collapsible-header" href="mailto:siteconfig@wallabag.org?subject=Wrong%20display%20in%20wallabag&amp;body={{ entry.url|url_encode }}" title="{{ 'entry.view.left_menu.problem.description'|trans }}">
213 <i class="material-icons small">error</i> 213 <i class="material-icons small">error</i>
214 <span>{{ 'entry.view.left_menu.problem.label'|trans }}</span> 214 <span>{{ 'entry.view.left_menu.problem.label'|trans }}</span>
215 </a> 215 </a>
@@ -223,7 +223,7 @@
223{% block content %} 223{% block content %}
224 <div id="article"> 224 <div id="article">
225 <header class="mbm"> 225 <header class="mbm">
226 <h1>{{ entry.title|striptags|default('entry.default_title'|trans)|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1> 226 <h1><span{% if entry.language is defined and entry.language is not null %} lang="{{ entry.getHTMLLanguage() }}"{% endif %}>{{ entry.title|striptags|default('entry.default_title'|trans)|raw }}</span> <a href="{{ path('edit', { 'id': entry.id }) }}" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1>
227 </header> 227 </header>
228 <aside> 228 <aside>
229 <div class="tools"> 229 <div class="tools">
@@ -250,13 +250,13 @@
250 </li> 250 </li>
251 {% endif %} 251 {% endif %}
252 <li> 252 <li>
253 <i class="material-icons link">link</i> 253 <i class="material-icons">link</i>
254 <a href="{{ entry.url|e }}" target="_blank" rel="noopener" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|striptags }}" class="tool"> 254 <a href="{{ entry.url|e }}" target="_blank" rel="noopener" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|striptags }}" class="tool">
255 {{ entry.domainName|removeWww }} 255 {{ entry.domainName|removeWww }}
256 </a> 256 </a>
257 </li> 257 </li>
258 <li> 258 <li>
259 <i class="material-icons link">comment</i> 259 <i class="material-icons">comment</i>
260 {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }} 260 {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }}
261 </li> 261 </li>
262 {% if entry.originUrl is not empty %} 262 {% if entry.originUrl is not empty %}
@@ -276,12 +276,12 @@
276 </div> 276 </div>
277 277
278 </aside> 278 </aside>
279 <article> 279 <article{% if entry.language is defined and entry.language is not null %} lang="{{ entry.getHTMLLanguage() }}"{% endif %}>
280 {{ entry.content | raw }} 280 {{ entry.content | raw }}
281 </article> 281 </article>
282 282
283 <div class="fixed-action-btn horizontal click-to-toggle hide-on-large-only"> 283 <div class="fixed-action-btn js-fixed-action-btn horizontal click-to-toggle hide-on-large-only">
284 <a class="btn-floating btn-large"> 284 <a class="btn-floating btn-large" data-toggle="actions">
285 <i class="material-icons">menu</i> 285 <i class="material-icons">menu</i>
286 </a> 286 </a>
287 <ul> 287 <ul>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/new_form.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/new_form.html.twig
index e0d5e794..4cf81167 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/new_form.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/new_form.html.twig
@@ -2,14 +2,14 @@
2 {% if form_errors(form) %} 2 {% if form_errors(form) %}
3 <span class="black-text">{{ form_errors(form) }}</span> 3 <span class="black-text">{{ form_errors(form) }}</span>
4 {% endif %} 4 {% endif %}
5 <button type="submit" class="nav-form-button"><i class="material-icons add">add</i></button> 5 <button type="submit" class="nav-form-button" aria-label="add"><i class="material-icons add" aria-hidden="true"></i></button>
6 6
7 {% if form_errors(form.url) %} 7 {% if form_errors(form.url) %}
8 <span class="black-text">{{ form_errors(form.url) }}</span> 8 <span class="black-text">{{ form_errors(form.url) }}</span>
9 {% endif %} 9 {% endif %}
10 10
11 {{ form_widget(form.url, { 'attr': {'autocomplete': 'off', 'placeholder': 'entry.new.placeholder'} }) }} 11 {{ form_widget(form.url, { 'attr': {'autocomplete': 'off', 'placeholder': 'entry.new.placeholder'} }) }}
12 <i class="material-icons close">clear</i> 12 <i class="material-icons close" aria-label="clear" role="button"></i>
13 13
14 {{ form_rest(form) }} 14 {{ form_rest(form) }}
15</form> 15</form>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/search_form.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/search_form.html.twig
index ba1b3aac..0ae8b0b3 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/search_form.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/search_form.html.twig
@@ -2,7 +2,7 @@
2 {% if form_errors(form) %} 2 {% if form_errors(form) %}
3 <span class="black-text">{{ form_errors(form) }}</span> 3 <span class="black-text">{{ form_errors(form) }}</span>
4 {% endif %} 4 {% endif %}
5 <button type="submit" class="nav-form-button"><i class="material-icons search">search</i></button> 5 <button type="submit" class="nav-form-button" aria-label="search"><i class="material-icons search" aria-hidden="true"></i></button>
6 6
7 {% if form_errors(form.term) %} 7 {% if form_errors(form.term) %}
8 <span class="black-text">{{ form_errors(form.term) }}</span> 8 <span class="black-text">{{ form_errors(form.term) }}</span>
@@ -11,7 +11,7 @@
11 <input type="hidden" name="currentRoute" value="{{ currentRoute }}" /> 11 <input type="hidden" name="currentRoute" value="{{ currentRoute }}" />
12 12
13 {{ form_widget(form.term, { 'attr': {'autocomplete': 'off', 'placeholder': 'entry.search.placeholder'} }) }} 13 {{ form_widget(form.term, { 'attr': {'autocomplete': 'off', 'placeholder': 'entry.search.placeholder'} }) }}
14 <i class="material-icons close">clear</i> 14 <i class="material-icons close" aria-label="clear" role="button"></i>
15 15
16 {{ form_rest(form) }} 16 {{ form_rest(form) }}
17</form> 17</form>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Tag/tags.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Tag/tags.html.twig
index c15b5146..0a3475ef 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Tag/tags.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Tag/tags.html.twig
@@ -13,9 +13,20 @@
13 <ul class="card-tag-labels"> 13 <ul class="card-tag-labels">
14 {% for tag in tags %} 14 {% for tag in tags %}
15 <li title="{{tag.label}} ({{ tag.nbEntries }})" id="tag-{{ tag.id }}"> 15 <li title="{{tag.label}} ({{ tag.nbEntries }})" id="tag-{{ tag.id }}">
16 <a href="{{ path('tag_entries', {'slug': tag.slug}) }}" class="card-tag-link">{{tag.label}} ({{ tag.nbEntries }})</a> 16 <a href="{{ path('tag_entries', {'slug': tag.slug}) }}" class="card-tag-link" data-handle="tag-link">
17 {% if app.user.config.rssToken %} 17 {{ tag.label }}&nbsp;({{ tag.nbEntries }})
18 <a rel="alternate" type="application/rss+xml" href="{{ path('tag_rss', {'username': app.user.username, 'token': app.user.config.rssToken, 'slug': tag.slug}) }}" class="card-tag-rss"><i class="material-icons">rss_feed</i></a> 18 </a>
19 {% if renameForms is defined and renameForms[tag.id] is defined %}
20 <form class="card-tag-form hidden" data-handle="tag-rename-form" action="{{ path('tag_rename', {'slug': tag.slug})}}" method="POST">
21 {{ form_widget(renameForms[tag.id].label, {'attr': {'value': tag.label}}) }}
22 {{ form_rest(renameForms[tag.id]) }}
23 </form>
24 <a class="card-tag-rename" data-handler="tag-rename" href="javascript:void(0);">
25 <i class="material-icons">mode_edit</i>
26 </a>
27 {% endif %}
28 {% if app.user.config.feedToken %}
29 <a rel="alternate" type="application/atom+xml" href="{{ path('tag_feed', {'username': app.user.username, 'token': app.user.config.feedToken, 'slug': tag.slug}) }}" class="card-tag-rss"><i class="material-icons">rss_feed</i></a>
19 {% endif %} 30 {% endif %}
20 </li> 31 </li>
21 {% endfor %} 32 {% endfor %}
@@ -23,6 +34,10 @@
23 </div> 34 </div>
24 35
25 <div> 36 <div>
26 <a href="{{ path('untagged') }}">{{ 'tag.list.see_untagged_entries'|trans }}</a> 37 {% if nbEntriesUntagged == 0 %}
38 {{ 'tag.list.no_untagged_entries'|trans }}
39 {% else %}
40 <a href="{{ path('untagged') }}">{{ 'tag.list.see_untagged_entries'|trans }} ({{nbEntriesUntagged}})</a>
41 {% endif %}
27 </div> 42 </div>
28{% endblock %} 43{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
index 052a8c01..c51d07fc 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
@@ -46,6 +46,8 @@
46 {% set activeRoute = 'starred' %} 46 {% set activeRoute = 'starred' %}
47 {% elseif currentRoute == 'unread' or currentRoute == 'homepage' or currentRouteFromQueryParams == 'unread' %} 47 {% elseif currentRoute == 'unread' or currentRoute == 'homepage' or currentRouteFromQueryParams == 'unread' %}
48 {% set activeRoute = 'unread' %} 48 {% set activeRoute = 'unread' %}
49 {% elseif currentRoute == 'untagged' %}
50 {% set activeRoute = 'untagged' %}
49 {% endif %} 51 {% endif %}
50 52
51 <li class="bold {% if activeRoute == 'unread' %}active{% endif %}"> 53 <li class="bold {% if activeRoute == 'unread' %}active{% endif %}">
@@ -89,6 +91,9 @@
89 <li class="bold {% if currentRoute == 'howto' %}active{% endif %}"> 91 <li class="bold {% if currentRoute == 'howto' %}active{% endif %}">
90 <a class="waves-effect" href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a> 92 <a class="waves-effect" href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a>
91 </li> 93 </li>
94 <li class="bold {% if currentRoute == 'quickstart' %}active{% endif %}">
95 <a class="waves-effect" href="{{ path('quickstart') }}">{{ 'menu.left.quickstart'|trans }}</a>
96 </li>
92 <li class="bold"> 97 <li class="bold">
93 <a class="waves-effect icon icon-power" href="{{ path('fos_user_security_logout') }}">{{ 'menu.left.logout'|trans }}</a> 98 <a class="waves-effect icon icon-power" href="{{ path('fos_user_security_logout') }}">{{ 'menu.left.logout'|trans }}</a>
94 </li> 99 </li>
@@ -113,6 +118,13 @@
113 <i class="material-icons">search</i> 118 <i class="material-icons">search</i>
114 </a> 119 </a>
115 </li> 120 </li>
121 {% if activeRoute %}
122 <li id="button_random">
123 <a class="waves-effect tooltipped js-random-action" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.random_entry'|trans }}" href="{{ path('random_entry', { 'type': activeRoute }) }}">
124 <i class="material-icons">casino</i>
125 </a>
126 </li>
127 {% endif %}
116 <li id="button_filters"> 128 <li id="button_filters">
117 <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"> 129 <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">
118 <i class="material-icons">filter_list</i> 130 <i class="material-icons">filter_list</i>
@@ -125,7 +137,7 @@
125 </li> 137 </li>
126 </ul> 138 </ul>
127 </div> 139 </div>
128 {{ render(controller("WallabagCoreBundle:Entry:searchForm", {'currentRoute': app.request.attributes.get('_route')})) }} 140 {{ render(controller("WallabagCoreBundle:Entry:searchForm", {'currentRoute': currentRoute})) }}
129 {{ render(controller("WallabagCoreBundle:Entry:addEntryForm")) }} 141 {{ render(controller("WallabagCoreBundle:Entry:addEntryForm")) }}
130 </div> 142 </div>
131 </nav> 143 </nav>