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

{% block title %}{{ __('log.log') }}{% endblock %}

{% block content %}
    <div class="col-md-12">
        <h1>{{ block('title') }} <small>({{ entries|length }})</small></h1>

        <div class="row">
            <div class="col-md-12">
                <div class="mb-3">
                    <form method="post" action="{{ url('/admin/logs') }}" class="form-inline">
                        {{ csrf() }}

                        <div class="row">
                            <div class="col-md-8">
                                {{ f.input('search', __('form.search'), {
                                    'value': search,
                                    'hide_label': true,
                                }) }}
                            </div>

                            {% if has_permission_to('logs.all') %}
                                <div class="col-md-4">
                                    {{ f.select('search_user_id', __('general.user'), users, {
                                        'default_option': __('form.user_select'),
                                        'selected': search_user_id,
                                    }) }}
                                </div>
                            {% endif %}
                        </div>

                        {{ f.submit(__('form.search'), {'icon_left': 'search'}) }}
                    </form>
                </div>

                {% if not has_permission_to('logs.all') %}
                    <div class="mb-3">
                        {{ m.alert(__('log.only_own')) }}
                    </div>
                {% endif %}

                <table class="table table-striped">
                    <tr>
                        <th>{{ __('log.time') }}</th>
                        <th>{{ __('log.level') }}</th>
                        <th>{{ __('general.user') }}</th>
                        <th>{{ __('log.message') }}</th>
                    </tr>
                    {% for entry in entries %}
                        {%- set type = 'default' %}
                        {%- if entry.level in ['notice', 'info'] %}
                            {%- set type = 'info' %}
                        {%- endif %}
                        {%- if entry.level in ['error', 'warning'] %}
                            {%- set type = 'warning' %}
                        {%- endif %}
                        {%- if entry.level in ['emergency', 'alert', 'critical'] %}
                            {%- set type = 'danger' %}
                        {%- endif %}

                        {%- set td_type = '' %}
                        {%- if type in ['warning', 'danger'] %}
                            {%- set td_type = type %}
                        {%- endif %}

                        <tr>
                            <td class="table-{{ td_type }} text-nowrap">{{ entry.created_at.format(__('general.datetime')) }}</td>
                            <td class="table-{{ td_type }} text-nowrap">
                                <span class="badge bg-{{ type }}">{{ entry.level|capitalize }}</span> <!-- //todo bs5 -->
                            </td>
                            <td class="text-nowrap">{% if entry.user %}{{ m.user(entry.user) }}{% endif %}</td>
                            <td>{{ entry.message|nl2br }}</td>
                        </tr>
                    {% endfor %}
                </table>
            </div>
        </div>
    </div>
{% endblock %}
