feat: label session actuelle + fix bouton révoquer
- GetSessions: retourne is_current=true pour la session correspondant au cookie courant - GetSessions: select token_hash pour la comparaison (non exposé dans le JSON) - profile.html: badge "Session actuelle" + désactive révoquer pour la session courante (utiliser le bouton Déconnexion à la place) - app.js: revokeSession utilise finally pour reset + isRevoking() helper - pages.css: styles .badge-current + .session-current Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
1cbd7e9d17
commit
98cdabf3e1
4 changed files with 40 additions and 14 deletions
|
|
@ -155,14 +155,15 @@
|
|||
<p class="empty-state">Aucune session active</p>
|
||||
</template>
|
||||
<template x-for="s in sessions" :key="s.id">
|
||||
<div class="session-row">
|
||||
<div class="session-row" :class="{ 'session-current': s.is_current }">
|
||||
<div class="session-info">
|
||||
<div class="session-browser">
|
||||
<i class="lnid-laptop-1"></i>
|
||||
<span x-text="parseUA(s.user_agent)"></span>
|
||||
<span class="badge badge-current" x-show="s.is_current">Session actuelle</span>
|
||||
</div>
|
||||
<div class="session-meta">
|
||||
<span class="session-ip" x-text="s.ip"></span>
|
||||
<span class="session-ip" x-text="s.ip || '—'"></span>
|
||||
<span class="session-sep">·</span>
|
||||
<span class="session-date" x-text="formatDate(s.last_used_at || s.created_at)"></span>
|
||||
<span class="session-sep">·</span>
|
||||
|
|
@ -171,9 +172,10 @@
|
|||
</div>
|
||||
<button class="neu-btn neu-btn--sm neu-btn--danger neu-btn--icon-sm"
|
||||
@click="revokeSession(s.id)"
|
||||
:disabled="revoking[s.id]"
|
||||
title="Révoquer cette session">
|
||||
<i class="lnid-cross"></i>
|
||||
:disabled="isRevoking(s.id) || s.is_current"
|
||||
:title="s.is_current ? 'Utilisez le bouton Déconnexion pour cette session' : 'Révoquer cette session'">
|
||||
<i x-show="!isRevoking(s.id)" class="lnid-cross"></i>
|
||||
<span x-show="isRevoking(s.id)" class="spinner-sm"></span>
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue