aboutsummaryrefslogtreecommitdiffstats
path: root/youtube/templates/channel.html
blob: 8d2249cd8360968d592885a84bd710f963ad0d39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
{% if current_tab == 'search' %}
    {% set page_title = search_box_value + ' - Page ' + page_number|string %}
{% else %}
    {% set page_title = channel_name|string + ' - Channel' %}
{% endif %}

{% extends "base.html" %}
{% import "common_elements.html" as common_elements %}
{% block style %}
    <link href="/youtube.com/static/message_box.css" rel="stylesheet">
    <link href="/youtube.com/static/channel.css" rel="stylesheet">
{% endblock style %}

{% block main %}

    <div class="author-container">
        <div class="author">
            <img alt="{{ channel_name }}" src="{{ avatar }}">
            <h2>{{ channel_name }}</h2>
        </div>
        <div class="summary">
            <p>{{ short_description }}</p>
        </div>
        <div class="subscribe">
            <form method="POST" action="/youtube.com/subscriptions" class="subscribe-unsubscribe">
                <input class="btn-subscribe" type="submit" value="{{ 'Unsubscribe' if subscribed else 'Subscribe' }}">
                <input type="hidden" name="channel_id" value="{{ channel_id }}">
                <input type="hidden" name="channel_name" value="{{ channel_name }}">
                <input type="hidden" name="action" value="{{ 'unsubscribe' if subscribed else 'subscribe' }}">
            </form>
        </div>
    </div>
    <hr/>

    <nav class="channel-tabs">
        {% for tab_name in ('Videos', 'Shorts', 'Streams', 'Playlists', 'About') %}
            {% if tab_name.lower() == current_tab %}
                <a class="tab page-button">{{ tab_name }}</a>
            {% else %}
                <a class="tab page-button" href="{{ channel_url + '/' + tab_name.lower() }}">{{ tab_name }}</a>
            {% endif %}
        {% endfor %}

        <form class="channel-search" action="{{ channel_url + '/search' }}">
            <input type="search" name="query" class="search-box" value="{{ search_box_value }}">
            <button type="submit" value="Search" class="search-button">Search</button>
        </form>
    </nav>
    {% if current_tab == 'about' %}
        <div class="channel-info">
            <ul>
                {% for (before_text, stat, after_text) in [
                    ('Joined ', date_joined, ''),
                    ('', view_count|commatize, ' views'),
                    ('', approx_subscriber_count, ' subscribers'),
                ] %}
                    {% if stat %}
                        <li>{{ before_text + stat|string + after_text }}</li>
                    {% endif %}
                {% endfor %}
            </ul>
            <hr>
            <h3>Description</h3>
            <div class="description">{{ common_elements.text_runs(description) }}</div>
            <hr>
            <ul>
                {% for text, url in links %}
                    <li><a href="{{ url }}">{{ text }}</a></li>
                {% endfor %}
            </ul>
        </div>
    {% else %}

        <!-- new-->
        <div id="links-metadata">
                {% if current_tab in ('videos', 'shorts', 'streams') %}
                    {% set sorts = [('1', 'views'), ('2', 'oldest'), ('3', 'newest'), ('4', 'newest - no shorts'),] %}
                    <div id="number-of-results">{{ number_of_videos }} videos</div>
                {% elif current_tab == 'playlists' %}
                    {% set sorts = [('2', 'oldest'), ('3', 'newest'), ('4', 'last video added')] %}
                    {% if items %}
                        <h2 class="page-number">Page {{ page_number }}</h2>
                    {% else %}
                        <h2 class="page-number">No items</h2>
                    {% endif %}
                {% elif current_tab == 'search' %}
                    {% if items %}
                        <h2 class="page-number">Page {{ page_number }}</h2>
                    {% else %}
                        <h2 class="page-number">No results</h2>
                    {% endif %}
                {% else %}
                    {% set sorts = [] %}
                {% endif %}

                {% for sort_number, sort_name in sorts %}
                    {% if sort_number == current_sort.__str__() %}
                        <a class="sort-button">{{ 'Sorted by ' + sort_name }}</a>
                    {% else %}
                        <a class="sort-button" href="{{ channel_url + '/' + current_tab + '?sort=' + sort_number }}">{{ 'Sort by ' + sort_name }}</a>
                    {% endif %}
                {% endfor %}
        </div>

        <div class="video-container {{ current_tab + '-content'}}">
                {% for item_info in items %}
                    {{ common_elements.item(item_info, include_author=false) }}
                {% endfor %}
        </div>
        <hr/>

        <footer class="pagination-container">
            {% if current_tab in ('videos', 'shorts', 'streams') %}
                <nav class="pagination-list">
                    {{ common_elements.page_buttons(number_of_pages, channel_url + '/' + current_tab, parameters_dictionary, include_ends=(current_sort.__str__() in '34')) }}
                </nav>
            {% elif current_tab == 'playlists' or current_tab == 'search' %}
                <nav class="next-previous-button-row">
                    {{ common_elements.next_previous_buttons(is_last_page, channel_url + '/' + current_tab, parameters_dictionary) }}
                </nav>
            {% endif %}
        </footer>
        <!-- /new-->
    {% endif %}

{% endblock main %}