From 61434763c7cd73f68f50e42d55fe4524f5383db8 Mon Sep 17 00:00:00 2001 From: Philipp Daun Date: Sun, 17 Nov 2024 14:04:26 +0100 Subject: [PATCH] Trigger custom events to simulate Astro load lifecycle Signed-off-by: Philipp Daun --- src/script.ts | 7 +++++++ 1 file changed, 7 insertions(+) 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;' : ''} }