From f7343fd4fd64412ea2b223feda6422c2055a5a86 Mon Sep 17 00:00:00 2001 From: Lim Chee Aun Date: Wed, 16 Aug 2023 16:39:22 +0800 Subject: [PATCH] Check for no shortcuts cases --- src/components/shortcuts-settings.jsx | 33 ++++++++++++++++----------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/src/components/shortcuts-settings.jsx b/src/components/shortcuts-settings.jsx index e93f1437..efa06e38 100644 --- a/src/components/shortcuts-settings.jsx +++ b/src/components/shortcuts-settings.jsx @@ -680,11 +680,13 @@ function ShortcutForm({ } function ImportExport({ shortcuts, onClose }) { - const shortcutsStr = useMemo( - () => - compressToEncodedURIComponent(JSON.stringify(shortcuts.filter(Boolean))), - [shortcuts], - ); + const shortcutsStr = useMemo(() => { + if (!shortcuts) return ''; + if (!shortcuts.filter(Boolean).length) return ''; + return compressToEncodedURIComponent( + JSON.stringify(shortcuts.filter(Boolean)), + ); + }, [shortcuts]); const [importShortcutStr, setImportShortcutStr] = useState(''); const [importUIState, setImportUIState] = useState('default'); const parsedImportShortcutStr = useMemo(() => { @@ -901,6 +903,7 @@ function ImportExport({ shortcuts, onClose }) { value={shortcutsStr} readOnly onClick={(e) => { + if (!e.target.value) return; e.target.select(); // Copy url to clipboard try { @@ -917,6 +920,7 @@ function ImportExport({ shortcuts, onClose }) {