import React, { useState, useEffect } from "react"; import { Box, Typography } from "@mui/material"; import { motion } from "framer-motion"; import CreateIcon from "@mui/icons-material/Create"; import AutoStoriesIcon from "@mui/icons-material/AutoStories"; import PaletteIcon from "@mui/icons-material/Palette"; const defaultMessages = [ "waking up a sleepy AI...", "teaching robots to tell bedtime stories...", "bribing pixels to make pretty pictures...", ]; const iconMap = { story: CreateIcon, universe: AutoStoriesIcon, art: PaletteIcon, }; export const LoadingScreen = ({ messages = defaultMessages, icon = "story", messageInterval = 3000, iconColor = "white", textColor = "white", }) => { const [currentMessage, setCurrentMessage] = useState(0); const IconComponent = iconMap[icon] || CreateIcon; useEffect(() => { const interval = setInterval(() => { setCurrentMessage((prev) => (prev + 1) % messages.length); }, messageInterval); return () => clearInterval(interval); }, [messages.length, messageInterval]); return ( {messages[currentMessage]} ); };