import { useContext, useState } from "react"; import { SettingsContext } from "../context/SettingsContext"; import "../styles/pages/Settings.css"; export default function Settings() { const { settings, updateSettings, resetSettings } = useContext(SettingsContext); const [activeTab, setActiveTab] = useState("appearance"); const handleThemeChange = (theme) => { updateSettings({ theme }); }; const handleToggle = (key) => { updateSettings({ [key]: !settings[key] }); }; const handleNumberChange = (key, value) => { updateSettings({ [key]: parseInt(value, 10) }); }; const handleSelectChange = (key, value) => { updateSettings({ [key]: value }); }; const handleReset = () => { if (window.confirm("Reset all settings to defaults?")) { resetSettings(); } }; return (

Settings

{/* Appearance Tab */} {activeTab === "appearance" && (

Appearance

Auto mode follows your system preferences

Show more items on screen with reduced spacing

)} {/* List Display Tab */} {activeTab === "list" && (

List Display

Your preferred sorting method when opening the list

Display items bought in the last 24 hours

{settings.showRecentlyBought && ( <>
handleNumberChange("recentlyBoughtCount", e.target.value)} className="settings-range" />

Number of items to show initially (5-50)

Start with the section collapsed

)}
)} {/* Behavior Tab */} {activeTab === "behavior" && (

Behavior

Show confirmation modal when marking items as bought

handleNumberChange("autoReloadInterval", e.target.value)} className="settings-range" />

Automatically refresh the list every X minutes (0 = disabled)

Vibrate on long-press and other interactions

)}
); }