"use client"; import { useRouter } from "next/navigation"; import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { Label } from "@/components/ui/label"; import { focusTopicOptions, saveOnboardingPreferences, } from "@/lib/profile-preferences-storage"; import { routes } from "@/lib/routes"; export function OnboardingQuizForm() { const router = useRouter(); const [focusTopic, setFocusTopic] = useState(""); const [isSubmitting, setIsSubmitting] = useState(false); const [error, setError] = useState(null); const handleContinue = async () => { if (!focusTopic) { return; } setIsSubmitting(true); setError(null); try { await saveOnboardingPreferences(focusTopic); router.push(routes.onboardingCustomize); router.refresh(); } catch (submitError) { setError( submitError instanceof Error ? submitError.message : "Could not save onboarding answers.", ); } finally { setIsSubmitting(false); } }; return (

Step 1 of 2

Welcome to HaBit

Choose a focus area, then design your bit in the next step.

What habit do you most want to build first? This helps personalize your daily tasks. {focusTopicOptions.map((option) => { const selected = focusTopic === option; return ( ); })} {error ?

{error}

: null}
); }