'use client'; import { useState, useEffect } from 'react'; import { useAppStore } from '../store/useAppStore'; import { useI18n } from '../lib/useI18n'; export default function WelcomeModal() { const { language, setLanguage, visualTheme, setVisualTheme } = useAppStore(); const { t } = useI18n(); const [step, setStep] = useState(1); const [isVisible, setIsVisible] = useState(false); const [mounted, setMounted] = useState(false); useEffect(() => { setMounted(true); if (!language || !visualTheme) { setIsVisible(true); if (!language) { setStep(1); } else { setStep(2); } } }, [language, visualTheme]); if (!mounted || !isVisible) return null; const handleSelectLang = (lang) => { setLanguage(lang); setStep(2); }; const handleSelectTheme = (theme) => { setVisualTheme(theme); // Apply theme to document element immediately for preview document.documentElement.setAttribute('data-visual', theme); }; const handleStart = () => { if (!visualTheme) { handleSelectTheme('warm'); } setIsVisible(false); if (!localStorage.getItem('author-onboarding-done')) { useAppStore.getState().setStartTour(true); } }; return (
{t('welcome.subtitle')}