feat(redesign): aurora foundation — tokens, glass sidebar, dashboard
Foundation pass on the Aurora redesign: - app.css: full token swap to lavender/orchid/mint/sky pastel palette, vivid aurora gradient backdrop, frosted glass surface tokens, two themes (Aurora dark + Pearl light), shadow recipe for floating glass. - fonts: add Geist Sans / Geist Mono / Newsreader, drop DM Sans usage (legacy fontsource entries kept in package.json until full migration). - layout.svelte: sidebar becomes a floating glass rail with a conic- gradient brand orb, Newsreader italic 'Bridge' wordmark, soft glass hovers on nav links, gradient active indicator, gradient user avatar. - Card.svelte: glass surface + inner highlight + soft hover lift. - PageHeader.svelte: Newsreader serif display title. - +page.svelte (dashboard): stat cards become glass with colored accent 'orb', event timeline gets soft glass rows + slide-on-hover. Build clean (0 errors, pre-existing a11y warnings unchanged). Other pages still inherit old chrome via shared tokens but will need component-specific passes; tracked separately.
This commit is contained in:
@@ -1,16 +1,20 @@
|
||||
<script lang="ts">
|
||||
let { title, description = '', children } = $props<{
|
||||
import type { Snippet } from 'svelte';
|
||||
|
||||
interface Props {
|
||||
title: string;
|
||||
description?: string;
|
||||
children?: import('svelte').Snippet;
|
||||
}>();
|
||||
children?: Snippet;
|
||||
}
|
||||
|
||||
let { title, description = '', children }: Props = $props();
|
||||
</script>
|
||||
|
||||
<div class="flex items-center justify-between mb-8">
|
||||
<div class="page-header">
|
||||
<div class="animate-fade-slide-in">
|
||||
<h2 class="text-2xl font-semibold tracking-tight">{title}</h2>
|
||||
<h2 class="page-header__title">{title}</h2>
|
||||
{#if description}
|
||||
<p class="text-sm mt-1.5" style="color: var(--color-muted-foreground);">{description}</p>
|
||||
<p class="page-header__desc">{description}</p>
|
||||
{/if}
|
||||
</div>
|
||||
{#if children}
|
||||
@@ -19,3 +23,29 @@
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.page-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 2rem;
|
||||
gap: 1rem;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.page-header__title {
|
||||
font-family: var(--font-display);
|
||||
font-weight: 400;
|
||||
font-size: 2.25rem;
|
||||
letter-spacing: -0.025em;
|
||||
line-height: 1.05;
|
||||
color: var(--color-foreground);
|
||||
margin: 0;
|
||||
}
|
||||
.page-header__desc {
|
||||
font-size: 0.9rem;
|
||||
color: var(--color-muted-foreground);
|
||||
margin-top: 0.4rem;
|
||||
line-height: 1.5;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user