From 5221fb3479b3634c2ccf9d2ba0ff2abb25394b40 Mon Sep 17 00:00:00 2001 From: Joseph Garrone Date: Mon, 29 Jul 2024 02:48:57 +0200 Subject: [PATCH] Prevent reload loop in storybook --- src/tools/useInsertLinkTags.ts | 10 +++++++++- src/tools/useInsertScriptTags.ts | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/tools/useInsertLinkTags.ts b/src/tools/useInsertLinkTags.ts index d34bf716..6489b7d6 100644 --- a/src/tools/useInsertLinkTags.ts +++ b/src/tools/useInsertLinkTags.ts @@ -22,7 +22,15 @@ export function useInsertLinkTags(params: { alreadyMountedComponentOrHookNames.has(componentOrHookName); if (isAlreadyMounted) { - window.location.reload(); + reload: { + if ( + new URL(window.location.href).searchParams.get("viewMode") === "docs" + ) { + // NOTE: Special case for Storybook, we want to avoid infinite reload loop. + break reload; + } + window.location.reload(); + } return; } diff --git a/src/tools/useInsertScriptTags.ts b/src/tools/useInsertScriptTags.ts index 2b6f03da..d73c2b64 100644 --- a/src/tools/useInsertScriptTags.ts +++ b/src/tools/useInsertScriptTags.ts @@ -40,7 +40,15 @@ export function useInsertScriptTags(params: { alreadyMountedComponentOrHookNames.has(componentOrHookName); if (isAlreadyMounted) { - window.location.reload(); + reload: { + if ( + new URL(window.location.href).searchParams.get("viewMode") === "docs" + ) { + // NOTE: Special case for Storybook, we want to avoid infinite reload loop. + break reload; + } + window.location.reload(); + } return; }