chore: final cleanup — dead link, security status, showTitle, drop subscriptions

1. CompleteStep: /apps → / ("Workbench" instead of dead "Alle Apps")
2. pnpm lockfile synced after @mana/subscriptions removal
3. Security header panel: status dots for Passkey/2FA/Sessions count
4. GeneralSection: inline settings rows replace GlobalSettingsSection
   wrapper — no more title="" hack or double-card nesting
5. shared-auth-ui: showTitle prop on PasskeyManager, SessionManager,
   TwoFactorSetup, AuditLog; SecuritySection passes showTitle={false}
6. Drop @mana/subscriptions from sources.css + package.json

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-04-16 14:27:46 +02:00
parent 04c806fbb2
commit f203e100c1
4 changed files with 10 additions and 5 deletions

View file

@ -50,7 +50,7 @@
</a>
<a
href="/apps"
href="/"
class="p-4 rounded-xl bg-card border hover:border-primary/50 hover:shadow-md transition-all group"
>
<div class="flex items-center gap-3">
@ -60,8 +60,8 @@
<SquaresFour size={20} class="text-blue-600 dark:text-blue-400" />
</div>
<div>
<div class="font-semibold group-hover:text-blue-600 transition-colors">Alle Apps</div>
<div class="text-xs text-muted-foreground">Entdecke mehr</div>
<div class="font-semibold group-hover:text-blue-600 transition-colors">Workbench</div>
<div class="text-xs text-muted-foreground">Deine Apps entdecken</div>
</div>
</div>
</a>

View file

@ -51,6 +51,7 @@
passkeys = await authStore.listPasskeys();
}}
primaryColor="hsl(var(--color-primary))"
showTitle={false}
/>
</SettingsPanel>
@ -65,6 +66,7 @@
sessionsLoading = false;
}}
primaryColor="hsl(var(--color-primary))"
showTitle={false}
/>
</SettingsPanel>
@ -75,6 +77,7 @@
onDisable={(password) => authStore.disableTwoFactor(password)}
onGenerateBackupCodes={(password) => authStore.generateBackupCodes(password)}
primaryColor="hsl(var(--color-primary))"
showTitle={false}
/>
</SettingsPanel>
@ -92,5 +95,6 @@
securityEventsLoading = false;
}}
primaryColor="hsl(var(--color-primary))"
showTitle={false}
/>
</SettingsPanel>

View file

@ -39,6 +39,7 @@
password: string
) => Promise<{ success: boolean; backupCodes?: string[]; error?: string }>;
primaryColor?: string;
showTitle?: boolean;
translations?: Partial<TwoFactorSetupTranslations>;
}
@ -48,6 +49,7 @@
onDisable,
onGenerateBackupCodes,
primaryColor = '#6366f1',
showTitle = true,
translations = {},
}: Props = $props();
@ -168,7 +170,7 @@
<div class="two-factor-setup">
{#if view === 'status'}
<div class="section-header">
<h3 class="section-title">{t.title}</h3>
{#if showTitle}<h3 class="section-title">{t.title}</h3>{/if}
<div class="status-badge" class:status-enabled={enabled} class:status-disabled={!enabled}>
<span class="status-dot"></span>
{enabled ? t.statusEnabled : t.statusDisabled}

View file

@ -22,5 +22,4 @@
@source "../../shared-auth-ui/src";
@source "../../shared-branding/src";
@source "../../shared-theme-ui/src";
@source "../../subscriptions/src";
@source "../../credits/src";