2023-08-11 11:48:33 +00:00
|
|
|
// mobx lite
|
|
|
|
import { enableStaticRendering } from "mobx-react-lite";
|
|
|
|
// store imports
|
|
|
|
import UserStore from "./user";
|
|
|
|
import ThemeStore from "./theme";
|
2023-08-30 12:09:11 +00:00
|
|
|
import IssueStore, { IIssueStore } from "./issue";
|
|
|
|
import ProjectStore, { IProjectStore } from "./project";
|
2023-08-30 18:42:45 +00:00
|
|
|
import IssueDetailStore, { IIssueDetailStore } from "./issue_details";
|
2023-08-11 11:48:33 +00:00
|
|
|
// types
|
2023-08-30 15:03:21 +00:00
|
|
|
import { IThemeStore } from "../types";
|
2023-08-11 11:48:33 +00:00
|
|
|
|
|
|
|
enableStaticRendering(typeof window === "undefined");
|
|
|
|
|
|
|
|
export class RootStore {
|
2023-08-30 07:19:15 +00:00
|
|
|
user: UserStore;
|
2023-08-11 11:48:33 +00:00
|
|
|
theme: IThemeStore;
|
2023-08-30 12:09:11 +00:00
|
|
|
issue: IIssueStore;
|
2023-08-30 18:42:45 +00:00
|
|
|
issueDetails: IIssueDetailStore;
|
2023-08-11 11:48:33 +00:00
|
|
|
project: IProjectStore;
|
|
|
|
|
|
|
|
constructor() {
|
|
|
|
this.user = new UserStore(this);
|
|
|
|
this.theme = new ThemeStore(this);
|
|
|
|
this.issue = new IssueStore(this);
|
|
|
|
this.project = new ProjectStore(this);
|
2023-08-30 18:42:45 +00:00
|
|
|
this.issueDetails = new IssueDetailStore(this);
|
2023-08-11 11:48:33 +00:00
|
|
|
}
|
|
|
|
}
|