summaryrefslogtreecommitdiff
path: root/templates/index.html
blob: d04f471eabccda779863510f4da3042562af57b1 (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
<!doctype html>
<html lang="de">
<head>
    <title>Lehrerspruch-Wahlplattform</title>
    <link rel="stylesheet" type="text/css" href="/static/materialize.min.css">
    <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/icon?family=Material+Icons">
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0" />
</head>
<body>
    <script type="text/javascript" src="/static/jquery.min.js"></script>
    <script type="text/javascript" src="/static/materialize.min.js"></script>
    <div class="container">
        <h3>Lehrersprüche</h3>
        <div class="divider"></div>
        {% for joke in jokes %}
        <div class="row section valign-wrapper">
            <div class="col s3 m2">
                <div class="row joke">
                    <form action="/vote" method="post" class="voteform">
                        <input type="hidden" name="id" value="{{ joke.id }}">
                        <input type="hidden" name="redirpage" value="{{ currentpage }}">
                        <button class="upvotebtn btn{% if joke.reports>0 %}-flat{% endif %}{% if joke.upvoted %} disabled{% endif %} col s12" type="submit" name="vote" value="upvote">
                            <i class="material-icons">thumb_up</i> <span class="btnval" data-original="{% if joke.upvoted %}{{ joke.upvotes-1 }}{% else %}{{ joke.upvotes }}{% endif %}">{{ joke.upvotes }}</span>
                        </button>
                        <button class="downvotebtn btn{% if joke.reports>0 %}-flat{% endif %}{% if joke.downvoted %} disabled{% endif %} col s12" type="submit" name="vote" value="downvote">
                            <i class="material-icons">thumb_down</i> <span class="btnval" data-original="{% if joke.downvoted %}{{ joke.downvotes-1 }}{% else %}{{ joke.downvotes }}{% endif %}">{{ joke.downvotes }}</span>
                        </button>
                    </form>
                    <form action="/report" method="post">
                        <input type="hidden" name="id" value="{{ joke.id }}">
                        <input type="hidden" name="redirpage" value="{{ currentpage }}">
                        <button class="btn-flat col s12{% if joke.reported %} disabled{% endif %}" type="submit">
                            {% if joke.reports>0 %}
                            <div class="row">
                                <i class="material-icons col s6">report_problem</i>
                                <span class="red-text col s6">{{ joke.reports }}</span>
                            </div>
                            {% else %}
                            <i class="material-icons">report_problem</i>
                            {% endif %}
                        </button>
                    </form>
                    {% if joke.mine %}
                    <form action="/delete" method="post">
                        <input type="hidden" name="id" value="{{ joke.id }}">
                        <input type="hidden" name="redirpage" value="{{ currentpage }}">
                        <button class="btn-flat col s12" type="submit"><i class="material-icons">delete</i></button>
                    </form>
                    {% endif %}
                </div>
            </div>
            <div class="valign col s9 m10 {% if joke.reports>0 %}grey-text{% endif %}">
                {{ joke.text|safe }}
            </div>
        </div>
        <div class="divider"></div>
        {% endfor %}
        <div class="section center">
            <ul class="pagination">
                <li{% if currentpage==0 %} class="disabled"{% endif %}><a href="/page/{{ currentpage-1 }}"><i class="material-icons">chevron_left</i></a></li>
                {% for page in pages %}
                <li{% if currentpage==loop.index0 %} class="active"{% endif %}><a href="/page/{{ loop.index0 }}">{{ loop.index }}</a></li>
                {% endfor %}
                <li{% if currentpage==loop.length-1 %} class="disabled"{% endif %}><a href="/page/{{ currentpage+1 }}"><i class="material-icons">chevron_right</i></a></li>
            </ul>
        </div>
        <div class="divider hide-on-small-only"></div>
        <div class="section hide-on-small-only">
            <form action="/submit" method="post">
                <input type="hidden" name="redirpage" value="{{ currentpage }}">
                <div class="row valign-wrapper">
                    <div class="col s10 input-field">
                        <label for="text">Neuen Spruch hinzufügen</label>
                        <textarea class="materialize-textarea" name="text"></textarea>
                    </div>
                    <div class="col s3 valign">
                        <input type="submit" class="btn" value="hinzufügen">
                    </div>
                </div>
            </form>
        </div>
    </div>
    <script type="text/javascript">
        $(document).ready(function() {
            $('.upvotebtn').click(function(e) { submitAjaxer.call(this, e, 'upvote'); });
            $('.downvotebtn').click(function(e) { submitAjaxer.call(this, e, 'downvote'); });

            function submitAjaxer(e, type) {
                e.preventDefault();
                var form = $(this).closest('form');
                var joke = $(this).closest('.joke');
                $.ajax({
                    url: form.attr('action'),
                    type: "POST",
                    data: form.serialize() + '&vote=' + type,
                    success: function(data) {
                        var upvotebtn = $('.upvotebtn .btnval', form).first();
                        var downvotebtn = $('.downvotebtn .btnval', form).first();
                        var upvotes = parseInt(upvotebtn.data('original'));
                        var downvotes = parseInt(downvotebtn.data('original'));
                        upvotebtn.text();
                        downvotebtn.text(downvotebtn.data('original'));
                        upvotebtn.parent().removeClass('disabled');
                        downvotebtn.parent().removeClass('disabled');
                        upvotebtn.text(upvotes);
                        downvotebtn.text(downvotes);
                        if (type == "upvote") {
                            upvotebtn.text(upvotes+1);
                            upvotebtn.parent().addClass('disabled');
                        } else if (type == "downvote") {
                            downvotebtn.text(downvotes+1);
                            downvotebtn.parent().addClass('disabled');
                        }
                    }
                });
            }
        });
    </script>
</body>
</html>