"use client"; import { useState } from "react"; import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { Button } from "@/components/ui/button"; import { Label } from "@/components/ui/label"; interface OnboardingDialogProps { open: boolean; onComplete: (preferences: { substanceType: string; stayLoggedIn: boolean; }) => Promise; } export function OnboardingDialog({ open, onComplete }: OnboardingDialogProps) { const [step, setStep] = useState<"substance" | "login">("substance"); const [substanceType, setSubstanceType] = useState(""); const [stayLoggedIn, setStayLoggedIn] = useState(null); const [isSubmitting, setIsSubmitting] = useState(false); const handleSubstanceSelect = (type: string) => { setSubstanceType(type); setStep("login"); }; const handleLoginPreference = async (stay: boolean) => { setStayLoggedIn(stay); setIsSubmitting(true); await onComplete({ substanceType, stayLoggedIn: stay, }); setIsSubmitting(false); }; return ( e.preventDefault()}> {step === "substance" ? "What are you tracking?" : "Stay Logged In?"} {step === "substance" ? "Select the substance you want to track and reduce." : "Would you like to stay logged in on this device?"} {step === "substance" ? (
) : (

If you choose to stay logged in, you won't need to sign in again for 30 days on this device.

)}
); }