mirror of
https://github.com/OpenCut-app/OpenCut.git
synced 2026-07-13 21:52:53 +02:00
36 lines
847 B
TypeScript
36 lines
847 B
TypeScript
import { create } from "zustand";
|
|||
|
|
|
||
|
|
interface AppState {
|
||
|
|
// Loading states
|
||
|
|
isInitializing: boolean;
|
||
|
|
isPanelsReady: boolean;
|
||
|
|
|
||
|
|
// Actions
|
||
|
|
setInitializing: (loading: boolean) => void;
|
||
|
|
setPanelsReady: (ready: boolean) => void;
|
||
|
|
initializeApp: () => Promise<void>;
|
||
|
|
}
|
||
|
|
|
||
|
|
export const useAppStore = create<AppState>((set, get) => ({
|
||
|
|
// Initial states
|
||
|
|
isInitializing: true,
|
||
|
|
isPanelsReady: false,
|
||
|
|
|
||
|
|
// Actions
|
||
|
|
setInitializing: (loading) => {
|
||
|
|
set({ isInitializing: loading });
|
||
|
|
},
|
||
|
|
|
||
|
|
setPanelsReady: (ready) => {
|
||
|
|
set({ isPanelsReady: ready });
|
||
|
|
},
|
||
|
|
|
||
|
|
initializeApp: async () => {
|
||
|
|
console.log("Initializing video editor...");
|
||
|
|
set({ isInitializing: true, isPanelsReady: false });
|
||
|
|
|
||
|
|
set({ isPanelsReady: true, isInitializing: false });
|
||
|
|
console.log("Video editor ready");
|
||
|
|
},
|
||
|
|
}));
|