2026-08-22 02:18:27 +03:00
|
|
|
import { Home } from "@/components/home";
|
2026-09-22 13:54:28 +03:00
|
|
|
import { readDefaultSettings, readSettingsRecord } from "@/src/server";
|
|
|
|
|
import { slotsConfigured } from "@/src/core";
|
2026-09-18 09:37:20 +03:00
|
|
|
|
|
|
|
|
// Dynamic: the default settings record is server-rendered into the page —
|
|
|
|
|
// the model + thinking + context controls show truth on the FIRST frame
|
|
|
|
|
// (no default-model flash), and every navigation re-reads the record
|
|
|
|
|
// (dynamic routes aren't cached client-side).
|
|
|
|
|
export const dynamic = "force-dynamic";
|
2026-08-22 02:18:27 +03:00
|
|
|
|
|
|
|
|
export default function HomePage() {
|
2026-09-22 13:54:28 +03:00
|
|
|
// First-run gate (model-slots wave): chats cannot start until the user
|
|
|
|
|
// has picked all three slots — the dock shows the CTA while the raw
|
|
|
|
|
// record's models section lacks any slot pin.
|
|
|
|
|
const record = readSettingsRecord();
|
|
|
|
|
return (
|
|
|
|
|
<Home initialSettings={readDefaultSettings()} initialConfigured={slotsConfigured(record?.models)} />
|
|
|
|
|
);
|
2026-08-22 02:18:27 +03:00
|
|
|
}
|