import Link from "next/link"; import { AppShell } from "@/components/AppShell"; import { ProjectCard } from "@/components/ProjectCard"; import { fetchProjects } from "@/lib/api/server"; import type { ProjectResponse } from "@/lib/api/types"; // 作品库(Dashboard 入口,UX §6.1)。Server Component 读取。 export default async function DashboardPage() { let projects: ProjectResponse[] = []; let loadError = false; try { const data = await fetchProjects(); projects = data.projects ?? []; } catch { loadError = true; } return (

我的作品

+ 新建作品
{loadError ? (

无法连接后端服务,请确认 API 已启动后刷新。

) : projects.length === 0 ? ( ) : (
    {projects.map((p) => (
  • ))}
)}
); } function EmptyState() { return (

还没有作品

从一句灵感开始你的第一本书。

+ 新建作品
); } function NewProjectCard() { return ( + 新建 从一句灵感开始一本书 ); }