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(