From 9d9f90c1d5ad0f6759780a3f9a41a75ac9dcb195 Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Fri, 5 Dec 2025 10:23:49 +0000 Subject: [PATCH] feat(account): enhance session item removal animation and update metadata description --- ts_web/elements/account/views/baseview.ts | 23 ++++++++++++++++++++++- ts_web/index.ts | 6 ++---- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/ts_web/elements/account/views/baseview.ts b/ts_web/elements/account/views/baseview.ts index d9dacf7..181340b 100644 --- a/ts_web/elements/account/views/baseview.ts +++ b/ts_web/elements/account/views/baseview.ts @@ -266,6 +266,19 @@ export class BaseView extends DeesElement { gap: 12px; padding: 12px 20px; 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 { @@ -600,7 +613,7 @@ export class BaseView extends DeesElement { return html`
${this.sessions.map((session) => html` -
+
@@ -797,6 +810,14 @@ export class BaseView extends DeesElement { ); 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(); } catch (error) { console.error('Error revoking session:', error); diff --git a/ts_web/index.ts b/ts_web/index.ts index c5694b2..78a572e 100644 --- a/ts_web/index.ts +++ b/ts_web/index.ts @@ -12,7 +12,7 @@ const run = async () => { metaObject: { title: 'idp.global', description: - 'the code that runs idp.global', + 'Your permanent identity on the web', canonicalDomain: 'https://idp.global', ldCompany: { name: 'Task Venture Capital GmbH', @@ -29,9 +29,7 @@ const run = async () => { description: 'work', name: 'Task Venture Capital GmbH', type: 'company', - facebookUrl: 'https://www.facebook.com/undefined variable', - twitterUrl: 'https://twitter.com/undefined variable', - website: 'https://Task Venture Capital GmbH', + website: 'https://task.vc', phone: '+49 421 16767 548', }, closedDate: null,