"use client"; import { useCallback, useState } from "react"; import ConfirmDialog from "@/components/ConfirmDialog"; import useUnsavedGuard from "@/hooks/useUnsavedGuard"; import BasicIdentityPanel from "./BasicIdentityPanel"; import BrandSeoPanel from "./BrandSeoPanel"; import FooterLinksPanel from "./FooterLinksPanel"; import type { PublicSettings } from "@/lib/api"; export default function BasicSettings({ initial }: { initial: PublicSettings }) { const [live, setLive] = useState(initial); const [basicDirty, setBasicDirty] = useState(false); const [brandDirty, setBrandDirty] = useState(false); const [seoDirty, setSeoDirty] = useState(false); const dirty = basicDirty || brandDirty || seoDirty; const leave = useUnsavedGuard(dirty); const onBasicDirty = useCallback((d: boolean) => setBasicDirty(d), []); const onBrandDirty = useCallback((d: boolean) => setBrandDirty(d), []); const onSeoDirty = useCallback((d: boolean) => setSeoDirty(d), []); return (