diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index c85c09f..8c397e9 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -48,16 +48,21 @@ function App() { const [appState, setAppState] = useState(AppState.INITIAL); const { + // Inputs inputMode, setInputMode, isImportedFromCode, setIsImportedFromCode, referenceImages, setReferenceImages, + + // Outputs generatedCode, setGeneratedCode, currentVersion, setCurrentVersion, + appHistory, + setAppHistory, } = useProjectStore(); const [executionConsole, setExecutionConsole] = useState([]); @@ -88,9 +93,6 @@ function App() { const selectedCodeGenerationModel = settings.codeGenerationModel || CodeGenerationModel.GPT_4_VISION; - // App history - const [appHistory, setAppHistory] = useState([]); - const [shouldIncludeResultImage, setShouldIncludeResultImage] = useState(false); diff --git a/frontend/src/store/project-store.ts b/frontend/src/store/project-store.ts index ec2510f..c583cb2 100644 --- a/frontend/src/store/project-store.ts +++ b/frontend/src/store/project-store.ts @@ -22,8 +22,10 @@ interface ProjectStore { currentVersion: number | null; setCurrentVersion: (version: number | null) => void; - appHistory: History[]; - setAppHistory: (history: History[]) => void; + appHistory: History; + setAppHistory: ( + updater: History | ((currentHistory: History) => History) + ) => void; } export const useProjectStore = create((set) => ({ @@ -45,5 +47,9 @@ export const useProjectStore = create((set) => ({ currentVersion: null, setCurrentVersion: (version) => set({ currentVersion: version }), appHistory: [], - setAppHistory: (history) => set({ appHistory: history }), + setAppHistory: (updater) => + set((state) => ({ + appHistory: + typeof updater === "function" ? updater(state.appHistory) : updater, + })), }));