From d885d217cd85be7de4746e2f52f7164fdf5e8606 Mon Sep 17 00:00:00 2001 From: Avinash Kumar Deepak Date: Wed, 11 Feb 2026 21:35:14 +0530 Subject: [PATCH 1/4] Refactor: Replace UA sniffing with feature detection --- src/component/fileBrowser.jsx | 6 +++--- src/graph-builder/graph-core/5-load-save.js | 5 ++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/component/fileBrowser.jsx b/src/component/fileBrowser.jsx index 4181c7e..a48f0b3 100644 --- a/src/component/fileBrowser.jsx +++ b/src/component/fileBrowser.jsx @@ -15,7 +15,7 @@ const LocalFileBrowser = ({ superState, dispatcher }) => { const [fileState, setFileState] = useState([]); useEffect(() => { - if (navigator.userAgent.indexOf('Edg') !== -1 || navigator.userAgent.indexOf('Chrome') !== -1) { + if ('showDirectoryPicker' in window) { setDirButton(true); } dispatcher({ type: T.SET_FILE_REF, payload: fileRef }); @@ -159,7 +159,7 @@ const LocalFileBrowser = ({ superState, dispatcher }) => { webkitdirectory="true" /> - ) } + )} {dirButton && ( - ) - } - { - !dirButton + {dirButton && ( + + )} + {!dirButton && ( { accept=".graphml" onChange={(e) => readFile(superState, dispatcher, e.target.files[0])} /> - ) - } - { - dirButton + )} + {dirButton && (