Phase 1: Command palette (⌘K), editor autosave with quiet auto-saves, dashboard saved views from API + quick links + onboarding seed CTA, explicit task scan panel. Phase 2: Context pack formatter with YAML frontmatter, copy on note + workspace .md export. Phase 3: ADR for hybrid search without embeddings; POST /notes/search (lexical + ranked hybrid); search UI mode toggle. Phase 4: POST copilot + suggest-title; in-editor copilot actions; /chat retrieval answers with citations (backend chat.rag_enabled). Phase 5: Settings MCP snippet, offline queue note, API token deferral; DEEP_LINKS.md. Phase 6: Note shares + public GET; share page; POST onboarding-seed. Phase 7: note_versions on PATCH; version panel; create-note templates; PWA manifest. Flags: search.hybrid_enabled, copilot.enabled, chat.rag_enabled, onboarding.seed_enabled. Made-with: Cursor
19 lines
625 B
TypeScript
19 lines
625 B
TypeScript
import type { ReactNode } from "react";
|
|
import { AuthGuard } from "@/components/AuthGuard";
|
|
import { KeyboardShortcuts } from "@/components/KeyboardShortcuts";
|
|
import { BroadcastBanner } from "@/components/BroadcastBanner";
|
|
import { SurveyBanner } from "@/components/SurveyBanner";
|
|
import { CommandPalette } from "@/components/CommandPalette";
|
|
|
|
export default function ProductLayout({ children }: { children: ReactNode }) {
|
|
return (
|
|
<AuthGuard>
|
|
<CommandPalette />
|
|
<KeyboardShortcuts />
|
|
<BroadcastBanner />
|
|
<SurveyBanner />
|
|
<main id="main-content">{children}</main>
|
|
</AuthGuard>
|
|
);
|
|
}
|