"use client"; import { useEffect, useState } from "react"; import type { KomgaConfig } from "@/types/komga"; import type { KomgaLibrary } from "@/types/komga"; import { useTranslate } from "@/hooks/useTranslate"; import { DisplaySettings } from "./DisplaySettings"; import { KomgaSettings } from "./KomgaSettings"; import { BackgroundSettings } from "./BackgroundSettings"; import { AdvancedSettings } from "./AdvancedSettings"; import { CacheSettings } from "./CacheSettings"; import { Tabs, TabsList, TabsTrigger, TabsContent } from "@/components/ui/tabs"; import { Monitor, Network } from "lucide-react"; interface ClientSettingsProps { initialConfig: KomgaConfig | null; initialLibraries: KomgaLibrary[]; } const SETTINGS_TAB_STORAGE_KEY = "stripstream:settings-active-tab"; export function ClientSettings({ initialConfig, initialLibraries }: ClientSettingsProps) { const { t } = useTranslate(); const [activeTab, setActiveTab] = useState<"display" | "connection">("display"); useEffect(() => { const savedTab = window.sessionStorage.getItem(SETTINGS_TAB_STORAGE_KEY); if (savedTab === "display" || savedTab === "connection") { const rafId = window.requestAnimationFrame(() => { setActiveTab(savedTab); }); return () => window.cancelAnimationFrame(rafId); } }, []); const handleTabChange = (tab: string) => { if (tab === "display" || tab === "connection") { setActiveTab(tab); window.sessionStorage.setItem(SETTINGS_TAB_STORAGE_KEY, tab); } }; return (

{t("settings.title")}

{t("settings.tabs.display")} {t("settings.tabs.connection")}
); }