feat(account): enhance session item removal animation and update metadata description

This commit is contained in:
2025-12-05 10:23:49 +00:00
parent 833cf3b4b8
commit 9d9f90c1d5
2 changed files with 24 additions and 5 deletions
+22 -1
View File
@@ -266,6 +266,19 @@ export class BaseView extends DeesElement {
gap: 12px; gap: 12px;
padding: 12px 20px; padding: 12px 20px;
border-bottom: 1px solid #27272a; border-bottom: 1px solid #27272a;
overflow: hidden;
transition: all 0.3s ease-out;
opacity: 1;
max-height: 100px;
}
.session-item.removing {
opacity: 0;
max-height: 0;
padding-top: 0;
padding-bottom: 0;
margin: 0;
border-bottom-color: transparent;
} }
.session-item:last-child { .session-item:last-child {
@@ -600,7 +613,7 @@ export class BaseView extends DeesElement {
return html` return html`
<div class="session-list"> <div class="session-list">
${this.sessions.map((session) => html` ${this.sessions.map((session) => html`
<div class="session-item"> <div class="session-item" data-session-id=${session.id}>
<div class="session-icon ${session.isCurrent ? 'current' : ''}"> <div class="session-icon ${session.isCurrent ? 'current' : ''}">
<dees-icon .icon=${this.getDeviceIcon(session.os)}></dees-icon> <dees-icon .icon=${this.getDeviceIcon(session.os)}></dees-icon>
</div> </div>
@@ -797,6 +810,14 @@ export class BaseView extends DeesElement {
); );
await typedRequest.fire({ jwt, sessionId }); await typedRequest.fire({ jwt, sessionId });
// Animate the session item collapse before removing from DOM
const sessionElement = this.shadowRoot?.querySelector(`[data-session-id="${sessionId}"]`) as HTMLElement;
if (sessionElement) {
sessionElement.classList.add('removing');
await new Promise(resolve => setTimeout(resolve, 300)); // Wait for animation
}
await this.loadSessions(); await this.loadSessions();
} catch (error) { } catch (error) {
console.error('Error revoking session:', error); console.error('Error revoking session:', error);
+2 -4
View File
@@ -12,7 +12,7 @@ const run = async () => {
metaObject: { metaObject: {
title: 'idp.global', title: 'idp.global',
description: description:
'the code that runs idp.global', 'Your permanent identity on the web',
canonicalDomain: 'https://idp.global', canonicalDomain: 'https://idp.global',
ldCompany: { ldCompany: {
name: 'Task Venture Capital GmbH', name: 'Task Venture Capital GmbH',
@@ -29,9 +29,7 @@ const run = async () => {
description: 'work', description: 'work',
name: 'Task Venture Capital GmbH', name: 'Task Venture Capital GmbH',
type: 'company', type: 'company',
facebookUrl: 'https://www.facebook.com/undefined variable', website: 'https://task.vc',
twitterUrl: 'https://twitter.com/undefined variable',
website: 'https://Task Venture Capital GmbH',
phone: '+49 421 16767 548', phone: '+49 421 16767 548',
}, },
closedDate: null, closedDate: null,