1 {% extends "base.html.j2" %}
2 {% import 'macros.imp.j2' as macros %}
6 <link rel="stylesheet" href="{{ url_for('dangerous.static', filename="style.css") }}">
10 {% if rows is not none %}{{ query | e }} — Search results
11 {% else %}Search Youtube Videos{% endif %}
15 <form method=get action=/search id="search">
17 <input id="box" name=q placeholder="Search" value="{{ query | e if query }}">
18 <input id="go" type=submit value="🔍︎" title="search!">
20 <details id="filters"><summary>Filters</summary><div id="container">
22 <option value="">sort by...</option>
23 <option value="relevance">relevance</option>
24 <option value="rating">rating</option>
25 <option value="date">date</option>
26 <option value="views">views</option>
29 <option value="">upload date...</option>
30 <option value="hour">hour</option>
31 <option value="day">day</option>
32 <option value="week">week</option>
33 <option value="month">month</option>
34 <option value="year">year</option>
37 <option value="">type...</option>
38 <option value="video">video</option>
39 <option value="channel">channel</option>
40 <option value="playlist">playlist</option>
41 <option value="movie">movie</option>
42 <option value="show">show</option>
45 <option value="">duration...</option>
46 <option value="short">short</option>
47 <option value="long">long</option>
52 {% if rows is not none %}
55 {# TODO: this is mostly copy-pasted (changed video infobar) from watch.j2's info/endcard section -- dedup! #}
56 <!-- not implemented warning:--><div style="background:red">{%for x in rows|selectattr('content.error')%}{{x.content.error}}{%endfor%}</div>
58 {% for card in rows %}
59 {{ macros.typed_card(card) }}
61 {{ macros.dummycard() }}
64 <div class="pagination-container">
66 {{ macros.pagination("previous", {'page':(-1,1)}, -1) }}
68 {{ macros.pagination("next", {'page':(+1,1)}, +1) }}
71 please type a search query.