"use client"; /** * Mode Selection Screen * First-run experience after login with mode cards and natural input */ import { useRouter } from "next/navigation"; import { ModeCard } from "./ModeCard"; import { ModeNaturalInput } from "./ModeNaturalInput"; import { ModeSwitcher } from "./ModeSwitcher"; import { MODE_CARDS, type Mode } from "./modeSelectionTypes"; import { useDocDoeMode } from "./useDocDoeMode"; export function ModeSelectionScreen() { const router = useRouter(); const { setMode, setLastQuery } = useDocDoeMode(); const handleModeSelect = (mode: string) => { // Persist mode selection setMode(mode as Mode); const card = MODE_CARDS.find((item) => item.id === mode); router.push(card?.href ?? "/tuition"); }; const handleNaturalInput = (query: string, detectedMode: Mode) => { // Persist the query setLastQuery(query); // Persist the detected mode setMode(detectedMode); // Route to appropriate mode with query parameter const card = MODE_CARDS.find((item) => item.id === detectedMode); const href = card?.href ?? "/tuition"; router.push(`${href}?q=${encodeURIComponent(query)}`); }; return (
{/* Header with Mode Switcher */}

DocDoe

{/* Main Content */}

Choose how DocDoe should help you study.

{/* Mode Cards */}
{MODE_CARDS.map((card) => ( ))}
{/* Natural Input */} {/* Skip Option */}
); }