diff --git a/apps/web/app/globals.css b/apps/web/app/globals.css index 1b52c18..dc332cc 100644 --- a/apps/web/app/globals.css +++ b/apps/web/app/globals.css @@ -32,6 +32,10 @@ --color-info: #4a5a6b; --color-conflict-mark: #b5543a26; --color-conflict-mark-strong: #b5543a8c; + /* 暖深色 callout:仅用于英雄/CTA 时刻(对标 DESIGN.md cta-band-dark),非内容底。 */ + --color-callout: #201d18; + --color-on-callout: #f2ede2; + --color-on-callout-soft: #b8ae9c; --shadow-paper: #2b26200f; color-scheme: light; } @@ -71,6 +75,10 @@ --color-info: #8ca8ca; --color-conflict-mark: #ef8a7230; --color-conflict-mark-strong: #ef8a7290; + /* 夜读下 callout 为更深的凹陷暖井,仍与 bg 拉开层次。 */ + --color-callout: #100e0c; + --color-on-callout: #efe6d7; + --color-on-callout-soft: #a89d8a; --shadow-paper: #00000045; color-scheme: dark; } @@ -126,6 +134,21 @@ body { } } +/* Toast 入场:淡入 + 轻微上移(尊重 prefers-reduced-motion,见下)。 */ +.toast-enter { + animation: toast-in var(--dur-base) var(--ease-standard); +} +@keyframes toast-in { + from { + opacity: 0; + transform: translateY(6px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + @media (prefers-reduced-motion: reduce) { .typewriter-cursor { animation: none; @@ -137,4 +160,7 @@ body { animation: none; outline: 2px solid var(--color-conflict); } + .toast-enter { + animation: none; + } } diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index 5c37b63..8c2c3c0 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -4,7 +4,6 @@ import { BookOpen, PenLine, Plus } from "lucide-react"; import { AppShell } from "@/components/AppShell"; import { BackendDownNotice } from "@/components/BackendDownNotice"; import { ProjectLibrary } from "@/components/projects/ProjectLibrary"; -import { EmptyState } from "@/components/ui/EmptyState"; import { PageContainer } from "@/components/ui/PageContainer"; import { PageHeader } from "@/components/ui/PageHeader"; import { fetchProjects } from "@/lib/api/server"; @@ -51,29 +50,32 @@ export default async function DashboardPage() { {loadError ? ( ) : projects.length === 0 ? ( - - -