{% extends 'layouts/app.twig' %}
{% import 'macros/base.twig' as m %}

{% set only_meetings = only_meetings|default(false) %}
{% block title %}{{ not only_meetings ? __('news.title') : __('news.title.meetings') }}{% endblock %}

{% block content %}
    <div class="container">
        <h1>
            {{ block('title') }}
            {%- if has_permission_to('admin_news') and is_overview|default(false) -%}
                {{ m.button(m.icon('plus-lg'), url('admin/news', only_meetings ? {'meeting': 1} : {}), 'secondary') }}
            {%- endif %}
        </h1>

        {% include 'layouts/parts/messages.twig' %}

        <div class="row">
            <div class="col-md-12">
                {% block news %}
                    {% for news in news %}
                        {{ _self.news(news, true, is_overview) }}
                    {% endfor %}
                {% endblock %}
            </div>

            {% block comments %}
            {% endblock %}

            {% block pagination %}
                {% if pages|default(0) > 1 %}
                    <div class="col-md-12">
                        <ul class="pagination justify-content-center">
                            {% for p in range(1, pages) %}
                                <li class="page-item{% if p == page %} active{% endif %}">
                                    <a class="page-link" href="{{ url('news', p == 1 ? {} : {'page': p}) }}">{{ p }}</a>
                                </li>
                            {% endfor %}
                        </ul>
                    </div>
                {% endif %}
            {% endblock %}

            {% block write_comment %}
            {% endblock %}
        </div>
    </div>
{% endblock %}

{% macro news(news, show_comments_link, is_overview) %}
    <div class="card {% if news.is_meeting %}bg-info{% else %}{% if theme.type =='light' %}bg-light{% else %}bg-dark{% endif %}{% endif %} mb-4">
        {% if is_overview|default(false) %}
        <div class="card-header {% if news.is_meeting and theme.type == 'dark' %}text-white{% endif %}">
                <a href="{{ url('news/' ~ news.id) }}" class="text-inherit">
                    {% if news.is_pinned %}{{ m.icon('pin-angle') }}{% endif %}
                    {% if news.is_meeting %}{{ __('news.is_meeting') }}{% endif %}
                    {{ news.title }}
                </a>
            </div>
        {% endif %}

        <div class="card-body bg-body">
            {{ news.text(not is_overview)|markdown }}
            {% if is_overview and news.text != news.text(false) %}
                {{ m.button(__('news.read_more'), url('news/' ~ news.id), null, 'sm', null, null, 'chevron-double-right') }}
            {% endif %}
        </div>

        <div class="card-footer {% if theme.type =='light' %}bg-light{% else %}bg-dark{% endif %} text-muted">
            {% if news.updated_at != news.created_at and not is_overview %}
                <div class="d-flex align-items-center">
                    <div class="me-3">
                        {{ m.icon('clock') }} {{ news.created_at.format(__('Y-m-d H:i')) }}
                    </div>
                    {{ __('news.updated') }}
                </div>
            {% endif %}
            <div class="d-flex align-items-center">
                <div class="me-3">
                    {{ m.icon('clock') }} {{ news.updated_at.format(__('Y-m-d H:i')) }}
                </div>

                <div class="me-3">
                    {{ m.user(news.user) }}
                </div>

                {% if show_comments_link|default(false) %}
                    <a href="{{ url('news/' ~ news.id) }}" class="me-1">
                        {{ m.icon('chat-left-text') }} {{ __('news.comments') }}
                    </a>
                    <span class="badge bg-primary">{{ news.comments.count() }}</span>
                    {{ m.icon('chevron-double-right', 'primary') }}
                {% endif %}

                {% if has_permission_to('admin_news') %}
                    <div class="ms-auto">
                        {{ m.button(m.icon('pencil-square'), url('admin/news/' ~ news.id), 'secondary', 'sm') }}
                    </div>
                {% endif %}
            </div>
        </div>
    </div>
{% endmacro %}
