"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 (
{user?.name || "Uživatel"}
{user?.email}
Task Team v0.1.0