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..82512c24 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', @@ -41,7 +41,7 @@ const DescriptionContent = ({ return (
-

+

{title ? title : "Store"}

>}) => { 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) => ({ @@ -124,7 +126,7 @@ const Dataset = ({setOpenVariables} : {setOpenVariables: React.Dispatch @@ -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); + setShowLocalInput((prev) => !prev); setShowStoreInput(false); - setShowLocalNetCDFInput(false); - setActiveOption('localZarr'); + setActiveOption('local'); }} > - Local Zarr + Local - {showLocalZarrInput && + {showLocalInput &&
- {isSafari ? -
- Local folder upload is not supported in Safari. Please use Chrome, Firefox, or Edge instead. -
- : - - } -
- } -
-
- { - setShowLocalNetCDFInput((prev) => !prev); - setShowStoreInput(false); - setShowLocalZarrInput(false); - setActiveOption('localNetCDF'); - }} - > - Local NetCDF - - {showLocalNetCDFInput && -
- + <> + useZarrStore.setState({fetchNC:!useNC})} /> + { + useNC ? + + : isSafari ? +
+ Local folder upload is not supported in Safari. Please use Chrome, Firefox, or Edge instead. +
+ : + + } +
}
@@ -295,7 +281,7 @@ const Dataset = ({setOpenVariables} : {setOpenVariables: React.Dispatch 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) { 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!