home » zplus/freepost.git
ID: 274ad3ae645ae2cef48b4b2c0f5c786ffec4e5b8
46 lines — 2K — View raw


{# Template for up/down vote arrows.
 # This template expects these inputs
 # 
 #     - target: ('post', 'comment')
 #     - item: either a "post" object or a "comment"
 #     - user: reference to logged in user
 #}

{% macro vote (target, item, user) %}

    <span class="vote">

        {% if user %}
            
            <form action="{{ url ('vote') }}" target="vote_sink" method="post">
                <input type="hidden" name="target" value="{{ target }}" />
                <input type="hidden" name="{{ target }}" value="{{ item.hashId }}" />
                <input type="hidden" name="updown" value="up" />
                
                <button title="upvote" class="{{ 'upvoted' if item.user_vote == 1 else '' }}">
                    ˄
                </button>
            </form>

            {# Show number of votes #}
            <span class="count">{{ item.vote }}</span>
            
            <form action="{{ url ('vote') }}" target="vote_sink" method="post">
                <input type="hidden" name="target" value="{{ target }}" />
                <input type="hidden" name="{{ target }}" value="{{ item.hashId }}" />
                <input type="hidden" name="updown" value="down" />
                
                <button title="downvote" class="{{ 'downvoted' if item.user_vote == -1 else '' }}">
                    ˅
                </button>
            </form>

        {% else %}
            
            {{ item.vote ~ ' vote' ~ ('s' if item.vote != 1 else '') }}
        
        {% endif %}
        
    </span>

{% endmacro %}