'use client'; import { useState, useEffect } from 'react'; import { Settings, X } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { Slider } from '@/components/ui/slider'; interface SettingsPanelProps { cycleInterval: number; onIntervalChange: (interval: number) => void; tickerSpeed: number; onTickerSpeedChange: (speed: number) => void; } export function SettingsPanel({ cycleInterval, onIntervalChange, tickerSpeed, onTickerSpeedChange }: SettingsPanelProps) { const [isOpen, setIsOpen] = useState(false); const [localInterval, setLocalInterval] = useState(cycleInterval); const [localTickerSpeed, setLocalTickerSpeed] = useState(tickerSpeed); useEffect(() => { if (!isOpen) { const timer = setTimeout(() => { // Auto-hide after 3 seconds of inactivity }, 3000); return () => clearTimeout(timer); } }, [isOpen]); const handleSave = () => { onIntervalChange(localInterval); localStorage.setItem('kiosk-cycle-interval', localInterval.toString()); onTickerSpeedChange(localTickerSpeed); localStorage.setItem('kiosk-ticker-speed', localTickerSpeed.toString()); setIsOpen(false); }; return ( <> {isOpen && (