diff --git a/extensions/default/src/DicomTagBrowser/DicomTagBrowser.tsx b/extensions/default/src/DicomTagBrowser/DicomTagBrowser.tsx
index 7e5b91418..50e43d292 100644
--- a/extensions/default/src/DicomTagBrowser/DicomTagBrowser.tsx
+++ b/extensions/default/src/DicomTagBrowser/DicomTagBrowser.tsx
@@ -165,8 +165,11 @@ const DicomTagBrowser = ({
{shouldShowInstanceList && (
-
- Instance Number ({instanceNumber} of {activeDisplaySet?.images?.length})
+
+ Instance Number
+
+ ({instanceNumber} of {activeDisplaySet?.images?.length})
+
[provider, { service: servicesManager.services[serviceName] }]
+ );
if (providersFromManager.length > 0) {
- providersFromManager.forEach(([serviceName, provider]) => {
- providers.push([provider, { service: servicesManager.services[serviceName] }]);
- });
+ const dialogIndex = providers.findIndex(([component]) => component === DialogProvider);
+ providers.splice(dialogIndex, 0, ...providersFromManager);
}
const CombinedProviders = ({ children }) => Compose({ components: providers, children });
diff --git a/platform/app/src/routes/WorkList/WorkList.tsx b/platform/app/src/routes/WorkList/WorkList.tsx
index 7288c5f00..62a34c386 100644
--- a/platform/app/src/routes/WorkList/WorkList.tsx
+++ b/platform/app/src/routes/WorkList/WorkList.tsx
@@ -9,6 +9,7 @@ import {
StudyList,
Icons,
InvestigationalUseDialog,
+ useSessionStorage,
type StudyRow,
type OnStudyDoubleClick,
} from '@ohif/ui-next';
@@ -53,7 +54,19 @@ export default function WorkList({
const defaultSorting = useMemo(() => [{ id: 'studyDateTime', desc: true }], []);
const [selected, setSelected] = useState(null);
- const [isPreviewOpen, setPreviewOpen] = useState(true);
+
+ // Persist the preview panel open/closed state so it survives navigating
+ // into a study and back. The hook only handles objects, hence the wrapper.
+ const [previewState, updatePreviewState] = useSessionStorage({
+ key: 'studyList.previewOpen',
+ defaultValue: { open: true },
+ clearOnUnload: false,
+ });
+ const isPreviewOpen = previewState.open !== false;
+ const setPreviewOpen = useCallback(
+ (open: boolean) => updatePreviewState({ open }),
+ [updatePreviewState]
+ );
// `workList.onStudyDoubleClick` is the command (or command list) run when a
// study row is double-clicked — by default `launchDefaultMode`, which