From d83d11d1dfcbffa14ad7f85940f0bf2b108b2e60 Mon Sep 17 00:00:00 2001 From: Jeran Date: Mon, 12 Jan 2026 10:43:49 +0100 Subject: [PATCH 1/2] update useNC logic. --- src/components/LandingHome.tsx | 1 + src/components/ui/MainPanel/Dataset.tsx | 66 ++++++++------------- src/components/ui/MainPanel/LocalNetCDF.tsx | 4 +- src/components/ui/MainPanel/LocalZarr.tsx | 1 + 4 files changed, 30 insertions(+), 42 deletions(-) diff --git a/src/components/LandingHome.tsx b/src/components/LandingHome.tsx index ccccff03..a06c8cd9 100644 --- a/src/components/LandingHome.tsx +++ b/src/components/LandingHome.tsx @@ -59,6 +59,7 @@ export function LandingHome() { if (initStore.startsWith('local')){ // Don't fetch store if local return } + setUseNC(false) const newStore = GetStore(initStore) setCurrentStore(newStore) }, [initStore, setCurrentStore]) diff --git a/src/components/ui/MainPanel/Dataset.tsx b/src/components/ui/MainPanel/Dataset.tsx index 318d4f37..aa65b7e3 100644 --- a/src/components/ui/MainPanel/Dataset.tsx +++ b/src/components/ui/MainPanel/Dataset.tsx @@ -20,7 +20,7 @@ import { DialogContent, DialogTitle, } from "@/components/ui/dialog"; - +import { Switcher } from '../Switcher'; const ZARR_STORES = { ESDC: 'https://s3.bgc-jena.mpg.de:9000/esdl-esdc-v3.0.2/esdc-16d-2.5deg-46x72x1440-3.0.2.zarr', @@ -90,13 +90,15 @@ const DatasetOption = ({ const Dataset = ({setOpenVariables} : {setOpenVariables: React.Dispatch>}) => { const [showStoreInput, setShowStoreInput] = useState(false); - const [showLocalZarrInput, setShowLocalZarrInput] = useState(false); - const [showLocalNetCDFInput, setShowLocalNetCDFInput] = useState(false); + const [showLocalInput, setShowLocalInput] = useState(false); const [popoverSide, setPopoverSide] = useState<"left" | "top">("left"); const [activeOption, setActiveOption] = useState('ESDC') const [showDescriptionDialog, setShowDescriptionDialog] = useState(false) const [openDescriptionPopover, setOpenDescriptionPopover] = useState(false) const [isSafari, setIsSafari] = useState(false) + const {useNC} = useZarrStore(useShallow(state => ({ + useNC:state.fetchNC + }))) const { initStore, setInitStore } = useGlobalStore( useShallow((state) => ({ @@ -169,8 +171,7 @@ const Dataset = ({setOpenVariables} : {setOpenVariables: React.Dispatch { setShowStoreInput(false); - setShowLocalZarrInput(false); - setShowLocalNetCDFInput(false); + setShowLocalInput(false); setActiveOption('ESDC'); setInitStore(ZARR_STORES.ESDC); if (popoverSide === 'top') { @@ -186,8 +187,7 @@ const Dataset = ({setOpenVariables} : {setOpenVariables: React.Dispatch { setShowStoreInput(false); - setShowLocalZarrInput(false); - setShowLocalNetCDFInput(false); + setShowLocalInput(false); setActiveOption('seasfire'); setInitStore(ZARR_STORES.SEASFIRE); if (popoverSide === 'top') { @@ -206,8 +206,7 @@ const Dataset = ({setOpenVariables} : {setOpenVariables: React.Dispatch { setShowStoreInput((prev) => !prev); - setShowLocalZarrInput(false); - setShowLocalNetCDFInput(false); + setShowLocalInput(false); setActiveOption('remote'); }} > @@ -245,43 +244,30 @@ const Dataset = ({setOpenVariables} : {setOpenVariables: React.Dispatch
{ - setShowLocalZarrInput((prev) => !prev); - setShowStoreInput(false); - setShowLocalNetCDFInput(false); - setActiveOption('localZarr'); - }} - > - Local Zarr - - {showLocalZarrInput && -
- {isSafari ? -
- Local folder upload is not supported in Safari. Please use Chrome, Firefox, or Edge instead. -
- : - - } -
- } -
-
- { - setShowLocalNetCDFInput((prev) => !prev); + setShowLocalInput((prev) => !prev); setShowStoreInput(false); - setShowLocalZarrInput(false); - setActiveOption('localNetCDF'); + setActiveOption('local'); }} > - Local NetCDF + Local - {showLocalNetCDFInput && + {showLocalInput &&
- + <> + useZarrStore.setState({fetchNC:!useNC})} /> + { + useNC ? + + : isSafari ? +
+ Local folder upload is not supported in Safari. Please use Chrome, Firefox, or Edge instead. +
+ : + + } +
}
diff --git a/src/components/ui/MainPanel/LocalNetCDF.tsx b/src/components/ui/MainPanel/LocalNetCDF.tsx index d37c32c7..30a5c9ce 100644 --- a/src/components/ui/MainPanel/LocalNetCDF.tsx +++ b/src/components/ui/MainPanel/LocalNetCDF.tsx @@ -10,8 +10,8 @@ interface LocalNCType { setOpenVariables: React.Dispatch>; } -const LocalNetCDF = ({setShowLocal, setOpenVariables}:LocalNCType) => { - const {setStatus, setVariables, setZMeta, setInitStore} = useGlobalStore.getState() +const LocalNetCDF = ({ setOpenVariables}:LocalNCType) => { + const {setStatus } = useGlobalStore.getState() const {ncModule} = useZarrStore.getState() const handleFileSelect = async (event: ChangeEvent) => { diff --git a/src/components/ui/MainPanel/LocalZarr.tsx b/src/components/ui/MainPanel/LocalZarr.tsx index 4bbfd928..9a5a4e72 100644 --- a/src/components/ui/MainPanel/LocalZarr.tsx +++ b/src/components/ui/MainPanel/LocalZarr.tsx @@ -56,6 +56,7 @@ const LocalZarr = ({setShowLocal, setOpenVariables, setInitStore}:LocalZarrType) setOpenVariables(true); setInitStore(`local_${baseDir}`) setStatus(null) + useZarrStore.setState({ useNC: false}) } catch (error) { setStatus(null) if (error instanceof Error) { From ab395739c4fd216e3688255a76aada9c09e814fb Mon Sep 17 00:00:00 2001 From: Jeran Date: Mon, 12 Jan 2026 11:12:53 +0100 Subject: [PATCH 2/2] style changes --- src/components/ui/MainPanel/Dataset.tsx | 6 +++--- src/components/ui/MainPanel/MetaDataInfo.tsx | 2 -- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/components/ui/MainPanel/Dataset.tsx b/src/components/ui/MainPanel/Dataset.tsx index aa65b7e3..82512c24 100644 --- a/src/components/ui/MainPanel/Dataset.tsx +++ b/src/components/ui/MainPanel/Dataset.tsx @@ -41,7 +41,7 @@ const DescriptionContent = ({ return (
-

+

{title ? title : "Store"}

@@ -281,7 +281,7 @@ const Dataset = ({setOpenVariables} : {setOpenVariables: React.Dispatch diff --git a/src/components/ui/MainPanel/MetaDataInfo.tsx b/src/components/ui/MainPanel/MetaDataInfo.tsx index 5c107315..d08ef14a 100644 --- a/src/components/ui/MainPanel/MetaDataInfo.tsx +++ b/src/components/ui/MainPanel/MetaDataInfo.tsx @@ -191,9 +191,7 @@ const MetaDataInfo = ({ meta, metadata, setShowMeta, setOpenVariables, popoverSi } else { setCached(false) } - },[meta, chunkIDs]) - return ( // Don't put any more work in the landing page version. Since it won't be visible in the future // The logic here was to just get divs to be used later in a Card or Dialog component!