From fc06d0001abbb277a560865a28a1ea2b923d5f60 Mon Sep 17 00:00:00 2001 From: Aman Harwara Date: Tue, 16 May 2023 21:35:55 +0530 Subject: [PATCH] chore: fix app reloading when invalid url is clicked in super note --- .../Components/SuperEditor/SuperEditor.tsx | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/packages/web/src/javascripts/Components/SuperEditor/SuperEditor.tsx b/packages/web/src/javascripts/Components/SuperEditor/SuperEditor.tsx index d35eae251..4bd8d8dec 100644 --- a/packages/web/src/javascripts/Components/SuperEditor/SuperEditor.tsx +++ b/packages/web/src/javascripts/Components/SuperEditor/SuperEditor.tsx @@ -166,8 +166,34 @@ export const SuperEditor: FunctionComponent = ({ }) }, [reloadPreferences, application]) + const ref = useRef(null) + + useEffect(() => { + const invalidURLClickFix = (event: MouseEvent) => { + if ((event.target as HTMLElement).tagName !== 'A') { + return + } + const isAbsoluteLink = (event.target as HTMLAnchorElement).getAttribute('href')?.startsWith('http') + if (!isAbsoluteLink) { + event.preventDefault() + } + } + + const element = ref.current + + if (element) { + element.addEventListener('click', invalidURLClickFix) + } + + return () => { + if (element) { + element.removeEventListener('click', invalidURLClickFix) + } + } + }, []) + return ( -
+