refactor: consolidate shared application helpers

This commit is contained in:
2026-07-29 12:28:51 +07:00 Unverified
parent 1fb154b465
commit 6b0440602b
14 changed files with 45 additions and 45 deletions
+15 -1
View File
@@ -1,10 +1,24 @@
"use client";
import { useCallback, useEffect, useRef, useState } from "react";
import { registerPendingSave } from "@/lib/admin-form-save-bridge";
export type AutoSaveStatus = "clean" | "dirty" | "saving" | "saved" | "error";
type FlushSave = () => Promise<void>;
const pendingSaves = new Set<FlushSave>();
export function registerPendingSave(flush: FlushSave) {
pendingSaves.add(flush);
return () => {
pendingSaves.delete(flush);
};
}
export async function flushPendingSaves() {
await Promise.all([...pendingSaves].map((flush) => flush()));
}
export function useDebouncedAutoSave({
save,
delay = 1000,