import { useState } from "react"; import { api } from "../../api/client"; import { confirmDialog } from "../../utils/dialogs"; export default function CacheSettings() { const [clearing, setClearing] = useState(false); const [cleared, setCleared] = useState(false); const [error, setError] = useState(null); async function handleClear() { if (!(await confirmDialog({ title: "Clear DNS cache", message: "Clear the DNS record cache? All zones will need to be re-synced afterwards.", confirmLabel: "Clear cache" }))) return; setClearing(true); setError(null); setCleared(false); try { await api.dns.clearCache(); setCleared(true); setTimeout(() => setCleared(false), 3000); } catch (err) { setError(err instanceof Error ? err.message : String(err)); } finally { setClearing(false); } } return ( <>

Cache

DNS record cache

The DNS module keeps a local copy of every synced zone and record so pages load instantly. Clear it if you see stale or incorrect data — every zone will need to be re-synced from its provider afterwards.

{error &&
{error}
}
); }