diff --git a/frontend/apps/editor3d/app/src/pages/PageEnigma/PageEditor.tsx b/frontend/apps/editor3d/app/src/pages/PageEnigma/PageEditor.tsx index c2f2e4bddb..dd83492dc9 100644 --- a/frontend/apps/editor3d/app/src/pages/PageEnigma/PageEditor.tsx +++ b/frontend/apps/editor3d/app/src/pages/PageEnigma/PageEditor.tsx @@ -75,7 +75,10 @@ import { } from "@storyteller/ui-gallery-modal"; import { imageGenerationModels, + // ModelCategory, ModelSelector, + // videoGenerationModels, + // useModelSelectorStore, } from "@storyteller/ui-model-selector"; export const PageEditor = () => { @@ -85,6 +88,12 @@ export const PageEditor = () => { event.stopPropagation(); }; + // TODO: For 3d Promptbox to accept this later on + // const { selectedModels } = useModelSelectorStore(); + // const selectedModel = + // selectedModels[ModelCategory.Editor3D] || + // videoGenerationModels[0]?.label; + useEffect(() => { timelineHeight.value = 0; //timelineHeight.value = 208; sidePanelWidth.value = 340; @@ -460,7 +469,7 @@ export const PageEditor = () => {
{ const containerRef = useRef(null); const { selectedModels } = useModelSelectorStore(); const selectedModel = - selectedModels["text-to-image"] || imageGenerationModels[0]?.label; + selectedModels[ModelCategory.TextToImage] || + imageGenerationModels[0]?.label; const jobContext: JobContextType = { jobTokens: [], @@ -58,7 +60,7 @@ const TextToImage = ({ imageMediaId, imageUrl }: TextToImageProps) => {
{ const containerRef = useRef(null); const { selectedModels } = useModelSelectorStore(); const selectedModel = - selectedModels["image-to-video"] || videoGenerationModels[0]?.label; + selectedModels[ModelCategory.ImageToVideo] || + videoGenerationModels[0]?.label; const jobContext: JobContextType = { jobTokens: [], @@ -59,7 +61,7 @@ const ImageToVideo = ({ imageMediaId, imageUrl }: ImageToVideoProps) => {
}], }, + { + label: "Flux.1 Kontext", + icon: , + description: "New model with advanced context", + badges: [{ label: "25 sec.", icon: }], + }, ], }; diff --git a/frontend/libs/components/model-selector/src/lib/model-selector-store.ts b/frontend/libs/components/model-selector/src/lib/model-selector-store.ts index fb63511013..0339e174cd 100644 --- a/frontend/libs/components/model-selector/src/lib/model-selector-store.ts +++ b/frontend/libs/components/model-selector/src/lib/model-selector-store.ts @@ -1,8 +1,9 @@ import { create } from "zustand"; +import { ModelCategory } from "./model-categories"; interface ModelSelectorState { - selectedModels: { [category: string]: string | undefined }; - setSelectedModel: (category: string, modelLabel: string) => void; + selectedModels: { [category in ModelCategory]?: string }; + setSelectedModel: (category: ModelCategory, modelLabel: string) => void; } export const useModelSelectorStore = create((set) => ({ 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 2112b80c90..448c81961d 100644 --- a/frontend/libs/components/model-selector/src/lib/model-selector.tsx +++ b/frontend/libs/components/model-selector/src/lib/model-selector.tsx @@ -1,10 +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"; interface ModelSelectorProps { items: Omit[]; - category: string; + category: ModelCategory; mode?: "hoverSelect" | "default" | "toggle" | "button"; panelTitle?: string; buttonClassName?: string;