import { beforeNavigate } from "$app/navigation"; export const guardUnsavedChanges = (dirty: () => boolean) => { beforeNavigate((navigation) => { if (!dirty()) return; if (navigation.type === "leave") { navigation.cancel(); return; } if (!confirm("You have unsaved changes. Leave without saving?")) navigation.cancel(); }); };