UNPKG

nitropage

Version:

A free and open source, extensible visual page builder based on SolidStart.

20 lines (18 loc) 655 B
import { useBeforeLeave } from "@solidjs/router"; import { createRoot } from "solid-js"; // Parent useBeforeLeave runs before other useBeforeLeave's // The current way how useBeforeLeave listeners are resolved, // prevents us from checking e.defaultPrevented, // because each listener gets a fresh event copy: // https://github.com/solidjs/solid-router/blob/30f08665e87829736a9333d55863d27905f4a92d/src/lifecycle.ts#L23 export const useBeforeLeaveLate = ( listener: Parameters<typeof useBeforeLeave>[0], ) => useBeforeLeave(() => createRoot((dispose) => useBeforeLeave((e) => { dispose(); listener(e); }), ), );