refactor(frontend): unify list and create pages with compact topbar layout

Move resource list and guide page titles into the shared topbar, introduce ListPageLayout for tighter spacing, and align knowledge edit with the prompt editor chrome.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Eric Wang
2026-08-05 15:05:16 +08:00
co-authored by Cursor
parent b27efb2892
commit a9c70effae
9 changed files with 529 additions and 467 deletions
+11 -8
View File
@@ -31,7 +31,10 @@ import {
} from "@/components/ui/dialog";
import { FilterPills } from "@/components/ui/filter-pills";
import { ListToolbar } from "@/components/ui/list-toolbar";
import { PageHeader } from "@/components/ui/page-header";
import {
ListPageLayout,
ListPageSection,
} from "@/components/layout/list-page-layout";
import { SearchInput } from "@/components/ui/search-input";
import {
conversationsApi,
@@ -364,13 +367,12 @@ export function HistoryPage() {
const pageEnd = pageStart + rows.length;
return (
<div className="mx-auto flex w-full max-w-[1440px] flex-col gap-8">
<PageHeader
<>
<ListPageLayout
title="历史记录"
description="查看每次语音或文字会话中最终确认的用户转写和助手回复。"
/>
<section className="rounded-2xl border border-hairline bg-card p-6 shadow-sm">
>
<ListPageSection>
<ListToolbar
filters={
<FilterPills
@@ -417,7 +419,8 @@ export function HistoryPage() {
: `显示 ${pageStart + 1}-${Math.min(pageEnd, total)} / 共 ${total} 次会话`,
}}
/>
</section>
</ListPageSection>
</ListPageLayout>
<Dialog open={dialogOpen} onOpenChange={setDialogOpen}>
<DialogContent className="max-h-[calc(100vh-3rem)] grid-rows-[auto_minmax(0,1fr)_auto] overflow-hidden sm:max-w-4xl">
@@ -522,7 +525,7 @@ export function HistoryPage() {
</DialogFooter>
</DialogContent>
</Dialog>
</div>
</>
);
}