"use client"; import { useState, useEffect } from "react"; import { useRouter } from "next/navigation"; import { useAuth } from "@/lib/auth"; import { useTheme } from "@/components/ThemeProvider"; const LANGUAGES = [ { code: "cs", label: "Čeština", flag: "🇨🇿" }, { code: "he", label: "עברית", flag: "🇮🇱" }, { code: "ru", label: "Русский", flag: "🇷🇺" }, { code: "ua", label: "Українська", flag: "🇺🇦" }, ]; export default function SettingsPage() { const { token, user, logout } = useAuth(); const { theme, toggleTheme } = useTheme(); const router = useRouter(); const [language, setLanguage] = useState("cs"); const [notifications, setNotifications] = useState({ push: true, email: false, taskReminders: true, dailySummary: false, }); const [saved, setSaved] = useState(false); useEffect(() => { if (!token) { router.replace("/login"); } // Load saved preferences if (typeof window !== "undefined") { const savedLang = localStorage.getItem("taskteam_language"); if (savedLang) setLanguage(savedLang); const savedNotifs = localStorage.getItem("taskteam_notifications"); if (savedNotifs) { try { setNotifications(JSON.parse(savedNotifs)); } catch { // ignore } } } }, [token, router]); function handleSave() { if (typeof window !== "undefined") { localStorage.setItem("taskteam_language", language); localStorage.setItem("taskteam_notifications", JSON.stringify(notifications)); } setSaved(true); setTimeout(() => setSaved(false), 2000); } function handleLogout() { logout(); router.push("/login"); } if (!token) return null; return (

Nastavení

{/* Profile section */}

Profil

{(user?.name || user?.email || "?").charAt(0).toUpperCase()}

{user?.name || "Uživatel"}

{user?.email}

{/* Appearance */}

Vzhled

{/* Theme toggle */}
{theme === "dark" ? ( ) : ( )} {theme === "dark" ? "Tmavý režim" : "Světlý režim"}
{/* Language */}

Jazyk

{LANGUAGES.map((lang) => ( ))}
{/* Notifications */}

Oznámení

{[ { key: "push" as const, label: "Push oznámení" }, { key: "email" as const, label: "E-mailová oznámení" }, { key: "taskReminders" as const, label: "Připomenutí úkolů" }, { key: "dailySummary" as const, label: "Denní souhrn" }, ].map((item) => (
{item.label}
))}
{/* Save button */} {/* Logout */} {/* App info */}

Task Team v0.1.0

); }