"use client"; import React, { useEffect, useState } from "react"; import { Sparkles, Loader2, Flame } from "lucide-react"; import { BoothConfig } from "@/types/booth"; import { useI18n } from "@/lib/i18n"; import { MascotGuide } from "@/components/MascotGuide"; interface LoadingScreenProps { config: BoothConfig; currentStepMessage?: string; } export const LoadingScreen: React.FC = ({ config, currentStepMessage, }) => { const { t } = useI18n(); const [progress, setProgress] = useState(15); useEffect(() => { const timer = setInterval(() => { setProgress((prev) => { if (prev >= 92) return prev; return prev + Math.floor(Math.random() * 8) + 3; }); }, 700); return () => clearInterval(timer); }, []); return (
{/* Animated Center Karate Ghost & Ki-Sphere */}

{t(config.labels.processingTitle)}

{currentStepMessage || t(config.labels.processingSubtitle)}

{/* Chunky Progress Bar */}
{progress}% · {t({ en: "MARTIAL MAGIC BREWING", zh: "武道气合凝聚中" })}
); };