nextjs-router-events
Version:
A router events alternative for Next.js 13+ with app directory with the ability to prevent user navigation.
22 lines (21 loc) • 911 B
JavaScript
import { isServer } from './util';
export var triggerRouteChangeStartEvent = function (targetUrl) {
var ev = new CustomEvent('routeChangeStartEvent', { detail: { targetUrl: targetUrl } });
if (!isServer())
window.dispatchEvent(ev);
};
export var triggerRouteChangeEndEvent = function (targetUrl) {
var ev = new CustomEvent('routeChangeEndEvent', { detail: { targetUrl: targetUrl } });
if (!isServer())
window.dispatchEvent(ev);
};
export var triggerBeforeRouteChangeEvent = function (targetUrl) {
var ev = new CustomEvent('beforeRouteChangeEvent', { detail: { targetUrl: targetUrl } });
if (!isServer())
window.dispatchEvent(ev);
};
export var triggerRouteChangeConfirmationEvent = function (targetUrl) {
var ev = new CustomEvent('routeChangeConfirmationEvent', { detail: { targetUrl: targetUrl } });
if (!isServer())
window.dispatchEvent(ev);
};