misuzu/templates/settings/sessions.twig

82 lines
4.1 KiB
Twig

{% extends 'settings/master.twig' %}
{% from 'macros.twig' import pagination %}
{% set spagination = pagination(sessions_count, sessions_take, sessions_offset, '?m=sessions', 'settings__') %}
{% block settings_content %}
<div class="container">
<div class="container__title">Sessions</div>
<div class="settings__sessions">
<div class="settings__description">
<p>These are the active logins to your account, clicking the Kill button will force a logout on that session. Your current login is highlighted with a darker purple so you don't accidentally force yourself to logout.</p>
</div>
<form class="settings__sessions__actions" method="post" action="?m=sessions">
{{ 'settings'|csrf|raw }}
<button class="input__button" name="session_action" value="kill-all">
Kill all active sessions
</button>
</form>
{{ spagination }}
{% for session in user_sessions %}
<div class="settings__sessions__entry{% if session.session_id == active_session_id %} settings__sessions__entry--current{% endif %}" id="session-{{ session.session_id }}">
<div class="settings__sessions__column settings__sessions__column--ip">
<div class="settings__sessions__column__name">
IP
</div>
<div class="settings__sessions__column__value">
{{ session.session_ip_decoded }}
{% if session.session_country != 'XX' %}
<div class="flag flag--{{ session.session_country|lower }} settings__sessions__country" title="{{ session.session_country|country_name }}"></div>
{% endif %}
</div>
</div>
<div class="settings__sessions__column settings__sessions__column--created" title="{{ session.created_at|date('r') }}">
<div class="settings__sessions__column__name">
Created
</div>
<time class="settings__sessions__column__value" datetime="{{ session.created_at|date('c') }}">
{{ session.created_at|time_diff }}
</time>
</div>
<div class="settings__sessions__column settings__sessions__column--expires" title="{{ session.expires_on|date('r') }}">
<div class="settings__sessions__column__name">
Expires
</div>
<time class="settings__sessions__column__value" datetime="{{ session.expires_on|date('c') }}">
{{ session.expires_on|time_diff }}
</time>
</div>
{% if session.user_agent|length > 0 %}
<div class="settings__sessions__column settings__sessions__column--user_agent">
<div class="settings__sessions__column__name">
User Agent
</div>
<div class="settings__sessions__column__value">
{{ session.user_agent }}
</div>
</div>
{% endif %}
<form class="settings__sessions__column settings__sessions__column--options" method="post" action="?m=sessions">
<input type="hidden" name="session" value="{{ session.session_id }}">
{{ 'settings'|csrf|raw }}
<button class="input__button settings__sessions__button">
{{ session.session_id == active_session_id ? 'Logout' : 'Kill' }}
</button>
</form>
</div>
{% endfor %}
{{ spagination }}
</div>
</div>
{% endblock %}