c891ab2588
- refresh: https://tabler-icons.io/i/refresh - edit: https://tabler-icons.io/i/edit - delete: https://tabler-icons.io/i/delete - mark page as read: https://tabler-icons.io/i/check - mark all as read: https://tabler-icons.io/i/checks - show all entries: https://tabler-icons.io/i/eye - show only unread entries: https://tabler-icons.io/i/eye-off - create category: https://tabler-icons.io/i/folder-plus - add subscription: https://tabler-icons.io/i/plus - import: https://tabler-icons.io/i/file-import - export: https://tabler-icons.io/i/file-export - categories: https://tabler-icons.io/i/folders
38 lines
1.5 KiB
HTML
38 lines
1.5 KiB
HTML
{{ define "title"}}{{ t "page.sessions.title" }}{{ end }}
|
|
|
|
{{ define "content"}}
|
|
<section class="page-header">
|
|
<h1>{{ t "page.sessions.title" }}</h1>
|
|
{{ template "settings_menu" dict "user" .user }}
|
|
</section>
|
|
|
|
<table>
|
|
<tr>
|
|
<th>{{ t "page.sessions.table.date" }}</th>
|
|
<th>{{ t "page.sessions.table.ip" }}</th>
|
|
<th>{{ t "page.sessions.table.user_agent" }}</th>
|
|
<th>{{ t "page.sessions.table.actions" }}</th>
|
|
</tr>
|
|
{{ range .sessions }}
|
|
<tr {{ if eq .Token $.currentSessionToken }}class="row-highlighted"{{ end }}>
|
|
<td class="column-20" title="{{ isodate .CreatedAt }}">{{ elapsed $.user.Timezone .CreatedAt }}</td>
|
|
<td class="column-20" title="{{ .IP }}">{{ .IP }}</td>
|
|
<td title="{{ .UserAgent }}">{{ .UserAgent }}</td>
|
|
<td class="column-20">
|
|
{{ if eq .Token $.currentSessionToken }}
|
|
{{ t "page.sessions.table.current_session" }}
|
|
{{ else }}
|
|
<a href="#"
|
|
data-confirm="true"
|
|
data-label-question="{{ t "confirm.question" }}"
|
|
data-label-yes="{{ t "confirm.yes" }}"
|
|
data-label-no="{{ t "confirm.no" }}"
|
|
data-label-loading="{{ t "confirm.loading" }}"
|
|
data-url="{{ route "removeSession" "sessionID" .ID }}">{{ icon "delete" }}{{ t "action.remove" }}</a>
|
|
{{ end }}
|
|
</td>
|
|
</tr>
|
|
{{ end }}
|
|
</table>
|
|
|
|
{{ end }}
|