'use client'; import { useState } from 'react'; import { Users, Scale, Crown, Check, Sparkles, X, ArrowRight } from 'lucide-react'; import { PERSONAS, setPersona, markOnboarded, type PersonaId } from '@/lib/persona'; import { cn } from '@/lib/utils'; interface PersonaOnboardingProps { /** Called when user picks a persona OR skips */ readonly onClose: () => void; } const ICONS: Record = { Users, Scale, Crown }; /** Resolve persona card className based on selected/hovered state (extracted from nested ternary). */ function getCardClass(isSelected: boolean, isHovered: boolean): string { if (isSelected) return 'border-gold bg-gold/8 shadow-lg shadow-gold/10'; if (isHovered) return 'border-border/80 bg-accent/30'; return 'border-border/40 bg-card/30 hover:bg-accent/20'; } export function PersonaOnboarding({ onClose }: PersonaOnboardingProps) { const [selected, setSelected] = useState(null); const [hovered, setHovered] = useState(null); const handleConfirm = () => { if (selected) { setPersona(selected); } markOnboarded(); onClose(); }; const handleSkip = () => { markOnboarded(); onClose(); }; const personaList = Object.values(PERSONAS); return (
{/* Header */}

เลือกบทบาทของคุณ

Panya-AI จะปรับคำตอบ เทมเพลต และคำแนะนำให้เหมาะกับงานของคุณ

{/* Persona cards */}
{personaList.map((p) => { const Icon = ICONS[p.icon] || Users; const isSelected = selected === p.id; const isHovered = hovered === p.id; return ( ); })}
{/* Selected persona preview — show sample questions */} {selected && (
ตัวอย่างคำถามสำหรับ {PERSONAS[selected].label}
    {PERSONAS[selected].sampleQuestions.slice(0, 3).map((q) => (
  • ▸ {q}
  • ))}
)} {/* Footer */}
); }