import useSWR, { mutate } from 'swr' import { apiClient } from '@/lib/api' import { EMPTY_POLICY_DEFAULTS } from '@/lib/policy-defaults' import { PolicyDefaults } from '@/types/privacy-policy' const DEFAULTS_KEY = '/api/policy-defaults' /** Lädt die zentral gepflegten Standardtexte. */ export function usePolicyDefaults() { const { data, error, isLoading } = useSWR( DEFAULTS_KEY, () => apiClient.getPolicyDefaults(), { revalidateOnFocus: true, revalidateOnReconnect: true, } ) return { defaults: data ?? EMPTY_POLICY_DEFAULTS, isLoading, error, mutate: () => mutate(DEFAULTS_KEY), } } /** * Speichert die Standardtexte und lädt anschließend auch die Erklärungen neu – * deren angezeigte Texte hängen daran. */ export async function updatePolicyDefaults(data: Omit) { const saved = await apiClient.updatePolicyDefaults(data) mutate(DEFAULTS_KEY) mutate('/api/privacy-policies?admin=true') mutate('/api/privacy-policies') return saved }