import { useState } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { Settings, Monitor, Volume2, Cpu, X, Contrast } from 'lucide-react'; import { useSettings } from '@/contexts/SettingsContext'; import { useAchievements } from '@/contexts/AchievementsContext'; import CryptoConsentModal from './CryptoConsentModal'; interface SettingsPanelProps { onToggleTheme: () => void; isRedTheme: boolean; } const SettingsPanel = ({ onToggleTheme, isRedTheme }: SettingsPanelProps) => { const [isOpen, setIsOpen] = useState(false); const [showCryptoModal, setShowCryptoModal] = useState(false); const { crtEnabled, setCrtEnabled, soundEnabled, setSoundEnabled, cryptoConsent, playSound } = useSettings(); const { unlockAchievement } = useAchievements(); const handleToggle = (setter: (value: boolean) => void, currentValue: boolean, achievementId?: string) => { playSound('click'); setter(!currentValue); if (achievementId) unlockAchievement(achievementId); }; return ( <> {isOpen && (

Settings

{/* Theme Toggle */}
Color Theme
{/* CRT Toggle */}
CRT Effects
{/* Sound Toggle */}
Sound Effects
{/* Crypto Consent */}
CPU Mining

Settings are saved locally

)}
setShowCryptoModal(false)} /> ); }; export default SettingsPanel;