diff --git a/src/frontend/src/components/previews/GlobalPreviewDrawer.tsx b/src/frontend/src/components/previews/GlobalPreviewDrawer.tsx index 43b768d470..33029df5da 100644 --- a/src/frontend/src/components/previews/GlobalPreviewDrawer.tsx +++ b/src/frontend/src/components/previews/GlobalPreviewDrawer.tsx @@ -6,6 +6,7 @@ export default function GlobalPreviewDrawer() { const modelType = usePreviewDrawerState((state) => state.modelType); const id = usePreviewDrawerState((state) => state.id); const instance = usePreviewDrawerState((state) => state.instance); + const preview = usePreviewDrawerState((state) => state.preview); const closePreview = usePreviewDrawerState((state) => state.closePreview); return ( @@ -13,6 +14,7 @@ export default function GlobalPreviewDrawer() { modelType={modelType} id={id} instance={instance} + preview={preview} opened={isOpen} onClose={closePreview} /> diff --git a/src/frontend/src/components/previews/PreviewDrawer.tsx b/src/frontend/src/components/previews/PreviewDrawer.tsx index 8848b4d250..b1af737a6c 100644 --- a/src/frontend/src/components/previews/PreviewDrawer.tsx +++ b/src/frontend/src/components/previews/PreviewDrawer.tsx @@ -14,6 +14,7 @@ export default function PreviewDrawer({ id, instance: providedInstance, filters, + preview: providedPreview, opened, onClose }: Readonly<{ @@ -21,6 +22,7 @@ export default function PreviewDrawer({ id?: number | string; instance?: any; filters?: Record; + preview?: PreviewType; opened: boolean; onClose: () => void; }>) { @@ -43,6 +45,7 @@ export default function PreviewDrawer({ }, [providedInstance, fetchedInstance]); const previewComponent: PreviewType | null = useMemo(() => { + if (providedPreview) return providedPreview; if (!modelType || !modelInfo || id == null) return null; const component: PreviewType | null = getPreviewComponentForModel({ @@ -61,7 +64,7 @@ export default function PreviewDrawer({ } return component; - }, [modelType, id, instance]); + }, [providedPreview, modelType, id, instance]); return ( PreviewType; export function getPreviewComponentForModel({ - modelType + modelType, + instance, + modelId }: { modelType: ModelType; + instance: any; + modelId: number; }): PreviewType | null { switch (modelType) { + case ModelType.part: + return PartPreviewComponent({ instance, modelId }); default: - // Return null to indicate that this model type is not supported return null; } }