]> git.gir.st - subscriptionfeed.git/blob - app/dangerous/templates/channel.html.j2
tone down channel search
[subscriptionfeed.git] / app / dangerous / templates / channel.html.j2
1 {% extends "base.html.j2" %}
2 {% import 'macros.imp.j2' as macros %}
3 {% block title %}{{ title | e }}{% endblock %}
4
5 {% block content %}
6 <!--
7 <img height=200 align=left src="{{ channel_img[channel_img.largest] }}" style="margin:.5em">
8 -->
9 {{ super() }}
10 <details><summary>About</summary><p style="white-space: pre-wrap">{{ channel_desc }}<hr></details>
11 <div style=clear:both></div>
12 <div id="subpages" style="display:flex;margin:1em">
13 <div style="flex:1">
14 <a href="{{ url_for('dangerous.channel', channel_id=channel_id, subpage='videos') }}">videos</a> |
15 <a href="{{ url_for('dangerous.channel', channel_id=channel_id, subpage='playlists') }}">playlists</a> |
16 <form method=get style="display:inline" action="{{ url_for('dangerous.channel', channel_id=channel_id, subpage='search')}}">
17 <input style="background:0;color:#eee;border:0" type=text name=q value="{{ request.args.get('q', '')}}" placeholder="search channel">
18 <!-- <input type="submit" value=">"> -->
19 </form>
20 </div>
21 <form method=get style="flex:1;text-align:right">
22 {% if list %}
23 <input type="hidden" name="list" value="{{playlist_id}}">
24 {% endif %}
25 <select name="sort">
26 <option value="">sort by...</option>
27 <option value="newest" {{ 'selected' if sort == 'newest' }}>newest first</option>
28 <option value="oldest" {{ 'selected' if sort == 'oldest' }}>oldest first</option>
29 {% if subpage == "videos" %}
30 <option value="popular" {{ 'selected' if sort == 'popular' }}>most popular</option>
31 {% elif subpage == "playlists" %}
32 <option value="modified" {{ 'selected' if sort == 'modified' }}>last modified</option>
33 {% endif %}
34 </select>
35 <input type="submit" value=">">
36 </form>
37 </div>
38 <div class="cards">
39 {# TODO: copy pasted from dangerous/search.j2 #}
40 {% for card in rows %}
41 {% set c = card.content %}
42 {% if card.type == 'VIDEO' %}
43 {% call macros.card(c.video_id, c.title, c.length) %}
44 {{ macros.infobar_subscriptions(c.video_id, c.channel_id, c.author) }}
45 <small>{{ c.published if c.published }}&nbsp;</small>
46 {% endcall %}
47 {% elif card.type == 'CHANNEL' and c.channel_id != channel_id %}
48 {% call macros.card_generic("/channel/"~c.channel_id, c.icons[c.icons.largest] if 'icons' in c else '', c.title) %}
49 <span class=channel>Channel</span>
50 <span class=advanced>{{ c.subscribers }}</span>
51 {% endcall %}
52 {% elif card.type == 'PLAYLIST' %}
53 {% call macros.card_generic("/playlist?list="~c.playlist_id, "https://i.ytimg.com/vi/"~c.video_id~"/mqdefault.jpg", c.title) %}
54 <span class=channel>{{ c.author }}</span>
55 <span class=advanced>{{ c.n_videos }} videos</span>
56 {% endcall %}
57 {% elif card.type == 'WEBSITE' %}
58 {% call macros.card_generic(c.url, c.icons[250] if 'icons' in c else '', c.title) %}
59 <span class=channel>{{ c.domain }}</span>
60 {% endcall %}
61 {% endif %}
62 {% endfor %}
63
64 {{ macros.dummycard() }}
65 </div>
66 </article>
67
68 {% if not rows|length %}no more results{% endif %}
69
70 <div class="pagination-container">
71 {% if page is not none %}
72 {{ macros.pagination("previous", {'page':(-1,1)}, -1) if page > 1 }}
73 {{ macros.pagination("next", {'page':(+1,1)}, +1) if has_more}}
74 {% endif %}
75 </div>
76 {% endblock %}
Imprint / Impressum