diff --git a/src/script.ts b/src/script.ts index 8bdd4ac..ded648c 100644 --- a/src/script.ts +++ b/src/script.ts @@ -123,6 +123,13 @@ export function buildInitScript(options: Partial = {}): string { ] }); + const dispatch = (name) => document.dispatchEvent(new Event(name)); + + // Trigger custom events to simulate Astro load lifecycle + swup.hooks.before('content:replace', () => dispatch('astro:before-swap')); + swup.hooks.on('content:replace', () => dispatch('astro:after-swap')); + swup.hooks.on('page:view', () => dispatch('astro:page-load')); + ${globalInstance ? 'window.swup = swup;' : ''} }