import { OnboardingData } from "@/pages/Onboarding"; import { Button } from "@/components/ui/button"; import { Label } from "@/components/ui/label"; import { ArrowLeft, ArrowRight } from "lucide-react"; interface InterestsProps { data: OnboardingData; updateData: (data: Partial) => void; nextStep: () => void; prevStep: () => void; } const goalOptions = { "game-developer": [ "Learn new game development technologies", "Get mentorship from industry experts", "Collaborate on innovative projects", "Build a portfolio of game projects", "Join a development team", "Start freelancing in game development", "Improve programming skills", "Learn game design principles", ], client: [ "Develop a custom game or application", "Get technical consulting for my project", "Find reliable development partners", "Scale my existing game/platform", "Implement new features or technologies", "Optimize performance and user experience", "Launch a new digital product", "Build a development team", ], member: [ "Stay updated on industry trends", "Network with tech professionals", "Access research and insights", "Participate in innovation projects", "Share knowledge with the community", "Explore new technologies", "Contribute to open source projects", "Attend workshops and events", ], customer: [ "Play cutting-edge games", "Access premium development tools", "Get early access to new releases", "Join beta testing programs", "Connect with other gamers", "Learn about game development", "Provide feedback on products", "Explore interactive experiences", ], }; const serviceOptions = { "game-developer": [ "Mentorship Programs", "Development Tools Access", "Collaborative Projects", "Technical Workshops", "Code Review Services", "Career Guidance", "Networking Events", "Skill Assessments", ], client: [ "Custom Game Development", "Technical Consulting", "Project Management", "Quality Assurance", "Performance Optimization", "Team Augmentation", "Technology Integration", "Ongoing Support", ], member: [ "Research Access", "Community Forums", "Expert Insights", "Innovation Labs", "Knowledge Base", "Networking Platform", "Event Participation", "Content Library", ], customer: [ "Premium Games", "Development Tools", "Beta Access", "Community Features", "Customer Support", "Regular Updates", "Educational Content", "User Forums", ], }; export default function Interests({ data, updateData, nextStep, prevStep, }: InterestsProps) { const goals = data.userType ? goalOptions[data.userType] || [] : []; const services = data.userType ? serviceOptions[data.userType] || [] : []; const handleGoalToggle = (goal: string) => { const currentGoals = data.interests.primaryGoals; const updatedGoals = currentGoals.includes(goal) ? currentGoals.filter((g) => g !== goal) : [...currentGoals, goal]; updateData({ interests: { ...data.interests, primaryGoals: updatedGoals, }, }); }; const handleServiceToggle = (service: string) => { const currentServices = data.interests.preferredServices; const updatedServices = currentServices.includes(service) ? currentServices.filter((s) => s !== service) : [...currentServices, service]; updateData({ interests: { ...data.interests, preferredServices: updatedServices, }, }); }; const isValid = data.interests.primaryGoals.length > 0 && data.interests.preferredServices.length > 0; return (

Tell us about your goals and interests so we can personalize your experience

{/* Primary Goals */}

Select all that apply

{goals.map((goal) => { const isSelected = data.interests.primaryGoals.includes(goal); return ( ); })}
{/* Preferred Services */}

Select all that interest you

{services.map((service) => { const isSelected = data.interests.preferredServices.includes(service); return ( ); })}

You can always update your preferences later in your account settings

); }