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