diff --git a/frontend/apps/editor3d/app/src/pages/PageDraw/PageDraw.tsx b/frontend/apps/editor3d/app/src/pages/PageDraw/PageDraw.tsx index 1ea74d84d5..8d09300a19 100644 --- a/frontend/apps/editor3d/app/src/pages/PageDraw/PageDraw.tsx +++ b/frontend/apps/editor3d/app/src/pages/PageDraw/PageDraw.tsx @@ -14,7 +14,7 @@ import { ContextMenuContainer } from "./components/ui/ContextMenu"; import { ModelInfo } from "@storyteller/model-list"; import { CANVAS_2D_PAGE_MODEL_LIST, - ModelCategory, + ModelPage, ModelSelector, useModelSelectorStore, } from "@storyteller/ui-model-selector"; @@ -55,7 +55,7 @@ const PageDraw = () => { const store = useSceneStore(); const selectedModel = - selectedModels[ModelCategory.Canvas2D] || + selectedModels[ModelPage.Canvas2D] || CANVAS_2D_PAGE_MODEL_LIST[0]?.label; const selectedModelInfo: ModelInfo | undefined = @@ -446,7 +446,7 @@ const PageDraw = () => {
{ @@ -22,7 +22,7 @@ const PageEdit = () => { const { selectedModels } = useModelSelectorStore(); const selectedModel = - selectedModels[ModelCategory.Canvas2D] || + selectedModels[ModelPage.Canvas2D] || IMAGE_EDITOR_PAGE_MODEL_LIST[0]?.label; const selectedModelInfo: ModelInfo | undefined = @@ -314,7 +314,7 @@ const PageEdit = () => {
{ }, []); const selectedModel = - selectedModels[ModelCategory.Editor3D] || + selectedModels[ModelPage.Stage3D] || STAGE_3D_PAGE_MODEL_LIST[0]?.label; const selectedModelInfo: ModelInfo | undefined = @@ -548,7 +548,7 @@ export const PageEditor = () => {
{ const { selectedModels } = useModelSelectorStore(); const selectedModel = - selectedModels[ModelCategory.TextToImage] || + selectedModels[ModelPage.TextToImage] || TEXT_TO_IMAGE_PAGE_MODEL_LIST[0]?.label; const selectedModelInfo: ModelInfo | undefined = TEXT_TO_IMAGE_PAGE_MODEL_LIST.find( @@ -67,7 +67,7 @@ const TextToImage = ({ imageMediaId, imageUrl }: TextToImageProps) => {
{ const { selectedModels } = useModelSelectorStore(); const selectedModel = - selectedModels[ModelCategory.ImageToVideo] || + selectedModels[ModelPage.ImageToVideo] || IMAGE_TO_VIDEO_PAGE_MODEL_LIST[0]?.label; const selectedModelInfo: ModelInfo | undefined = IMAGE_TO_VIDEO_PAGE_MODEL_LIST.find( @@ -68,7 +68,7 @@ const ImageToVideo = ({ imageMediaId, imageUrl }: ImageToVideoProps) => {
void; + selectedModels: { [page in ModelPage]?: string }; + setSelectedModel: (page: ModelPage, modelLabel: string) => void; } export const useModelSelectorStore = create((set) => ({ selectedModels: {}, - setSelectedModel: (category, modelLabel) => + setSelectedModel: (page, modelLabel) => set((state) => ({ selectedModels: { ...state.selectedModels, - [category]: modelLabel, + [page]: modelLabel, }, })), })); diff --git a/frontend/libs/components/model-selector/src/lib/model-selector.tsx b/frontend/libs/components/model-selector/src/lib/model-selector.tsx index 448c81961d..b11d8658df 100644 --- a/frontend/libs/components/model-selector/src/lib/model-selector.tsx +++ b/frontend/libs/components/model-selector/src/lib/model-selector.tsx @@ -1,11 +1,11 @@ import { PopoverMenu, type PopoverItem } from "@storyteller/ui-popover"; import { useModelSelectorStore } from "./model-selector-store"; import { useMemo } from "react"; -import { ModelCategory } from "./model-categories"; +import { ModelPage } from "./model-pages"; interface ModelSelectorProps { items: Omit[]; - category: ModelCategory; + page: ModelPage; mode?: "hoverSelect" | "default" | "toggle" | "button"; panelTitle?: string; buttonClassName?: string; @@ -16,14 +16,14 @@ interface ModelSelectorProps { export function ModelSelector({ items, - category, + page, ...popoverProps }: ModelSelectorProps) { const { selectedModels, setSelectedModel } = useModelSelectorStore(); - const selectedModel = selectedModels[category] || items[0]?.label; + const selectedModel = selectedModels[page] || items[0]?.label; const handleModelSelect = (item: PopoverItem) => { - setSelectedModel(category, item.label); + setSelectedModel(page, item.label); }; const modelList = useMemo(