]>
Commit | Line | Data |
---|---|---|
1 | {% extends "WallabagCoreBundle::layout.html.twig" %} | |
2 | ||
3 | {% block title %} | |
4 | {% set currentRoute = app.request.attributes.get('_route') %} | |
5 | ||
6 | {% if currentRoute == 'starred' %} | |
7 | {% trans %}Starred{% endtrans %} | |
8 | {% elseif currentRoute == 'archive' %} | |
9 | {% trans %}Archive{% endtrans %} | |
10 | {% elseif currentRoute == 'all' %} | |
11 | {% trans %}Filtered{% endtrans %} | |
12 | {% else %} | |
13 | {% trans %}Unread{% endtrans %} | |
14 | {% endif %} | |
15 | ||
16 | {% endblock %} | |
17 | ||
18 | {% block content %} | |
19 | {% block pager %} | |
20 | <div class="results clearfix"> | |
21 | <div class="nb-results left">{% transchoice entries.count %}{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.{% endtranschoice %}</div> | |
22 | <ul class="pagination right"> | |
23 | {% for p in range(1, entries.nbPages) if entries.nbPages > 1 %} | |
24 | <li class="{{ currentPage == p ? 'active':'waves-effect'}}"> | |
25 | <a href="{{ path(app.request.attributes.get('_route'), app.request.query.all|merge({'page': p})) }}">{{ p }}</a> | |
26 | </li> | |
27 | {% endfor %} | |
28 | </ul> | |
29 | </div> | |
30 | {% endblock %} | |
31 | <br /> | |
32 | <ul class="row data"> | |
33 | {% for entry in entries %} | |
34 | <li id="entry-{{ entry.id|e }}" class="col l4 m6 s12"> | |
35 | <div class="card"> | |
36 | ||
37 | <div class="card-body"> | |
38 | {% if not entry.previewPicture is null %} | |
39 | <div class="card-image waves-effect waves-block waves-light"> | |
40 | <div class="preview activator" style="background-image: url({{ entry.previewPicture }})"></div> | |
41 | </div> | |
42 | {% endif %} | |
43 | ||
44 | <div class="card-content"> | |
45 | {% if not entry.previewPicture is null %} | |
46 | <i class="card-title grey-text text-darken-4 activator mdi-navigation-more-vert right"></i> | |
47 | {% endif %} | |
48 | ||
49 | <span class="card-title"><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw|striptags|slice(0, 42) }}</a></span> | |
50 | ||
51 | {% if entry.readingTime > 0 %} | |
52 | <div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time: {% endtrans %} {{ entry.readingTime }} min</span></div> | |
53 | {% else %} | |
54 | <div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time: {% endtrans %} <small class="inferieur"><</small> 1 min</span></div> | |
55 | {% endif %} | |
56 | ||
57 | {% if entry.previewPicture is null %} | |
58 | <p>{{ entry.content|striptags|slice(0, 300) }}…</p> | |
59 | {% endif %} | |
60 | </div> | |
61 | </div> | |
62 | ||
63 | {% if not entry.previewPicture is null %} | |
64 | <div class="card-reveal"> | |
65 | <i class="card-title grey-text text-darken-4 mdi-card-close right"></i> | |
66 | <span class="card-title"><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw }}</a></span> | |
67 | ||
68 | {% if entry.readingTime > 0 %} | |
69 | <div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time: {% endtrans %} {{ entry.readingTime }} min</span></div> | |
70 | {% else %} | |
71 | <div class="estimatedTime grey-text"><span class="tool reading-time">{% trans %}estimated reading time: {% endtrans %} <small class="inferieur"><</small> 1 min</span></div> | |
72 | {% endif %} | |
73 | ||
74 | <p>{{ entry.content|striptags|slice(0, 300) }}…</p> | |
75 | </div> | |
76 | {% endif %} | |
77 | ||
78 | <div class="card-action"> | |
79 | <span class="bold"><a href="{{ entry.url|e }}" target="_blank" title="{% trans %}original{% endtrans %}: {{ entry.title|e }} - {{ entry.domainName|removeWww }}" class="tool original grey-text"><span>{{ entry.domainName|removeWww|truncate(18) }}</span></a></bold> | |
80 | ||
81 | <ul class="tools links right"> | |
82 | <li> | |
83 | <a title="{% trans %}Toggle mark as read{% endtrans %}" class="tool grey-text {% if entry.isArchived == 0 %}mdi-action-done{% else %}mdi-content-redo{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"></a> | |
84 | <a title="{% trans %}Toggle favorite{% endtrans %}" class="tool grey-text {% if entry.isStarred == 0 %}mdi-action-favorite-outline{% else %}mdi-action-favorite{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"></a> | |
85 | <a title="{% trans %}Delete{% endtrans %}" class="tool grey-text delete mdi-action-delete " href="{{ path('delete_entry', { 'id': entry.id }) }}"></a> | |
86 | </li> | |
87 | </ul> | |
88 | </div> | |
89 | </div> | |
90 | </li> | |
91 | {% endfor %} | |
92 | </ul> | |
93 | ||
94 | <!-- Filters --> | |
95 | <div id="filters" class="side-nav fixed right-aligned"> | |
96 | <form action="{{ path('all') }}"> | |
97 | ||
98 | <h4 class="center">{% trans %}Filters{% endtrans %}</h1> | |
99 | ||
100 | <div class="row"> | |
101 | <div class="col s12"> | |
102 | <label>{% trans %}Status{% endtrans %}</label> | |
103 | </div> | |
104 | ||
105 | <div class="input-field col s6 with-checkbox"> | |
106 | {{ form_widget(form.isArchived) }} | |
107 | <label for="entry_filter_isArchived">{% trans %}Archived{% endtrans %}</label> | |
108 | </div> | |
109 | ||
110 | <div class="input-field col s6 with-checkbox"> | |
111 | {{ form_widget(form.isStarred) }} | |
112 | <label for="entry_filter_isStarred">{% trans %}Starred{% endtrans %}</label> | |
113 | </div> | |
114 | ||
115 | <div class="col s12"> | |
116 | <label>{% trans %}Preview picture{% endtrans %}</label> | |
117 | </div> | |
118 | ||
119 | <div class="input-field col s12 with-checkbox"> | |
120 | {{ form_widget(form.previewPicture) }} | |
121 | <label for="entry_filter_previewPicture">{% trans %}Has a preview picture{% endtrans %}</label> | |
122 | </div> | |
123 | ||
124 | <div class="col s12"> | |
125 | <label>{% trans %}Language{% endtrans %}</label> | |
126 | </div> | |
127 | ||
128 | <div class="input-field col s12"> | |
129 | {{ form_widget(form.language) }} | |
130 | </div> | |
131 | ||
132 | <div class="col s12"> | |
133 | <label>{% trans %}Reading time in minutes{% endtrans %}</label> | |
134 | </div> | |
135 | <div class="input-field col s6"> | |
136 | {{ form_widget(form.readingTime.left_number, {'type': 'number'}) }} | |
137 | <label for="entry_filter_readingTime_left_number">{% trans %}from{% endtrans %}</label> | |
138 | </div> | |
139 | <div class="input-field col s6"> | |
140 | {{ form_widget(form.readingTime.right_number, {'type': 'number'}) }} | |
141 | <label for="entry_filter_readingTime_right_number">{% trans %}to{% endtrans %}</label> | |
142 | </div> | |
143 | ||
144 | <div class="input-field col s12"> | |
145 | {{ form_widget(form.domainName, {'type': 'text', 'attr' : {'placeholder': 'website.com'} }) }} | |
146 | <label for="entry_filter_domainName">{% trans %}Domain name{% endtrans %}</label> | |
147 | </div> | |
148 | ||
149 | <div class="col s12"> | |
150 | <label>{% trans %}Creation date{% endtrans %}</label> | |
151 | </div> | |
152 | ||
153 | <div class="input-field col s6"> | |
154 | {{ form_widget(form.createdAt.left_date, {'type': 'date', 'attr': {'class': 'datepicker', 'data-value': form.createdAt.left_date.vars.value} }) }} | |
155 | <label for="entry_filter_createdAt_left_date" class="active">{% trans %}from{% endtrans %}</label> | |
156 | </div> | |
157 | <div class="input-field col s6"> | |
158 | {{ form_widget(form.createdAt.right_date, {'type': 'date', 'attr': {'class': 'datepicker', 'data-value': form.createdAt.right_date.vars.value} }) }} | |
159 | <label for="entry_filter_createdAt_right_date" class="active">{% trans %}to{% endtrans %}</label> | |
160 | </div> | |
161 | ||
162 | <div class="col s6"> | |
163 | <a href="#!" class="center waves-effect waves-green btn-flat" id="clear_form_filters">{% trans %}Clear{% endtrans %}</a> | |
164 | </div> | |
165 | ||
166 | <div class="col s6"> | |
167 | <button class="btn waves-effect waves-light" type="submit" id="submit-filter" value="filter">{% trans %}Filter{% endtrans %}</button> | |
168 | </div> | |
169 | ||
170 | </div> | |
171 | ||
172 | </form> | |
173 | </div> | |
174 | {% endblock %} |