import { Box, Typography, useTheme, useMediaQuery } from "@mui/material"; import { useEffect, useState } from "react"; import AutoStoriesIcon from "@mui/icons-material/AutoStories"; import BrushIcon from "@mui/icons-material/Brush"; import TuneIcon from "@mui/icons-material/Tune"; const icons = { "teaching robots to tell bedtime stories...": AutoStoriesIcon, "bribing pixels to make pretty pictures...": BrushIcon, "calibrating the multiverse...": TuneIcon, }; export function RotatingMessage({ messages, interval = 3000, isVisible = true, }) { const [currentIndex, setCurrentIndex] = useState(0); const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down("sm")); useEffect(() => { if (isVisible) { const timer = setInterval(() => { setCurrentIndex((prev) => (prev + 1) % messages.length); }, interval); return () => clearInterval(timer); } }, [isVisible, messages.length, interval]); if (!isVisible) return null; const currentMessage = messages[currentIndex]; const Icon = icons[currentMessage] || AutoStoriesIcon; return ( {currentMessage} ); }