]> git.gir.st - subscriptionfeed.git/blob - app/browse/templates/channel.html.j2
implement pagination of channel/ucid/playlists (VERY HACKY)
[subscriptionfeed.git] / app / browse / 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 <h1>{{ title | e }} <small>{{ macros.emoji_button("subscribe", channel_id, is_subscribed) if channel_id }}</small></h1>
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('browse.channel', channel_id=channel_id, subpage='videos') }}">videos</a> |
15 <a href="{{ url_for('browse.channel', channel_id=channel_id, subpage='playlists') }}">playlists</a> |
16 <form method=get style="display:inline" action="{{ url_for('browse.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 {% for card in rows %}
40 {{ macros.typed_card(card) }}
41 {% endfor %}
42 {{ macros.dummycard() }}
43 </div>
44
45 {% if not rows|length %}no more results{% endif %}
46
47 <div class="pagination-container">
48 {% if subpage == "playlists" %}
49 {{ macros.pagination("more", {'cursor': page}, +1) if has_more}}
50 {% else %}
51 {{ macros.pagination("previous", {'page':(-1,1)}, -1) if page > 1 }}
52 {{ macros.pagination("next", {'page':(+1,1)}, +1) if has_more}}
53 {% endif %}
54 </div>
55 {% endblock %}
Imprint / Impressum