"use client"
import { useState } from "react"
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardFooter, CardHeader, CardTitle } from "@/components/ui/card"
import { Input } from "@/components/ui/input"
import { Label } from "@/components/ui/label"
import { Textarea } from "@/components/ui/textarea"
type FormData = {
companyName: string
address: string
phoneNumber: string
contactFirstName: string
contactLastName: string
contactPhoneNumber: string
contactEmail: string
sftpUser: string
sftpPassword: string
currentLandingPageSamples: string
brandGuidelines: string
contentSamples: string
targetAudience: string
keyServiceArea1: string
keyServiceArea2: string
keyServiceArea3: string
primaryTopic1: string
primaryTopic2: string
primaryTopic3: string
}
const initialFormData: FormData = {
companyName: "",
address: "",
phoneNumber: "",
contactFirstName: "",
contactLastName: "",
contactPhoneNumber: "",
contactEmail: "",
sftpUser: "",
sftpPassword: "",
currentLandingPageSamples: "",
brandGuidelines: "",
contentSamples: "",
targetAudience: "",
keyServiceArea1: "",
keyServiceArea2: "",
keyServiceArea3: "",
primaryTopic1: "",
primaryTopic2: "",
primaryTopic3: "",
}
export default function OnboardingWizard() {
const [step, setStep] = useState(1)
const [formData, setFormData] = useState(initialFormData)
const updateFormData = (field: keyof FormData, value: string) => {
setFormData((prev) => ({ ...prev, [field]: value }))
}
const nextStep = () => setStep((prev) => Math.min(prev + 1, 4))
const prevStep = () => setStep((prev) => Math.max(prev - 1, 1))
const submitForm = () => {
const subject = encodeURIComponent("New Onboarding Form Submission")
const body = encodeURIComponent(Object.entries(formData).map(([key, value]) => `${key}: ${value}`).join('\n'))
window.location.href = `mailto:access@roihealthpartners.com?subject=${subject}&body=${body}`
}
const renderStep = () => {
switch (step) {
case 1:
return (
<>
Company Information
>
)
case 2:
return (
<>
Access Information
>
)
case 3:
return (
<>
Landing Page Details
>
)
case 4:
return (
<>
Content
>
)
default:
return null
}
}
return (
{renderStep()}
{step > 1 && (
)}
{step < 4 ? (
) : (
)}
)
}
updateFormData("companyName", e.target.value)}
/>
updateFormData("address", e.target.value)}
/>
updateFormData("phoneNumber", e.target.value)}
/>
updateFormData("contactFirstName", e.target.value)}
/>
updateFormData("contactLastName", e.target.value)}
/>
updateFormData("contactPhoneNumber", e.target.value)}
/>
updateFormData("contactEmail", e.target.value)}
/>
Please provide Standard access to access@roimediapartners.com
updateFormData("sftpUser", e.target.value)}
/>
updateFormData("sftpPassword", e.target.value)}
/>
updateFormData("keyServiceArea1", e.target.value)}
/>
updateFormData("keyServiceArea2", e.target.value)}
/>
updateFormData("keyServiceArea3", e.target.value)}
/>
updateFormData("primaryTopic1", e.target.value)}
/>
updateFormData("primaryTopic2", e.target.value)}
/>
updateFormData("primaryTopic3", e.target.value)}
/>