551d6317ae
Keep archive as a PATCH of archived_at rather than DELETE, pass entry_mode through onboarding, and let popstate to the default chat reuse selectSession. Then move send/stop/recovery and session management out of page.tsx so the home surface stays within the batch-two line budget. Co-authored-by: Cursor <cursoragent@cursor.com>
26 lines
836 B
TypeScript
26 lines
836 B
TypeScript
import { existsSync, readFileSync } from "node:fs";
|
|
|
|
const homeSurfaceFiles = [
|
|
"../src/app/page.tsx",
|
|
"../src/lib/home-types.ts",
|
|
"../src/components/onboarding-chat-message.tsx",
|
|
"../src/lib/home-profile.ts",
|
|
"../src/lib/home-cloud-sync.ts",
|
|
"../src/components/birth-location-fields.tsx",
|
|
"../src/components/profile-fields.tsx",
|
|
"../src/components/chart-library-panel.tsx",
|
|
"../src/components/starter-home.tsx",
|
|
] as const;
|
|
|
|
const optionalHomeHookFiles = [
|
|
"../src/hooks/use-session-management.ts",
|
|
"../src/hooks/use-consultation-run.ts",
|
|
] as const;
|
|
|
|
export const homeSurface = [
|
|
...homeSurfaceFiles,
|
|
...optionalHomeHookFiles.filter((relativePath) => existsSync(new URL(relativePath, import.meta.url))),
|
|
]
|
|
.map((relativePath) => readFileSync(new URL(relativePath, import.meta.url), "utf8"))
|
|
.join("\n");
|