/** * Step → screen component map (Linear CR-92 §3). Keeps {@link CreateFlowScreenView} * thin; pair with {@link CREATE_FLOW_SCREEN_REGISTRY} metadata in tests/docs so * new steps do not drift. */ import type { ReactNode } from "react"; import type { CreateFlowStep } from "../types"; import { InformationalScreen } from "./informational/InformationalScreen"; import { CreateFlowTextFieldScreen } from "./text/CreateFlowTextFieldScreen"; import { CommunitySizeSelectScreen } from "./select/CommunitySizeSelectScreen"; import { CommunityStructureSelectScreen } from "./select/CommunityStructureSelectScreen"; import { CoreValuesSelectScreen } from "./select/CoreValuesSelectScreen"; import { ConfirmStakeholdersScreen } from "./select/ConfirmStakeholdersScreen"; import { CommunityUploadScreen } from "./upload/CommunityUploadScreen"; import { CommunityReviewScreen } from "./review/CommunityReviewScreen"; import { FinalReviewScreen } from "./review/FinalReviewScreen"; import { CommunicationMethodsScreen } from "./card/CommunicationMethodsScreen"; import { MembershipMethodsScreen } from "./card/MembershipMethodsScreen"; import { ConflictManagementScreen } from "./card/ConflictManagementScreen"; import { DecisionApproachesScreen } from "./right-rail/DecisionApproachesScreen"; import { CompletedScreen } from "./completed/CompletedScreen"; export function renderCreateFlowScreen(screenId: CreateFlowStep): ReactNode { switch (screenId) { case "informational": return ; case "community-name": return ( ); case "community-structure": return ; case "community-context": return ( ); case "community-size": return ; case "community-upload": return ; case "community-save": return ( ); case "review": return ; case "core-values": return ; case "communication-methods": return ; case "membership-methods": return ; case "decision-approaches": return ; case "conflict-management": return ; case "confirm-stakeholders": return ; case "final-review": return ; case "edit-rule": return ; case "completed": return ; default: { const _exhaustive: never = screenId; return _exhaustive; } } }