From 62713c7e71e96e1f6875adb691927c68dc37dea7 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Thu, 18 Aug 2022 12:35:36 -0300 Subject: prevent link nav --- packages/taler-wallet-webextension/src/stories.tsx | 43 +++++++++++++++++++--- 1 file changed, 37 insertions(+), 6 deletions(-) (limited to 'packages/taler-wallet-webextension/src') diff --git a/packages/taler-wallet-webextension/src/stories.tsx b/packages/taler-wallet-webextension/src/stories.tsx index 9fe0ca4e4..a032222a0 100644 --- a/packages/taler-wallet-webextension/src/stories.tsx +++ b/packages/taler-wallet-webextension/src/stories.tsx @@ -22,6 +22,7 @@ import { setupI18n } from "@gnu-taler/taler-util"; import { styled } from "@linaria/react"; import { ComponentChild, + ComponentChildren, Fragment, FunctionComponent, h, @@ -242,33 +243,63 @@ function ExampleList({ ); } +/** + * Prevents the UI from redirecting and inform the dev + * where the should have redirected + * @returns + */ +function PreventLinkNavigation({ + children, +}: { + children: ComponentChildren; +}): VNode { + return ( +
{ + let t: any = e.target; + do { + if (t.localName === "a" && t.getAttribute("href")) { + alert(`should navigate to: ${t.attributes.href.value}`); + e.stopImmediatePropagation(); + e.stopPropagation(); + e.preventDefault(); + return false; + } + } while ((t = t.parentNode)); + }} + > + {children} +
+ ); +} + function getWrapperForGroup(group: string): FunctionComponent { switch (group) { case "popup": return function PopupWrapper({ children }: any) { return ( - + {children} - + ); }; case "wallet": return function WalletWrapper({ children }: any) { return ( - + {children} - + ); }; case "cta": return function WalletWrapper({ children }: any) { return ( - + {children} - + ); }; default: -- cgit v1.2.3