"use client"; import { useState, useCallback } from "react"; import RecruitmentPage from "./RecruitmentPage"; import RecruitmentNewPage from "./RecruitmentNewPage"; import RecruitmentDetailPage from "./RecruitmentDetailPage"; type ViewType = "list" | "new" | "detail"; export default function RecruitmentShell() { const [view, setView] = useState("list"); const [selectedId, setSelectedId] = useState(null); const goToList = useCallback(() => { setView("list"); setSelectedId(null); }, []); const goToNew = useCallback(() => { setView("new"); setSelectedId(null); }, []); const goToDetail = useCallback((id: string) => { setSelectedId(id); setView("detail"); }, []); const handleNavigate = useCallback((v: "list" | "new" | "detail", id?: string) => { if (v === "list") goToList(); else if (v === "new") goToNew(); else if (v === "detail" && id) goToDetail(id); }, [goToList, goToNew, goToDetail]); return ( <> {view === "list" && } {view === "new" && } {view === "detail" && selectedId && } ); }