aboutsummaryrefslogtreecommitdiffstats
path: root/youtube/templates/settings.html
blob: 19a2461b241f9dfa13c91829a56ce05f72da9c66 (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
{% set page_title = 'Settings' %}
{% extends "base.html" %}
{% import "common_elements.html" as common_elements %}
{% block style %}
    .settings-form {
        margin: auto;
        width: 500px;
        margin-top:10px;
        padding: 10px;
        display: block;
        background-color: var(--interface-color);
    }
        .settings-list{
            list-style: none;
            padding: 0px;
        }
            .setting-item{
                margin-bottom: 10px;
                padding: 5px;
            }
                .setting-item label{
                    display: inline-block;
                    width: 250px;
                }

{% endblock style %}

{% block main %}
    <form method="POST" class="settings-form">
        <ul class="settings-list">
            {% for setting_name, setting_info, value in settings %}
                {% if not setting_info.get('hidden', false) %}
                    <li class="setting-item">
                        {% if 'label' is in(setting_info) %}
                            <label for="{{ 'setting_' + setting_name }}">{{ setting_info['label'] }}</label>
                        {% else %}
                            <label for="{{ 'setting_' + setting_name }}">{{ setting_name.replace('_', ' ')|capitalize }}</label>
                        {% endif %}

                        {% if setting_info['type'].__name__ == 'bool' %}
                            <input type="checkbox" id="{{ 'setting_' + setting_name }}" name="{{ setting_name }}" {{ 'checked' if value else '' }}>
                        {% elif setting_info['type'].__name__ == 'int' %}
                            {% if 'options' is in(setting_info) %}
                                <select id="{{ 'setting_' + setting_name }}" name="{{ setting_name }}">
                                    {% for option in setting_info['options'] %}
                                        <option value="{{ option[0] }}" {{ 'selected' if option[0] == value else '' }}>{{ option[1] }}</option>
                                    {% endfor %}
                                </select>
                            {% else %}
                                <input type="number" id="{{ 'setting_' + setting_name }}" name="{{ setting_name }}" value="{{ value }}" step="1">
                            {% endif %}
                        {% elif setting_info['type'].__name__ == 'float' %}

                        {% elif setting_info['type'].__name__ == 'str' %}
                            <input type="text" id="{{ 'setting_' + setting_name }}" name="{{ setting_name }}" value="{{ value }}">
                        {% else %}
                            <span>Error: Unknown setting type: setting_info['type'].__name__</span>
                        {% endif %}
                    </li>
                {% endif %}
            {% endfor %}
        </ul>
        <input type="submit" value="Save settings">
    </form>
{% endblock main %}