plane/apps/app/store/root.ts

32 lines
898 B
TypeScript
Raw Normal View History

// mobx lite
import { enableStaticRendering } from "mobx-react-lite";
// store imports
2023-08-16 11:20:39 +00:00
import UserStore, { IUserStore } from "./user";
import ThemeStore, { IThemeStore } from "./theme";
import ProjectPublishStore, { IProjectPublishStore } from "./project-publish";
2023-08-16 11:20:39 +00:00
import WorkspaceStore, { IWorkspaceStore } from "./workspace";
2023-08-14 07:44:28 +00:00
const isServer = typeof window === "undefined";
enableStaticRendering(isServer);
export interface IRootStore {
user: IUserStore;
theme: IThemeStore;
workspace: IWorkspaceStore;
projectPublish: IProjectPublishStore;
2023-08-14 07:44:28 +00:00
}
export class RootStore {
2023-08-16 11:20:39 +00:00
user: IUserStore;
theme: IThemeStore;
workspace: IWorkspaceStore;
projectPublish: IProjectPublishStore;
constructor() {
this.user = new UserStore(this);
this.theme = new ThemeStore(this);
2023-08-16 11:20:39 +00:00
this.workspace = new WorkspaceStore(this);
this.projectPublish = new ProjectPublishStore(this);
}
}