include icechunk in the main store menu#668
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces predefined datasets for Zarr and Icechunk catalogs, adds a toggle switch to select between remote Zarr and Icechunk datasets, and cleans up old dataset collections. The review feedback highlights that the newly added ICECHUNK_CATALOG is currently unused in the UI. To resolve this, the reviewer suggests importing ICECHUNK_CATALOG and combining both catalogs in CuratedDatasets so that both types of datasets are searchable and browsable, along with updating the selection handler to configure the store options correctly.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| "use client"; | ||
|
|
||
| import React, { useState } from 'react'; | ||
| import { DATASETS_COLLECTION } from './DatasetCollection'; | ||
| import { ZARR_CATALOG } from "@/assets/index"; | ||
|
|
There was a problem hiding this comment.
Import ICECHUNK_CATALOG and useZarrStore to support displaying and loading curated Icechunk datasets alongside Zarr datasets.
| "use client"; | |
| import React, { useState } from 'react'; | |
| import { DATASETS_COLLECTION } from './DatasetCollection'; | |
| import { ZARR_CATALOG } from "@/assets/index"; | |
| "use client"; | |
| import React, { useState } from 'react'; | |
| import { ZARR_CATALOG, ICECHUNK_CATALOG } from "@/assets/index"; | |
| import { useZarrStore } from '@/GlobalStates/ZarrStore'; |
| const filtered = ZARR_CATALOG.filter(ds => | ||
| ds.label.toLowerCase().includes(search.toLowerCase()) || | ||
| ds.subtitle.toLowerCase().includes(search.toLowerCase()) | ||
| ); |
There was a problem hiding this comment.
Currently, CuratedDatasets only filters and displays ZARR_CATALOG, meaning the newly added ICECHUNK_CATALOG is completely unused and curated Icechunk datasets are inaccessible in the UI.
To fix this, we can combine both catalogs so that users can browse and search all curated datasets in one place.
Note: You will also need to update the onSelect handler (around line 60, which is outside the current diff hunk) to set or clear the Icechunk options in useZarrStore depending on whether the selected dataset is an Icechunk store or a Zarr store. For example:
onSelect={() => {
setActiveOption(ds.key);
if (ds.isIcechunk) {
useZarrStore.getState().setFetchOptions(null);
useZarrStore.getState().setIcechunkOptions({ branch: 'main' });
} else {
useZarrStore.getState().setIcechunkOptions(null);
}
setInitStore(ds.store);
onOpenDescription();
}} // Combine Zarr and Icechunk catalogs so both are searchable and browsable
const combinedCatalog = [
...ZARR_CATALOG.map(ds => ({ ...ds, isIcechunk: false })),
...ICECHUNK_CATALOG.map(ds => ({ ...ds, isIcechunk: true })),
];
const filtered = combinedCatalog.filter(ds =>
ds.label.toLowerCase().includes(search.toLowerCase()) ||
ds.subtitle?.toLowerCase().includes(search.toLowerCase())
);
We have had Icechunk support for a while now, however it was not that easy to discover, this PR adds it as another option directly in the main menu.
Plus, I started adding
workingopen urls inassets/catalogs.