diff options
Diffstat (limited to 'src/Wallabag/CoreBundle/Resources/views')
27 files changed, 626 insertions, 279 deletions
diff --git a/src/Wallabag/CoreBundle/Resources/views/base.html.twig b/src/Wallabag/CoreBundle/Resources/views/base.html.twig index aa388bcb..496b3fb6 100644 --- a/src/Wallabag/CoreBundle/Resources/views/base.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/base.html.twig | |||
@@ -1,13 +1,15 @@ | |||
1 | <!DOCTYPE html> | 1 | <!DOCTYPE html> |
2 | <!--[if lte IE 6]><html class="no-js ie6 ie67 ie678" lang="en"><![endif]--> | 2 | {% set lang = app.request.locale|default('') -%} |
3 | <!--[if lte IE 7]><html class="no-js ie7 ie67 ie678" lang="en"><![endif]--> | 3 | <!--[if lte IE 6]><html class="no-js ie6 ie67 ie678"{% if lang is not empty %} lang="{{ lang }}"{% endif %}><![endif]--> |
4 | <!--[if IE 8]><html class="no-js ie8 ie678" lang="en"><![endif]--> | 4 | <!--[if lte IE 7]><html class="no-js ie7 ie67 ie678"{% if lang is not empty %} lang="{{ lang }}"{% endif %}><![endif]--> |
5 | <!--[if gt IE 8]><html class="no-js" lang="en"><![endif]--> | 5 | <!--[if IE 8]><html class="no-js ie8 ie678"{% if lang is not empty %} lang="{{ lang }}"{% endif %}><![endif]--> |
6 | <html> | 6 | <!--[if gt IE 8]><html class="no-js"{% if lang is not empty %} lang="{{ lang }}"{% endif %}><![endif]--> |
7 | <html{% if lang is not empty %} lang="{{ lang }}"{% endif %}> | ||
7 | <head> | 8 | <head> |
8 | {% block head %} | 9 | {% block head %} |
9 | <meta name="viewport" content="initial-scale=1.0"> | 10 | <meta name="viewport" content="initial-scale=1.0"> |
10 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | 11 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
12 | <meta name="referrer" content="strict-origin-when-cross-origin"> | ||
11 | <!--[if IE]> | 13 | <!--[if IE]> |
12 | <meta http-equiv="X-UA-Compatible" content="IE=10"> | 14 | <meta http-equiv="X-UA-Compatible" content="IE=10"> |
13 | <![endif]--> | 15 | <![endif]--> |
@@ -42,6 +44,7 @@ | |||
42 | 44 | ||
43 | {% block css %} | 45 | {% block css %} |
44 | {% endblock %} | 46 | {% endblock %} |
47 | <link rel="stylesheet" href="{{ asset('custom.css') }}"> | ||
45 | {% block scripts %} | 48 | {% block scripts %} |
46 | <script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script> | 49 | <script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script> |
47 | <script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script> | 50 | <script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script> |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig index bcc57dac..f719bea2 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig | |||
@@ -86,8 +86,7 @@ | |||
86 | <br/> | 86 | <br/> |
87 | <img id="androidQrcode" /> | 87 | <img id="androidQrcode" /> |
88 | <script> | 88 | <script> |
89 | const imgBase64 = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}'); | 89 | document.getElementById('androidQrcode').src = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}'); |
90 | document.getElementById('androidQrcode').src = imgBase64; | ||
91 | </script> | 90 | </script> |
92 | </div> | 91 | </div> |
93 | </fieldset> | 92 | </fieldset> |
@@ -95,43 +94,42 @@ | |||
95 | {{ form_rest(form.config) }} | 94 | {{ form_rest(form.config) }} |
96 | </form> | 95 | </form> |
97 | 96 | ||
98 | <h2>{{ 'config.tab_menu.rss'|trans }}</h2> | 97 | <h2>{{ 'config.tab_menu.feed'|trans }}</h2> |
99 | 98 | ||
100 | {{ form_start(form.rss) }} | 99 | {{ form_start(form.feed) }} |
101 | {{ form_errors(form.rss) }} | 100 | {{ form_errors(form.feed) }} |
102 | 101 | ||
103 | <div class="row"> | 102 | <div class="row"> |
104 | {{ 'config.form_rss.description'|trans }} | 103 | {{ 'config.form_feed.description'|trans }} |
105 | </div> | 104 | </div> |
106 | 105 | ||
107 | <fieldset class="w500p inline"> | 106 | <fieldset class="w500p inline"> |
108 | <div class="row"> | 107 | <div class="row"> |
109 | <label>{{ 'config.form_rss.token_label'|trans }}</label> | 108 | <label>{{ 'config.form_feed.token_label'|trans }}</label> |
110 | {% if rss.token %} | 109 | {% if feed.token %} |
111 | {{ rss.token }} | 110 | {{ feed.token }} |
112 | {% else %} | 111 | {% else %} |
113 | <em>{{ 'config.form_rss.no_token'|trans }}</em> | 112 | <em>{{ 'config.form_feed.no_token'|trans }}</em> |
113 | {% endif %} | ||
114 | |||
115 | {% if feed.token %} | ||
116 | – <a href="{{ path('generate_token') }}">{{ 'config.form_feed.token_reset'|trans }}</a> | ||
117 | – <a href="{{ path('revoke_token') }}">{{ 'config.form_feed.token_revoke'|trans }}</a> | ||
118 | {% else %} | ||
119 | – <a href="{{ path('generate_token') }}">{{ 'config.form_feed.token_create'|trans }}</a> | ||
114 | {% endif %} | 120 | {% endif %} |
115 | – | ||
116 | <a href="{{ path('generate_token') }}"> | ||
117 | {% if rss.token %} | ||
118 | {{ 'config.form_rss.token_reset'|trans }} | ||
119 | {% else %} | ||
120 | {{ 'config.form_rss.token_create'|trans }} | ||
121 | {% endif %} | ||
122 | </a> | ||
123 | </div> | 121 | </div> |
124 | </fieldset> | 122 | </fieldset> |
125 | 123 | ||
126 | {% if rss.token %} | 124 | {% if feed.token %} |
127 | <fieldset class="w500p inline"> | 125 | <fieldset class="w500p inline"> |
128 | <div class="row"> | 126 | <div class="row"> |
129 | <label>{{ 'config.form_rss.rss_links'|trans }}</label> | 127 | <label>{{ 'config.form_feed.feed_links'|trans }}</label> |
130 | <ul> | 128 | <ul> |
131 | <li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.unread'|trans }}</a></li> | 129 | <li><a href="{{ path('unread_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.unread'|trans }}</a></li> |
132 | <li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.starred'|trans }}</a></li> | 130 | <li><a href="{{ path('starred_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.starred'|trans }}</a></li> |
133 | <li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.archive'|trans }}</a></li> | 131 | <li><a href="{{ path('archive_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.archive'|trans }}</a></li> |
134 | <li><a href="{{ path('all_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.all'|trans }}</a></li> | 132 | <li><a href="{{ path('all_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.all'|trans }}</a></li> |
135 | </ul> | 133 | </ul> |
136 | </div> | 134 | </div> |
137 | </fieldset> | 135 | </fieldset> |
@@ -139,19 +137,25 @@ | |||
139 | 137 | ||
140 | <fieldset class="w500p inline"> | 138 | <fieldset class="w500p inline"> |
141 | <div class="row"> | 139 | <div class="row"> |
142 | {{ form_label(form.rss.rss_limit) }} | 140 | {{ form_label(form.feed.feed_limit) }} |
143 | {{ form_errors(form.rss.rss_limit) }} | 141 | {{ form_errors(form.feed.feed_limit) }} |
144 | {{ form_widget(form.rss.rss_limit) }} | 142 | {{ form_widget(form.feed.feed_limit) }} |
145 | </div> | 143 | </div> |
146 | </fieldset> | 144 | </fieldset> |
147 | 145 | ||
148 | {{ form_rest(form.rss) }} | 146 | {{ form_rest(form.feed) }} |
149 | </form> | 147 | </form> |
150 | 148 | ||
151 | <h2>{{ 'config.tab_menu.user_info'|trans }}</h2> | 149 | <h2>{{ 'config.tab_menu.user_info'|trans }}</h2> |
152 | 150 | ||
153 | {{ form_start(form.user) }} | 151 | {{ form_start(form.user) }} |
154 | {{ form_errors(form.user) }} | 152 | {{ form_errors(form.user) }} |
153 | <fieldset class="w500p inline"> | ||
154 | <div class="row"> | ||
155 | <label>{{ 'config.form_user.login_label'|trans }}</label> | ||
156 | {{ app.user.username }} | ||
157 | </div> | ||
158 | </fieldset> | ||
155 | 159 | ||
156 | <fieldset class="w500p inline"> | 160 | <fieldset class="w500p inline"> |
157 | <div class="row"> | 161 | <div class="row"> |
@@ -169,52 +173,41 @@ | |||
169 | </div> | 173 | </div> |
170 | </fieldset> | 174 | </fieldset> |
171 | 175 | ||
176 | {{ form_widget(form.user.save) }} | ||
177 | |||
172 | {% if twofactor_auth %} | 178 | {% if twofactor_auth %} |
179 | <h5>{{ 'config.otp.page_title'|trans }}</h5> | ||
180 | |||
173 | <div class="row"> | 181 | <div class="row"> |
174 | {{ 'config.form_user.two_factor_description'|trans }} | 182 | {{ 'config.form_user.two_factor_description'|trans }} |
175 | </div> | 183 | </div> |
176 | 184 | ||
177 | <fieldset class="w500p inline"> | 185 | <table> |
178 | <div class="row"> | 186 | <thead> |
179 | {{ form_label(form.user.twoFactorAuthentication) }} | 187 | <tr> |
180 | {{ form_errors(form.user.twoFactorAuthentication) }} | 188 | <th>{{ 'config.form_user.two_factor.table_method'|trans }}</th> |
181 | {{ form_widget(form.user.twoFactorAuthentication) }} | 189 | <th>{{ 'config.form_user.two_factor.table_state'|trans }}</th> |
182 | </div> | 190 | <th>{{ 'config.form_user.two_factor.table_action'|trans }}</th> |
183 | <a href="#" title="{{ 'config.form_user.help_twoFactorAuthentication'|trans }}"> | 191 | </tr> |
184 | <i class="material-icons">live_help</i> | 192 | </thead> |
185 | </a> | ||
186 | </fieldset> | ||
187 | {% endif %} | ||
188 | 193 | ||
189 | <h2>{{ 'config.reset.title'|trans }}</h2> | 194 | <tbody> |
190 | <fieldset class="w500p inline"> | 195 | <tr> |
191 | <p>{{ 'config.reset.description'|trans }}</p> | 196 | <td>{{ 'config.form_user.two_factor.emailTwoFactor_label'|trans }}</td> |
192 | <ul> | 197 | <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> |
193 | <li> | 198 | <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> |
194 | <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | 199 | </tr> |
195 | {{ 'config.reset.annotations'|trans }} | 200 | <tr> |
196 | </a> | 201 | <td>{{ 'config.form_user.two_factor.googleTwoFactor_label'|trans }}</td> |
197 | </li> | 202 | <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> |
198 | <li> | 203 | <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> |
199 | <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | 204 | </tr> |
200 | {{ 'config.reset.tags'|trans }} | 205 | </tbody> |
201 | </a> | 206 | </table> |
202 | </li> | 207 | |
203 | <li> | 208 | {% endif %} |
204 | <a href="{{ path('config_reset', { type: 'archived'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | ||
205 | {{ 'config.reset.archived'|trans }} | ||
206 | </a> | ||
207 | </li> | ||
208 | <li> | ||
209 | <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | ||
210 | {{ 'config.reset.entries'|trans }} | ||
211 | </a> | ||
212 | </li> | ||
213 | </ul> | ||
214 | </fieldset> | ||
215 | 209 | ||
216 | {{ form_widget(form.user._token) }} | 210 | {{ form_widget(form.user._token) }} |
217 | {{ form_widget(form.user.save) }} | ||
218 | </form> | 211 | </form> |
219 | 212 | ||
220 | {% if enabled_users > 1 %} | 213 | {% if enabled_users > 1 %} |
@@ -277,7 +270,7 @@ | |||
277 | {% endfor %} | 270 | {% endfor %} |
278 | </ul> | 271 | </ul> |
279 | 272 | ||
280 | {{ form_start(form.new_tagging_rule) }} | 273 | {{ form_start(form.new_tagging_rule) }} |
281 | {{ form_errors(form.new_tagging_rule) }} | 274 | {{ form_errors(form.new_tagging_rule) }} |
282 | 275 | ||
283 | <fieldset class="w500p inline"> | 276 | <fieldset class="w500p inline"> |
@@ -298,6 +291,34 @@ | |||
298 | 291 | ||
299 | {{ form_rest(form.new_tagging_rule) }} | 292 | {{ form_rest(form.new_tagging_rule) }} |
300 | </form> | 293 | </form> |
294 | |||
295 | <div class="row"> | ||
296 | <h3>{{ 'config.form_rules.card.import_tagging_rules'|trans }}</h3> | ||
297 | <p>{{ 'config.form_rules.card.import_tagging_rules_detail'|trans }}</p> | ||
298 | </div> | ||
299 | |||
300 | {{ form_start(form.import_tagging_rule) }} | ||
301 | {{ form_errors(form.import_tagging_rule) }} | ||
302 | |||
303 | <fieldset class="w500p inline"> | ||
304 | <div class="row"> | ||
305 | {{ form_label(form.import_tagging_rule.file) }} | ||
306 | {{ form_errors(form.import_tagging_rule.file) }} | ||
307 | {{ form_widget(form.import_tagging_rule.file) }} | ||
308 | </div> | ||
309 | </fieldset> | ||
310 | |||
311 | {{ form_rest(form.import_tagging_rule) }} | ||
312 | </form> | ||
313 | |||
314 | {% if app.user.config.taggingRules is not empty %} | ||
315 | <div class="row"> | ||
316 | <h3>{{ 'config.form_rules.card.export_tagging_rules'|trans }}</h3> | ||
317 | <p>{{ 'config.form_rules.card.export_tagging_rules_detail'|trans }}</p> | ||
318 | <p><a href="{{ path('export_tagging_rule') }}" class="waves-effect waves-light btn">{{ 'config.form_rules.export'|trans }}</a></p> | ||
319 | </div> | ||
320 | {% endif %} | ||
321 | |||
301 | <div class="row"> | 322 | <div class="row"> |
302 | <div class="input-field col s12"> | 323 | <div class="input-field col s12"> |
303 | <h3>{{ 'config.form_rules.faq.title'|trans }}</h3> | 324 | <h3>{{ 'config.form_rules.faq.title'|trans }}</h3> |
@@ -382,4 +403,31 @@ | |||
382 | </table> | 403 | </table> |
383 | </div> | 404 | </div> |
384 | </div> | 405 | </div> |
406 | |||
407 | <h2>{{ 'config.reset.title'|trans }}</h2> | ||
408 | <fieldset class="w500p inline"> | ||
409 | <p>{{ 'config.reset.description'|trans }}</p> | ||
410 | <ul> | ||
411 | <li> | ||
412 | <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | ||
413 | {{ 'config.reset.annotations'|trans }} | ||
414 | </a> | ||
415 | </li> | ||
416 | <li> | ||
417 | <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | ||
418 | {{ 'config.reset.tags'|trans }} | ||
419 | </a> | ||
420 | </li> | ||
421 | <li> | ||
422 | <a href="{{ path('config_reset', { type: 'archived'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | ||
423 | {{ 'config.reset.archived'|trans }} | ||
424 | </a> | ||
425 | </li> | ||
426 | <li> | ||
427 | <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> | ||
428 | {{ 'config.reset.entries'|trans }} | ||
429 | </a> | ||
430 | </li> | ||
431 | </ul> | ||
432 | </fieldset> | ||
385 | {% endblock %} | 433 | {% endblock %} |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig new file mode 100644 index 00000000..1d3685ae --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig | |||
@@ -0,0 +1,55 @@ | |||
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 | <h5>{{ 'config.otp.page_title'|trans }}</h5> | ||
7 | |||
8 | <ol> | ||
9 | <li> | ||
10 | <p>{{ 'config.otp.app.two_factor_code_description_1'|trans }}</p> | ||
11 | <p>{{ 'config.otp.app.two_factor_code_description_2'|trans }}</p> | ||
12 | |||
13 | <p> | ||
14 | <img id="2faQrcode" class="hide-on-med-and-down" /> | ||
15 | <script> | ||
16 | document.getElementById('2faQrcode').src = jrQrcode.getQrBase64('{{ qr_code }}'); | ||
17 | </script> | ||
18 | </p> | ||
19 | </li> | ||
20 | <li> | ||
21 | <p>{{ 'config.otp.app.two_factor_code_description_3'|trans }}</p> | ||
22 | |||
23 | <p><strong>{{ backupCodes|join("\n")|nl2br }}</strong></p> | ||
24 | </li> | ||
25 | <li> | ||
26 | <p>{{ 'config.otp.app.two_factor_code_description_4'|trans }}</p> | ||
27 | |||
28 | {% for flashMessage in app.session.flashbag.get("two_factor") %} | ||
29 | <div class="card-panel red darken-1 black-text"> | ||
30 | {{ flashMessage|trans }} | ||
31 | </div> | ||
32 | {% endfor %} | ||
33 | |||
34 | <form class="form" action="{{ path("config_otp_app_check") }}" method="post"> | ||
35 | <div class="card-content"> | ||
36 | <div class="row"> | ||
37 | <div class="input-field col s12"> | ||
38 | <label for="_auth_code">{{ "auth_code"|trans({}, 'SchebTwoFactorBundle') }}</label> | ||
39 | <input id="_auth_code" type="text" autocomplete="off" name="_auth_code" /> | ||
40 | </div> | ||
41 | </div> | ||
42 | </div> | ||
43 | <div class="card-action"> | ||
44 | <a href="{{ path('config_otp_app_cancel') }}" class="waves-effect waves-light grey btn"> | ||
45 | {{ 'config.otp.app.cancel'|trans }} | ||
46 | </a> | ||
47 | <button class="btn waves-effect waves-light" type="submit" name="send"> | ||
48 | {{ 'config.otp.app.enable'|trans }} | ||
49 | <i class="material-icons right">send</i> | ||
50 | </button> | ||
51 | </div> | ||
52 | </form> | ||
53 | </li> | ||
54 | </ol> | ||
55 | {% endblock %} | ||
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig index cfc6644b..b747ed84 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/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 | ||
@@ -20,13 +20,19 @@ | |||
20 | 20 | ||
21 | {% block content %} | 21 | {% block content %} |
22 | {% set currentRoute = app.request.attributes.get('_route') %} | 22 | {% set currentRoute = app.request.attributes.get('_route') %} |
23 | {% if currentRoute == 'homepage' %} | ||
24 | {% set currentRoute = 'unread' %} | ||
25 | {% endif %} | ||
23 | {% set listMode = app.user.config.listMode %} | 26 | {% set listMode = app.user.config.listMode %} |
24 | <div class="results"> | 27 | <div class="results"> |
25 | <div class="nb-results">{{ 'entry.list.number_on_the_page'|transchoice(entries.count) }}</div> | 28 | <div class="nb-results">{{ 'entry.list.number_on_the_page'|transchoice(entries.count) }}</div> |
26 | <div class="pagination"> | 29 | <div class="pagination"> |
27 | <a href="{{ path('switch_view_mode') }}"><i class="listMode-btn material-icons md-24">{% if listMode == 0 %}list{% else %}view_module{% endif %}</i></a> | 30 | <a href="{{ path('switch_view_mode') }}"><i class="listMode-btn material-icons md-24">{% if listMode == 0 %}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" %} |
33 | {% endif %} | ||
34 | {% if currentRoute in ['unread', 'starred', 'archive', 'untagged', 'all'] %} | ||
35 | <a href="{{ path('random_entry', { 'type': currentRoute }) }}"><i class="btn-clickable material-icons md-24 js-random-action">casino</i></a> | ||
30 | {% endif %} | 36 | {% endif %} |
31 | <i class="btn-clickable download-btn material-icons md-24 js-export-action">file_download</i> | 37 | <i class="btn-clickable download-btn material-icons md-24 js-export-action">file_download</i> |
32 | <i class="btn-clickable filter-btn material-icons md-24 js-filters-action">filter_list</i> | 38 | <i class="btn-clickable filter-btn material-icons md-24 js-filters-action">filter_list</i> |
@@ -40,7 +46,7 @@ | |||
40 | <div id="entry-{{ entry.id|e }}" class="{% if listMode == 0 %}entry{% else %}listmode entry{% endif %}"> | 46 | <div id="entry-{{ entry.id|e }}" class="{% if listMode == 0 %}entry{% else %}listmode entry{% endif %}"> |
41 | <h2><a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title|e|raw }}">{{ entry.title | striptags | truncate(80, true, '…') | default('entry.default_title'|trans) | raw }}</a></h2> | 47 | <h2><a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title|e|raw }}">{{ entry.title | striptags | truncate(80, true, '…') | default('entry.default_title'|trans) | raw }}</a></h2> |
42 | 48 | ||
43 | {% set readingTime = entry.readingTime / app.user.config.readingSpeed %} | 49 | {% set readingTime = entry.readingTime / app.user.config.readingSpeed * 200 %} |
44 | <div class="estimatedTime"> | 50 | <div class="estimatedTime"> |
45 | <span class="tool reading-time"> | 51 | <span class="tool reading-time"> |
46 | {% if readingTime > 0 %} | 52 | {% if readingTime > 0 %} |
@@ -90,17 +96,14 @@ | |||
90 | {% if tag is defined %} | 96 | {% if tag is defined %} |
91 | {% set currentTag = tag %} | 97 | {% set currentTag = tag %} |
92 | {% endif %} | 98 | {% endif %} |
93 | {% if currentRoute == 'homepage' %} | ||
94 | {% set currentRoute = 'unread' %} | ||
95 | {% endif %} | ||
96 | <h2>{{ 'entry.list.export_title'|trans }}</h2> | 99 | <h2>{{ 'entry.list.export_title'|trans }}</h2> |
97 | <a href="javascript: void(null);" id="download-form-close" class="close-button--popup close-button">×</a> | 100 | <a href="javascript: void(null);" id="download-form-close" class="close-button--popup close-button">×</a> |
98 | <ul> | 101 | <ul> |
99 | {% 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 %} | 102 | {% 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 %} |
100 | {% 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 %} | 103 | {% 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 %} |
101 | {% 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 %} | 104 | {% 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 %} |
102 | {% 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 %} | 105 | {% 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 %} |
103 | {% 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 %} | 106 | {% 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 %} |
104 | {% 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 %} | 107 | {% 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 %} |
105 | {% 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 %} | 108 | {% 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 %} |
106 | </ul> | 109 | </ul> |
@@ -114,6 +117,12 @@ | |||
114 | <a href="javascript: void(null);" id="filter-form-close" class="close-button--popup close-button">×</a> | 117 | <a href="javascript: void(null);" id="filter-form-close" class="close-button--popup close-button">×</a> |
115 | 118 | ||
116 | <div id="filter-status" class="filter-group"> | 119 | <div id="filter-status" class="filter-group"> |
120 | {% if currentRoute != 'untagged' and nbEntriesUntagged != 0 %} | ||
121 | <div class=""> | ||
122 | <a href="{{ path('untagged') }}">{{ 'tag.list.see_untagged_entries'|trans }} ({{nbEntriesUntagged}})</a> | ||
123 | </div> | ||
124 | {% endif %} | ||
125 | |||
117 | <div class=""> | 126 | <div class=""> |
118 | <label>{{ 'entry.filters.status_label'|trans }}</label> | 127 | <label>{{ 'entry.filters.status_label'|trans }}</label> |
119 | </div> | 128 | </div> |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig index e7d42b3d..c2e69a27 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig | |||
@@ -5,7 +5,7 @@ | |||
5 | {% block content %} | 5 | {% block content %} |
6 | <div id="article"> | 6 | <div id="article"> |
7 | <header class="mbm"> | 7 | <header class="mbm"> |
8 | <h1>{{ entry.title|e|default('entry.default_title'|trans)|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" class="nostyle" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1> | 8 | <h1><span{% if entry.language is defined and entry.language is not null %} lang="{{ entry.getHTMLLanguage() }}"{% endif %}>{{ entry.title|e|default('entry.default_title'|trans)|raw }}</span> <a href="{{ path('edit', { 'id': entry.id }) }}" class="nostyle" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1> |
9 | </header> | 9 | </header> |
10 | 10 | ||
11 | <div id="article_toolbar"> | 11 | <div id="article_toolbar"> |
@@ -27,7 +27,7 @@ | |||
27 | <li><a href="{{ path('share', {'id': entry.id }) }}" target="_blank" class="tool icon icon-eye" title="{{ 'entry.view.left_menu.public_link'|trans }}"><span>{{ 'entry.view.left_menu.public_link'|trans }}</span></a></li> | 27 | <li><a href="{{ path('share', {'id': entry.id }) }}" target="_blank" class="tool icon icon-eye" title="{{ 'entry.view.left_menu.public_link'|trans }}"><span>{{ 'entry.view.left_menu.public_link'|trans }}</span></a></li> |
28 | <li><a href="{{ path('delete_share', {'id': entry.id }) }}" class="tool icon icon-no-eye" title="{{ 'entry.view.left_menu.delete_public_link'|trans }}"><span>{{ 'entry.view.left_menu.delete_public_link'|trans }}</span></a></li> | 28 | <li><a href="{{ path('delete_share', {'id': entry.id }) }}" class="tool icon icon-no-eye" title="{{ 'entry.view.left_menu.delete_public_link'|trans }}"><span>{{ 'entry.view.left_menu.delete_public_link'|trans }}</span></a></li> |
29 | {% endif %} | 29 | {% endif %} |
30 | {% if craue_setting('share_twitter') %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" rel="noopener" class="tool twitter icon icon-twitter" title="Tweet"><span>Tweet</span></a></li>{% endif %} | 30 | {% if craue_setting('share_twitter') %}<li><a href="https://twitter.com/share?text={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" rel="noopener" class="tool twitter icon icon-twitter" title="Tweet"><span>Tweet</span></a></li>{% endif %} |
31 | {% if craue_setting('share_mail') %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="Email"><span>Email</span></a></li>{% endif %} | 31 | {% if craue_setting('share_mail') %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="Email"><span>Email</span></a></li>{% endif %} |
32 | {% if craue_setting('share_shaarli') %}<li><a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}&tags={{ entry.tags|join(',')|url_encode }}{% if craue_setting('shaarli_share_origin_url') %}&original_url={{ entry.originUrl|url_encode }}{% endif %}" target="_blank" rel="noopener" class="tool icon-image icon-image--shaarli" title="shaarli"><span>shaarli</span></a></li>{% endif %} | 32 | {% if craue_setting('share_shaarli') %}<li><a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}&tags={{ entry.tags|join(',')|url_encode }}{% if craue_setting('shaarli_share_origin_url') %}&original_url={{ entry.originUrl|url_encode }}{% endif %}" target="_blank" rel="noopener" class="tool icon-image icon-image--shaarli" title="shaarli"><span>shaarli</span></a></li>{% endif %} |
33 | {% if craue_setting('share_scuttle') %}<li><a href="{{ craue_setting('scuttle_url') }}/bookmarks.php?action=add&address={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}&tags={{ entry.tags|join(',')|url_encode }}" target="_blank" rel="noopener" class="tool icon-image icon-image--scuttle" title="scuttle"><span>scuttle</span></a></li>{% endif %} | 33 | {% if craue_setting('share_scuttle') %}<li><a href="{{ craue_setting('scuttle_url') }}/bookmarks.php?action=add&address={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}&tags={{ entry.tags|join(',')|url_encode }}" target="_blank" rel="noopener" class="tool icon-image icon-image--scuttle" title="scuttle"><span>scuttle</span></a></li>{% endif %} |
@@ -38,7 +38,7 @@ | |||
38 | {% if craue_setting('export_epub') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'epub' }) }}" title="Generate ePub file">EPUB</a></li>{% endif %} | 38 | {% if craue_setting('export_epub') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'epub' }) }}" title="Generate ePub file">EPUB</a></li>{% endif %} |
39 | {% if craue_setting('export_mobi') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'mobi' }) }}" title="Generate Mobi file">MOBI</a></li>{% endif %} | 39 | {% if craue_setting('export_mobi') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'mobi' }) }}" title="Generate Mobi file">MOBI</a></li>{% endif %} |
40 | {% if craue_setting('export_pdf') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'pdf' }) }}" title="Generate PDF file">PDF</a></li>{% endif %} | 40 | {% if craue_setting('export_pdf') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'pdf' }) }}" title="Generate PDF file">PDF</a></li>{% endif %} |
41 | <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{{ 'entry.view.left_menu.problem.label'|trans }}" class="tool bad-display icon icon-delete"><span>{{ 'entry.view.left_menu.problem.label'|trans }}</span></a></li> | 41 | <li><a href="mailto:siteconfig@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{{ 'entry.view.left_menu.problem.label'|trans }}" class="tool bad-display icon icon-delete"><span>{{ 'entry.view.left_menu.problem.label'|trans }}</span></a></li> |
42 | </ul> | 42 | </ul> |
43 | </div> | 43 | </div> |
44 | 44 | ||
@@ -62,7 +62,7 @@ | |||
62 | {% endif %} | 62 | {% endif %} |
63 | 63 | ||
64 | <i class="tool icon icon-time"> | 64 | <i class="tool icon icon-time"> |
65 | {% set readingTime = entry.readingTime / app.user.config.readingSpeed %} | 65 | {% set readingTime = entry.readingTime / app.user.config.readingSpeed * 200 %} |
66 | {% if readingTime > 0 %} | 66 | {% if readingTime > 0 %} |
67 | {{ 'entry.list.reading_time_minutes_short'|trans({'%readingTime%': readingTime|round}) }} | 67 | {{ 'entry.list.reading_time_minutes_short'|trans({'%readingTime%': readingTime|round}) }} |
68 | {% else %} | 68 | {% else %} |
@@ -70,7 +70,7 @@ | |||
70 | {% endif %} | 70 | {% endif %} |
71 | </i> | 71 | </i> |
72 | 72 | ||
73 | <span class="tool link"><i class="material-icons link">comment</i> {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }}</span> | 73 | <span class="tool link"><i class="material-icons">comment</i> {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }}</span> |
74 | 74 | ||
75 | {% if entry.originUrl is not empty %} | 75 | {% if entry.originUrl is not empty %} |
76 | <i class="material-icons" title="{{ 'entry.view.provided_by'|trans }}">launch</i> | 76 | <i class="material-icons" title="{{ 'entry.view.provided_by'|trans }}">launch</i> |
@@ -96,7 +96,7 @@ | |||
96 | </div> | 96 | </div> |
97 | </aside> | 97 | </aside> |
98 | </div> | 98 | </div> |
99 | <article> | 99 | <article{% if entry.language is defined and entry.language is not null %} lang="{{ entry.getHTMLLanguage() }}"{% endif %}> |
100 | {{ entry.content | raw }} | 100 | {{ entry.content | raw }} |
101 | </article> | 101 | </article> |
102 | </div> | 102 | </div> |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig index 070d5629..aa17b842 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig | |||
@@ -10,15 +10,31 @@ | |||
10 | <ul> | 10 | <ul> |
11 | {% for tag in tags %} | 11 | {% for tag in tags %} |
12 | <li id="tag-{{ tag.id|e }}"> | 12 | <li id="tag-{{ tag.id|e }}"> |
13 | <a href="{{ path('tag_entries', {'slug': tag.slug}) }}">{{tag.label}} ({{ tag.nbEntries }})</a> | 13 | <a href="{{ path('tag_entries', {'slug': tag.slug}) }}" data-handle="tag-link">{{ tag.label }} ({{ tag.nbEntries }})</a> |
14 | <a rel="alternate" type="application/rss+xml" href="{{ path('tag_rss', {'username': app.user.username, 'token': app.user.config.rssToken, 'slug': tag.slug}) }}" class="right"> | 14 | |
15 | <i class="material-icons md-24">rss_feed</i> | 15 | {% if renameForms is defined and renameForms[tag.id] is defined %} |
16 | <form class="card-tag-form hidden" data-handle="tag-rename-form" action="{{ path('tag_rename', {'slug': tag.slug})}}" method="POST"> | ||
17 | {{ form_widget(renameForms[tag.id].label, {'attr': {'value': tag.label}}) }} | ||
18 | {{ form_rest(renameForms[tag.id]) }} | ||
19 | </form> | ||
20 | <a class="card-tag-rename" data-handler="tag-rename" href="javascript:void(0);"> | ||
21 | <i class="material-icons">mode_edit</i> | ||
16 | </a> | 22 | </a> |
23 | {% endif %} | ||
24 | {% if app.user.config.feedToken %} | ||
25 | <a rel="alternate" type="application/atom+xml" href="{{ path('tag_feed', {'username': app.user.username, 'token': app.user.config.feedToken, 'slug': tag.slug}) }}" class="right"> | ||
26 | <i class="material-icons md-24">rss_feed</i> | ||
27 | </a> | ||
28 | {% endif %} | ||
17 | </li> | 29 | </li> |
18 | {% endfor %} | 30 | {% endfor %} |
19 | </ul> | 31 | </ul> |
20 | 32 | ||
21 | <div> | 33 | <div> |
22 | <a href="{{ path('untagged') }}">{{ 'tag.list.see_untagged_entries'|trans }}</a> | 34 | {% if nbEntriesUntagged == 0 %} |
35 | {{ 'tag.list.no_untagged_entries'|trans }} | ||
36 | {% else %} | ||
37 | <a href="{{ path('untagged') }}">{{ 'tag.list.see_untagged_entries'|trans }} ({{nbEntriesUntagged}})</a> | ||
38 | {% endif %} | ||
23 | </div> | 39 | </div> |
24 | {% endblock %} | 40 | {% endblock %} |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig index 35a54daf..6b1e2bd7 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig | |||
@@ -50,6 +50,7 @@ | |||
50 | <li class="menu howto"><a href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a></li> | 50 | <li class="menu howto"><a href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a></li> |
51 | <li class="menu developer"><a href="{{ path('developer') }}">{{ 'menu.left.developer'|trans }}</a></li> | 51 | <li class="menu developer"><a href="{{ path('developer') }}">{{ 'menu.left.developer'|trans }}</a></li> |
52 | <li class="menu about"><a href="{{ path('about') }}">{{ 'footer.wallabag.about'|trans }}</a></li> | 52 | <li class="menu about"><a href="{{ path('about') }}">{{ 'footer.wallabag.about'|trans }}</a></li> |
53 | <li class="menu quickstart"><a href="{{ path('quickstart') }}">{{ 'menu.left.quickstart'|trans }}</a></li> | ||
53 | <li class="menu logout"><a class="icon icon-power" href="{{ path('fos_user_security_logout') }}">{{ 'menu.left.logout'|trans }}</a></li> | 54 | <li class="menu logout"><a class="icon icon-power" href="{{ path('fos_user_security_logout') }}">{{ 'menu.left.logout'|trans }}</a></li> |
54 | </ul> | 55 | </ul> |
55 | {% endblock %} | 56 | {% endblock %} |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig index b498cceb..3a3ba0c9 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig | |||
@@ -8,11 +8,29 @@ | |||
8 | <div class="card-panel settings"> | 8 | <div class="card-panel settings"> |
9 | <div class="row"> | 9 | <div class="row"> |
10 | <p>{{ 'developer.client_parameter.page_description'|trans }}</p> | 10 | <p>{{ 'developer.client_parameter.page_description'|trans }}</p> |
11 | <ul> | 11 | |
12 | <li>{{ 'developer.client_parameter.field_name'|trans }}: <strong><pre>{{ client_name }}</pre></strong></li> | 12 | <table class="striped"> |
13 | <li>{{ 'developer.client_parameter.field_id'|trans }}: <strong><pre>{{ client_id }}</pre></strong></li> | 13 | <tr> |
14 | <li>{{ 'developer.client_parameter.field_secret'|trans }}: <strong><pre>{{ client_secret }}</pre></strong></li> | 14 | <td>{{ 'developer.client_parameter.field_name'|trans }}</td> |
15 | </ul> | 15 | <td><strong><code>{{ client_name }}</code></strong></td> |
16 | </tr> | ||
17 | <tr> | ||
18 | <td>{{ 'developer.client_parameter.field_id'|trans }}</td> | ||
19 | <td> | ||
20 | <strong><code>{{ client_id }}</code></strong> | ||
21 | <button class="btn" data-clipboard-text="{{ client_id }}">{{ 'developer.client.copy_to_clipboard'|trans }}</button> | ||
22 | </td> | ||
23 | </tr> | ||
24 | <tr> | ||
25 | <td>{{ 'developer.client_parameter.field_secret'|trans }}</td> | ||
26 | <td> | ||
27 | <strong><code>{{ client_secret }}</code></strong> | ||
28 | <button class="btn" data-clipboard-text="{{ client_secret }}">{{ 'developer.client.copy_to_clipboard'|trans }}</button> | ||
29 | </td> | ||
30 | </tr> | ||
31 | </table> | ||
32 | |||
33 | <br/> | ||
16 | 34 | ||
17 | <a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{{ 'developer.client_parameter.back'|trans }}</a> | 35 | <a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{{ 'developer.client_parameter.back'|trans }}</a> |
18 | <a href="{{ path('developer_howto_firstapp') }}" class="btn waves-effect waves-light">{{ 'developer.client_parameter.read_howto'|trans }}</a> | 36 | <a href="{{ path('developer_howto_firstapp') }}" class="btn waves-effect waves-light">{{ 'developer.client_parameter.read_howto'|trans }}</a> |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig index acbc2c88..dcadfa49 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig | |||
@@ -18,7 +18,7 @@ | |||
18 | <p>{{ 'developer.howto.description.paragraph_3'|trans({'%link%': path('developer_create_client')})|raw }}</p> | 18 | <p>{{ 'developer.howto.description.paragraph_3'|trans({'%link%': path('developer_create_client')})|raw }}</p> |
19 | <p>{{ 'developer.howto.description.paragraph_4'|trans }}</p> | 19 | <p>{{ 'developer.howto.description.paragraph_4'|trans }}</p> |
20 | <p> | 20 | <p> |
21 | <pre><code class="language-bash">http POST http://v2.wallabag.org/oauth/v2/token \ | 21 | <pre><code class="language-bash">http POST https://app.wallabag.it/oauth/v2/token \ |
22 | grant_type=password \ | 22 | grant_type=password \ |
23 | client_id=12_5um6nz50ceg4088c0840wwc0kgg44g00kk84og044ggkscso0k \ | 23 | client_id=12_5um6nz50ceg4088c0840wwc0kgg44g00kk84og044ggkscso0k \ |
24 | client_secret=3qd12zpeaxes8cwg8c0404g888co4wo8kc4gcw0occww8cgw4k \ | 24 | client_secret=3qd12zpeaxes8cwg8c0404g888co4wo8kc4gcw0occww8cgw4k \ |
@@ -47,7 +47,7 @@ X-Powered-By: PHP/5.5.9-1ubuntu4.13 | |||
47 | </p> | 47 | </p> |
48 | <p>{{ 'developer.howto.description.paragraph_6'|trans }}</p> | 48 | <p>{{ 'developer.howto.description.paragraph_6'|trans }}</p> |
49 | <p> | 49 | <p> |
50 | <pre><code class="language-bash">http GET http://v2.wallabag.org/api/entries.json \ | 50 | <pre><code class="language-bash">http GET https://app.wallabag.it/api/entries.json \ |
51 | "Authorization:Bearer ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw"</code></pre> | 51 | "Authorization:Bearer ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw"</code></pre> |
52 | </p> | 52 | </p> |
53 | <p>{{ 'developer.howto.description.paragraph_7'|trans }}</p> | 53 | <p>{{ 'developer.howto.description.paragraph_7'|trans }}</p> |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig index be04cddb..b83bf96f 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig | |||
@@ -33,11 +33,17 @@ | |||
33 | <table class="striped"> | 33 | <table class="striped"> |
34 | <tr> | 34 | <tr> |
35 | <td>{{ 'developer.existing_clients.field_id'|trans }}</td> | 35 | <td>{{ 'developer.existing_clients.field_id'|trans }}</td> |
36 | <td><strong><code>{{ client.clientId }}</code></strong></td> | 36 | <td> |
37 | <strong><code>{{ client.clientId }}</code></strong> | ||
38 | <button class="btn" data-clipboard-text="{{ client.clientId }}">{{ 'developer.client.copy_to_clipboard'|trans }}</button> | ||
39 | </td> | ||
37 | </tr> | 40 | </tr> |
38 | <tr> | 41 | <tr> |
39 | <td>{{ 'developer.existing_clients.field_secret'|trans }}</td> | 42 | <td>{{ 'developer.existing_clients.field_secret'|trans }}</td> |
40 | <td><strong><code>{{ client.secret }}</code></strong></td> | 43 | <td> |
44 | <strong><code>{{ client.secret }}</code></strong> | ||
45 | <button class="btn" data-clipboard-text="{{ client.secret }}">{{ 'developer.client.copy_to_clipboard'|trans }}</button> | ||
46 | </td> | ||
41 | </tr> | 47 | </tr> |
42 | <tr> | 48 | <tr> |
43 | <td>{{ 'developer.existing_clients.field_uris'|trans }}</td> | 49 | <td>{{ 'developer.existing_clients.field_uris'|trans }}</td> |
@@ -48,9 +54,10 @@ | |||
48 | <td><strong><code>{{ client.allowedGrantTypes|json_encode() }}</code></strong></td> | 54 | <td><strong><code>{{ client.allowedGrantTypes|json_encode() }}</code></strong></td> |
49 | </tr> | 55 | </tr> |
50 | </table> | 56 | </table> |
57 | |||
58 | <p>{{ 'developer.remove.warn_message_1'|trans({'%name%': client.name }) }}</p> | ||
59 | <p>{{ 'developer.remove.warn_message_2'|trans({'%name%': client.name }) }}</p> | ||
51 | <p> | 60 | <p> |
52 | {{ 'developer.remove.warn_message_1'|trans({'%name%': client.name }) }}<br/> | ||
53 | {{ 'developer.remove.warn_message_2'|trans({'%name%': client.name }) }}<br/> | ||
54 | <a class="waves-effect waves-light red btn" href="{{ path('developer_delete_client', {'id': client.id}) }}">{{ 'developer.remove.action'|trans({'%name%': client.name }) }}</a> | 61 | <a class="waves-effect waves-light red btn" href="{{ path('developer_delete_client', {'id': client.id}) }}">{{ 'developer.remove.action'|trans({'%name%': client.name }) }}</a> |
55 | </p> | 62 | </p> |
56 | </div> | 63 | </div> |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_feed_link.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_feed_link.html.twig new file mode 100644 index 00000000..6df4c160 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_feed_link.html.twig | |||
@@ -0,0 +1,11 @@ | |||
1 | {% if tag is defined %} | ||
2 | <a rel="alternate" type="application/atom+xml" href="{{ path('tag_feed', {'username': app.user.username, 'token': app.user.config.feedToken, 'slug': tag.slug}) }}" class="right"><i class="material-icons md-24">rss_feed</i></a> | ||
3 | {% elseif currentRoute in ['homepage', 'unread', 'starred', 'archive', 'all'] %} | ||
4 | {% set feedRoute = currentRoute %} | ||
5 | {% if currentRoute == 'homepage' %} | ||
6 | {% set feedRoute = 'unread' %} | ||
7 | {% endif %} | ||
8 | {% set feedRoute = feedRoute ~ '_feed' %} | ||
9 | |||
10 | <a rel="alternate" type="application/atom+xml" href="{{ path(feedRoute, {'username': app.user.username, 'token': app.user.config.feedToken}) }}" class="right"><i class="material-icons">rss_feed</i></a> | ||
11 | {% endif %} | ||
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_rss_link.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_rss_link.html.twig deleted file mode 100644 index eb26054c..00000000 --- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_rss_link.html.twig +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | {% if tag is defined %} | ||
2 | <a rel="alternate" type="application/rss+xml" href="{{ path('tag_rss', {'username': app.user.username, 'token': app.user.config.rssToken, 'slug': tag.slug}) }}" class="right"><i class="material-icons md-24">rss_feed</i></a> | ||
3 | {% elseif currentRoute in ['homepage', 'unread', 'starred', 'archive', 'all'] %} | ||
4 | {% set rssRoute = currentRoute %} | ||
5 | {% if currentRoute == 'homepage' %} | ||
6 | {% set rssRoute = 'unread' %} | ||
7 | {% endif %} | ||
8 | {% set rssRoute = rssRoute ~ '_rss' %} | ||
9 | |||
10 | <a rel="alternate" type="application/rss+xml" href="{{ path(rssRoute, {'username': app.user.username, 'token': app.user.config.rssToken}) }}" class="right"><i class="material-icons">rss_feed</i></a> | ||
11 | {% endif %} | ||
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/entries.xml.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/entries.xml.twig index 25d09ec3..cf6f6571 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/entries.xml.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/entries.xml.twig | |||
@@ -1,34 +1,53 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/"> | 2 | <feed xmlns="http://www.w3.org/2005/Atom"> |
3 | <channel> | 3 | {% if type != 'tag' %} |
4 | <title>wallabag - {{ type }} feed</title> | 4 | <title>wallabag — {{type}} feed</title> |
5 | <link>{{ url_html }}</link> | 5 | <subtitle type="html">Atom feed for {{ type }} entries</subtitle> |
6 | <link rel="self" href="{{ app.request.uri }}"/> | 6 | <id>wallabag:{{ domainName | removeScheme | removeWww }}:{{ user }}:{{ type }}</id> |
7 | {% if entries.hasPreviousPage -%} | 7 | <link rel="alternate" type="text/html" href="{{ url(type) }}"/> |
8 | <link rel="previous" href="{{ url }}?page={{ entries.previousPage }}"/> | 8 | {% else %} |
9 | {% endif -%} | 9 | <id>wallabag:{{ domainName | removeScheme | removeWww }}:{{ user }}:{{ type }}:{{ tag }}</id> |
10 | {% if entries.hasNextPage -%} | 10 | <link rel="alternate" type="text/html" href="{{ url('tag_entries', {'slug': tag}) }}"/> |
11 | <link rel="next" href="{{ url }}?page={{ entries.nextPage }}"/> | 11 | <title>wallabag — {{type}} {{ tag }} feed</title> |
12 | {% endif -%} | 12 | <subtitle type="html">Atom feed for entries tagged with {{ tag }}</subtitle> |
13 | <link rel="last" href="{{ url }}?page={{ entries.nbPages }}"/> | 13 | {% endif %} |
14 | <pubDate>{{ "now"|date(constant('DATE_RSS')) }}</pubDate> | 14 | {% if entries | length > 0 %} |
15 | <generator>wallabag</generator> | 15 | <updated>{{ (entries | first).createdAt | date('c') }}</updated> {# Indicates the last time the feed was modified in a significant way. #} |
16 | <description>wallabag {{ type }} elements</description> | 16 | {% endif %} |
17 | 17 | <link rel="self" type="application/atom+xml" href="{{ app.request.uri }}"/> | |
18 | {% for entry in entries %} | 18 | {% if entries.hasPreviousPage %} |
19 | 19 | <link rel="previous" href="{{ url }}/{{ entries.previousPage }}"/> | |
20 | <item> | 20 | {% endif -%} |
21 | <title><![CDATA[{{ entry.title|e }}]]></title> | 21 | {% if entries.hasNextPage %} |
22 | <source url="{{ url('view', { 'id': entry.id }) }}">wallabag</source> | 22 | <link rel="next" href="{{ url }}/{{ entries.nextPage }}"/> |
23 | <link>{{ entry.url }}</link> | 23 | {% endif -%} |
24 | <guid>{{ entry.url }}</guid> | 24 | <link rel="last" href="{{ url }}/{{ entries.nbPages }}"/> |
25 | <pubDate>{{ entry.createdAt|date(constant('DATE_RSS')) }}</pubDate> | 25 | <generator uri="https://wallabag.org" version="{{ version }}">wallabag</generator> |
26 | <description> | 26 | <author> |
27 | <![CDATA[{%- if entry.readingTime > 0 -%}{{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': entry.readingTime}) }}{%- else -%}{{ 'entry.list.reading_time_less_one_minute'|trans|raw }}{%- endif %}{{ entry.content|raw -}}]]> | 27 | <name>{{ user }}</name> |
28 | </description> | 28 | </author> |
29 | </item> | 29 | <icon>{{ asset('favicon.ico') }}</icon> |
30 | 30 | <logo>{{ asset('bundles/wallabagcore/themes/_global/img/logo-square.png') }}</logo> | |
31 | {% for entry in entries %} | ||
32 | <entry> | ||
33 | <title><![CDATA[{{ entry.title|e }}]]></title> | ||
34 | <link rel="alternate" type="text/html" | ||
35 | href="{{ url('view', {'id': entry.id}) }}"/> | ||
36 | <link rel="via">{{ entry.url }}</link> | ||
37 | <id>wallabag:{{ domainName | removeScheme | removeWww }}:{{ user }}:entry:{{ entry.id }}</id> | ||
38 | <updated>{{ entry.updatedAt|date('c') }}</updated> | ||
39 | <published>{{ entry.createdAt|date('c') }}</published> | ||
40 | {% for tag in entry.tags %} | ||
41 | <category term="{{ tag.slug }}" label="{{ tag.label }}" /> | ||
31 | {% endfor %} | 42 | {% endfor %} |
32 | 43 | {% for author in entry.publishedBy %} | |
33 | </channel> | 44 | <author> |
34 | </rss> | 45 | <name>{{ author }}</name> |
46 | </author> | ||
47 | {% endfor %} | ||
48 | <content type="html" {% if entry.language %}xml:lang="{{ entry.language[:2] }}"{% endif %}> | ||
49 | <![CDATA[{%- if entry.readingTime > 0 -%}{{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': entry.readingTime}) }}{%- else -%}{{ 'entry.list.reading_time_less_one_minute'|trans|raw }}{%- endif %}{{ entry.content|raw -}}]]> | ||
50 | </content> | ||
51 | </entry> | ||
52 | {% endfor %} | ||
53 | </feed> | ||
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig index e1c7aad9..4294a60d 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig | |||
@@ -29,9 +29,6 @@ | |||
29 | <h1>{{ entry.title|e|raw }}</h1> | 29 | <h1>{{ entry.title|e|raw }}</h1> |
30 | <a href="{{ entry.url|e }}" target="_blank" rel="noopener" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|e|raw }}" class="tool">{{ entry.domainName|removeWww }}</a> | 30 | <a href="{{ entry.url|e }}" target="_blank" rel="noopener" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|e|raw }}" class="tool">{{ entry.domainName|removeWww }}</a> |
31 | <p class="shared-by">{{ "entry.public.shared_by_wallabag"|trans({'%wallabag_instance%': url('homepage'), '%username%': entry.user.username})|raw }}.</p> | 31 | <p class="shared-by">{{ "entry.public.shared_by_wallabag"|trans({'%wallabag_instance%': url('homepage'), '%username%': entry.user.username})|raw }}.</p> |
32 | {% if entry.previewPicture is not null %} | ||
33 | <img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|striptags|e('html_attr') }}" /> | ||
34 | {% endif %} | ||
35 | </header> | 32 | </header> |
36 | <article class="block"> | 33 | <article class="block"> |
37 | {{ entry.content | raw }} | 34 | {{ entry.content | raw }} |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/quickstart.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/quickstart.html.twig index 4580813c..521b3eea 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/quickstart.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/quickstart.html.twig | |||
@@ -21,7 +21,7 @@ | |||
21 | <div class="card-action"> | 21 | <div class="card-action"> |
22 | <ul> | 22 | <ul> |
23 | <li><a href="{{ path('config') }}">{{ 'quickstart.configure.language'|trans }}</a></li> | 23 | <li><a href="{{ path('config') }}">{{ 'quickstart.configure.language'|trans }}</a></li> |
24 | <li><a href="{{ path('config') }}#set2">{{ 'quickstart.configure.rss'|trans }}</a></li> | 24 | <li><a href="{{ path('config') }}#set2">{{ 'quickstart.configure.feed'|trans }}</a></li> |
25 | <li><a href="{{ path('config') }}#set5">{{ 'quickstart.more'|trans }}</a></li> | 25 | <li><a href="{{ path('config') }}#set5">{{ 'quickstart.more'|trans }}</a></li> |
26 | </ul> | 26 | </ul> |
27 | </div> | 27 | </div> |
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"> {{ entry.createdAt|date('Y-m-d') }}</span> | 5 | <i class="material-icons" title="{{ 'entry.view.created_at'|trans }}">today</i> |
6 | </span> | 6 | <span> {{ 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&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&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 }} ({{ 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> |