]> git.immae.eu Git - github/shaarli/Shaarli.git/blame - tpl/default/linklist.html
Asynchronous retrieval of bookmark's thumbnails
[github/shaarli/Shaarli.git] / tpl / default / linklist.html
CommitLineData
402b0346 1<!DOCTYPE html>
cb974e47 2<html{if="$language !== 'auto'"} lang="{$language}"{/if}>
402b0346
A
3<head>
4 {include="includes"}
5</head>
6<body>
7{include="page.header"}
8
9<div class="linkcount pure-u-0 pure-u-lg-visible">
10 {if="!empty($linkcount)"}
11 <span class="strong">{$linkcount}</span> {function="t('shaare', 'shaares', $linkcount)"}
12 {if="$privateLinkcount>0"}
13 <br><span class="strong">{$privateLinkcount}</span> {function="t('private link', 'private links', $privateLinkcount)"}
14 {/if}
15 {/if}
16</div>
17
29a837f3 18<input type="hidden" name="token" value="{$token}">
9d0fc862 19<div id="search-linklist" class="searchform-block search-linklist">
402b0346 20
f210d94f 21 <form method="GET" class="pure-form searchform" name="searchform">
d1bcf28d 22 <input type="text" name="searchterm" class="searchterm" aria-label="{'Search text'|t}" placeholder="{'Search text'|t}"
f210d94f
LC
23 {if="!empty($search_term)"}
24 value="{$search_term}"
25 {/if}
26 >
d1bcf28d 27 <input type="text" name="searchtags" class="searchtags" aria-label="{'Filter by tag'|t}" placeholder="{'Filter by tag'|t}"
f210d94f
LC
28 {if="!empty($search_tags)"}
29 value="{$search_tags}"
30 {/if}
31 autocomplete="off" data-multiple data-autofirst data-minChars="1"
32 data-list="{loop="$tags"}{$key}, {/loop}"
33 >
d1bcf28d 34 <button type="submit" class="search-button" aria-label="{'Search'|t}"><i class="fa fa-search" aria-hidden="true"></i></button>
f210d94f 35 </form>
402b0346
A
36</div>
37
38{loop="$plugins_header.fields_toolbar"}
39 <form
40 {loop="$value.attr"}
41 {$key}="{$value}"
42 {/loop}>
43 <div class="toolbar-plugin pure-u-lg-1">
44 {loop="$value.inputs"}
45 <input
46 {loop="$value"}
47 {$key}="{$value}"
48 {/loop}>
49 {/loop}
50 </div>
51 </form>
52{/loop}
53
54<div id="linklist">
374f89e7 55 <div id="link-count-block" class="pure-g link-count-block">
402b0346 56 <div class="pure-u-lg-2-24 pure-u-1-24"></div>
94c17565 57 <div id="link-count-content" class="pure-u-lg-20-24 pure-u-22-24">
402b0346
A
58 <div class="linkcount pure-u-lg-0 center">
59 {if="!empty($linkcount)"}
60 <span class="strong">{$linkcount}</span> {function="t('shaare', 'shaares', $linkcount)"}
61 {if="$privateLinkcount>0"}
62 &middot; <span class="strong">{$privateLinkcount}</span> {function="t('private link', 'private links', $privateLinkcount)"}
63 {/if}
64 {/if}
65 </div>
66
67 {include="linklist.paging"}
68
69 <div id="plugin_zone_start_linklist" class="plugin_zone">
70 {loop="$plugin_start_zone"}
71 {$value}
72 {/loop}
73 </div>
74 </div>
75 </div>
76
77 {if="count($links)==0"}
94c17565 78 <div id="search-result-block" class="pure-g pure-alert pure-alert-error search-result">
402b0346 79 <div class="pure-u-2-24"></div>
94c17565 80 <div id="search-result-content" class="pure-u-20-24">
402b0346
A
81 <div id="searchcriteria">{'Nothing found.'|t}</div>
82 </div>
83 </div>
f210d94f 84 {elseif="!empty($search_term) or $search_tags !== '' or !empty($visibility) or $untaggedonly"}
94c17565 85 <div id="search-result-block" class="pure-g pure-alert pure-alert-success search-result">
402b0346 86 <div class="pure-u-2-24"></div>
94c17565 87 <div id="search-result-content" class="pure-u-20-24 search-result-main">
12266213 88 {function="sprintf(t('%s result', '%s results', $result_count), $result_count)"}
402b0346
A
89 {if="!empty($search_term)"}
90 {'for'|t} <em><strong>{$search_term}</strong></em>
91 {/if}
92 {if="!empty($search_tags)"}
93 {$exploded_tags=explode(' ', $search_tags)}
94 {'tagged'|t}
95 {loop="$exploded_tags"}
96 <span class="label label-tag" title="{'Remove tag'|t}">
72fbbcd6 97 <a href="{$base_path}/remove-tag/{function="$search_tags_url.$key1"}" aria-label="{'Remove tag'|t}">
893f5159
A
98 {$value}<span class="remove"><i class="fa fa-times" aria-hidden="true"></i></span>
99 </a>
402b0346
A
100 </span>
101 {/loop}
102 {/if}
7c26f662
A
103 {if="!empty($visibility)"}
104 {'with status'|t}
105 <span class="label label-private">
106 {$visibility|t}
107 </span>
108 {/if}
f210d94f
LC
109 {if="$untaggedonly"}
110 <span class="label label-private">
111 {'without any tag'|t}
112 </span>
113 {/if}
402b0346
A
114 </div>
115 </div>
116 {/if}
117
94c17565 118 <div id="linklist-loop-block" class="pure-g">
402b0346 119 <div class="pure-u-lg-2-24 pure-u-1-24"></div>
94c17565 120 <div id="linklist-loop-content" class="pure-u-lg-20-24 pure-u-22-24">
12266213
A
121 {ignore}Set translation here, for performances{/ignore}
122 {$strPrivate=t('Private')}
123 {$strEdit=t('Edit')}
124 {$strDelete=t('Delete')}
125 {$strFold=t('Fold')}
126 {$strEdited=t('Edited: ')}
127 {$strPermalink=t('Permalink')}
128 {$strPermalinkLc=t('permalink')}
129 {$strAddTag=t('Add tag')}
d9bf5b31
A
130 {$strToggleSticky=t('Toggle sticky')}
131 {$strSticky=t('Sticky')}
12266213 132 {ignore}End of translations{/ignore}
402b0346
A
133 {loop="links"}
134 <div class="anchor" id="{$value.shorturl}"></div>
402b0346 135
94c17565 136 <div class="linklist-item linklist-item{if="$value.class"} {$value.class}{/if}" data-id="{$value.id}">
402b0346 137 <div class="linklist-item-title">
21e72da9
A
138 {if="$thumbnails_enabled && $value.thumbnail !== false"}
139 <div
140 class="linklist-item-thumbnail {if="$value.thumbnail === null"}hidden{/if}"
141 style="width:{$thumbnails_width}px;height:{$thumbnails_height}px;"
142 {if="$value.thumbnail === null"}data-async-thumbnail="1"{/if}
143 >
e85b7a05 144 <div class="thumbnail">
e85b7a05 145 {ignore}RainTPL hack: put the 2 src on two different line to avoid path replace bug{/ignore}
06a89927 146 <a href="{$value.real_url}" aria-hidden="true" tabindex="-1">
7f525042 147 <img data-src="{$root_path}/{$value.thumbnail}#" class="b-lazy"
8c75c43e 148 src=""
d1bcf28d 149 alt="" width="{$thumbnails_width}" height="{$thumbnails_height}" />
06a89927 150 </a>
e85b7a05
A
151 </div>
152 </div>
94c17565
A
153 {/if}
154
d3defcac
A
155 <div class="linklist-item-editbuttons">
156 {if="$value.sticky"}
157 <span class="label label-sticky">{$strSticky}</span>
158 {/if}
159 {if="$value.private"}
160 <span class="label label-private">{$strPrivate}</span>
161 {/if}
162 </div>
402b0346
A
163
164 <h2>
21e72da9 165 <a href="{$value.real_url}" class="linklist-real-url">
402b0346 166 {if="strpos($value.url, $value.shorturl) === false"}
d1bcf28d 167 <i class="fa fa-external-link" aria-hidden="true"></i>
402b0346 168 {else}
d1bcf28d 169 <i class="fa fa-sticky-note" aria-hidden="true"></i>
402b0346
A
170 {/if}
171
4e3875c0 172 <span class="linklist-link">{$value.title_html}</span>
402b0346
A
173 </a>
174 </h2>
175 </div>
176
402b0346
A
177 {if="$value.description"}
178 <div class="linklist-item-description">
179 {$value.description}
180 </div>
181 {/if}
182
183 <div class="linklist-item-infos clear">
184 {if="$value.tags"}
185 <div class="linklist-item-tags">
d1bcf28d 186 <i class="fa fa-tags" aria-hidden="true"></i>
402b0346
A
187 {$tag_counter=count($value.taglist)}
188 {loop="value.taglist"}
12266213 189 <span class="label label-tag" title="{$strAddTag}">
4e3875c0 190 <a href="{$base_path}/add-tag/{$value1.taglist_urlencoded.$key2}">{$value1.taglist_html.$key2}</a>
402b0346
A
191 </span>
192 {if="$tag_counter - 1 != $counter"}&middot;{/if}
193 {/loop}
194 </div>
195 {/if}
196
94c17565
A
197 <div class="linklist-item-infos-date-url-block pure-g">
198 <div class="linklist-item-infos-dateblock pure-u-lg-7-12 pure-u-1">
89ccc83b 199 {if="$is_logged_in"}
94c17565
A
200 <div class="linklist-item-infos-controls-group pure-u-0 pure-u-lg-visible">
201 <span class="linklist-item-infos-controls-item ctrl-checkbox">
fc574e64 202 <input type="checkbox" class="link-checkbox" value="{$value.id}">
94c17565
A
203 </span>
204 <span class="linklist-item-infos-controls-item ctrl-edit">
9c75f877 205 <a href="{$base_path}/admin/shaare/{$value.id}" aria-label="{$strEdit}" title="{$strEdit}"><i class="fa fa-pencil-square-o edit-link" aria-hidden="true"></i></a>
94c17565
A
206 </span>
207 <span class="linklist-item-infos-controls-item ctrl-delete">
9c75f877 208 <a href="{$base_path}/admin/shaare/delete?id={$value.id}&amp;token={$token}" aria-label="{$strDelete}"
94c17565 209 title="{$strDelete}" class="delete-link pure-u-0 pure-u-lg-visible confirm-delete">
de07aad1 210 <i class="fa fa-trash" aria-hidden="true"></i>
94c17565
A
211 </a>
212 </span>
4154c25b 213 <span class="linklist-item-infos-controls-item ctrl-pin">
3447d888 214 <a href="{$base_path}/admin/shaare/{$value.id}/pin?token={$token}"
de07aad1
LC
215 title="{$strToggleSticky}" aria-label="{$strToggleSticky}" class="pin-link {if="$value.sticky"}pinned-link{/if} pure-u-0 pure-u-lg-visible">
216 <i class="fa fa-thumb-tack" aria-hidden="true"></i>
4154c25b
A
217 </a>
218 </span>
94c17565 219 </div>
d9bf5b31
A
220 {else}
221 {if="$value.sticky"}
222 <div class="linklist-item-infos-controls-group pure-u-0 pure-u-lg-visible">
223 <span class="linklist-item-infos-controls-item ctrl-pin">
224 <span title="{$strSticky}" class="pin-link pinned-link pure-u-0 pure-u-lg-visible">
d1bcf28d 225 <i class="fa fa-thumb-tack" aria-hidden="true"></i>
d9bf5b31
A
226 </span>
227 </span>
228 </div>
229 {/if}
94c17565 230 {/if}
1a8ac737 231 <a href="{$base_path}/shaare/{$value.shorturl}" title="{$strPermalink}">
89ccc83b 232 {if="!$hide_timestamps || $is_logged_in"}
12266213 233 {$updated=$value.updated_timestamp ? $strEdited. format_date($value.updated) : $strPermalink}
402b0346 234 <span class="linkdate" title="{$updated}">
d1bcf28d 235 <i class="fa fa-clock-o" aria-hidden="true"></i>
52b50310
A
236 {$value.created|format_date}
237 {if="$value.updated_timestamp"}*{/if}
402b0346
A
238 &middot;
239 </span>
240 {/if}
12266213 241 {$strPermalinkLc}
402b0346
A
242 </a>
243
244 <div class="pure-u-0 pure-u-lg-visible">
245 {if="isset($value.link_plugin)"}
246 &middot;
247 {$link_plugin_counter=count($value.link_plugin)}
248 {loop="$value.link_plugin"}
249 {$value}
250 {if="$link_plugin_counter - 1 != $counter"}&middot;{/if}
251 {/loop}
252 {/if}
253 </div>
254 </div><div
255 {ignore}do not add space or line break between these div - Firefox issue{/ignore}
94c17565 256 class="linklist-item-infos-url pure-u-lg-5-12 pure-u-1">
d1bcf28d 257 <a href="{$value.real_url}" aria-label="{$value.title}" title="{$value.title}">
4e3875c0 258 <i class="fa fa-link" aria-hidden="true"></i> {$value.url_html}
402b0346 259 </a>
94c17565 260 <div class="linklist-item-buttons pure-u-0 pure-u-lg-visible">
de07aad1 261 <a href="#" aria-label="{$strFold}" title="{$strFold}" class="fold-button"><i class="fa fa-chevron-up" aria-hidden="true"></i></a>
94c17565 262 </div>
402b0346
A
263 </div>
264 <div class="mobile-buttons pure-u-1 pure-u-lg-0">
265 {if="isset($value.link_plugin)"}
266 {$link_plugin_counter=count($value.link_plugin)}
267 {loop="$value.link_plugin"}
268 {$value}
269 {if="$link_plugin_counter - 1 != $counter"}&middot;{/if}
270 {/loop}
271 {/if}
89ccc83b 272 {if="$is_logged_in"}
402b0346 273 &middot;
9c75f877 274 <a href="{$base_path}/admin/shaare/delete?id={$value.id}&amp;token={$token}" aria-label="{$strDelete}"
12266213 275 title="{$strDelete}" class="delete-link confirm-delete">
de07aad1 276 <i class="fa fa-trash" aria-hidden="true"></i>
402b0346 277 </a>
94c17565 278 &middot;
3eba6bd3
A
279 <a href="{$base_path}/admin/shaare/{$value.id}" aria-label="{$strEdit}" title="{$strEdit}">
280 <i class="fa fa-pencil-square-o edit-link" aria-hidden="true"></i>
281 </a>
282 &middot;
283 <a href="{$base_path}/admin/shaare/{$value.id}/pin?token={$token}"
284 aria-label="{$strToggleSticky}"
285 title="{$strToggleSticky}"
286 class="pin-link {if="$value.sticky"}pinned-link{/if}"
287 >
288 <i class="fa fa-thumb-tack" aria-hidden="true"></i>
289 </a>
402b0346
A
290 {/if}
291 </div>
292 </div>
293 </div>
294 </div>
295 {/loop}
296 </div>
297 </div>
298</div>
299
300 <div id="plugin_zone_end_linklist" class="plugin_zone">
301 {loop="$plugin_end_zone"}
302 {$value}
303 {/loop}
304 </div>
305
374f89e7 306<div id="linklist-paging-bottom-block" class="pure-g link-count-block">
402b0346 307 <div class="pure-u-lg-2-24 pure-u-1-24"></div>
94c17565 308 <div id="linklist-paging-bottom-content" class="pure-u-lg-20-24 pure-u-22-24">
402b0346
A
309 {include="linklist.paging"}
310 </div>
311</div>
312
313{include="page.footer"}
818b3193 314<script src="{$asset_path}/js/thumbnails.min.js?v={$version_hash}#"></script>
21e72da9 315{if="$is_logged_in && $async_metadata"}<script src="{$asset_path}/js/metadata.min.js?v={$version_hash}#"></script>{/if}
402b0346
A
316</body>
317</html>