mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
17f83d6458
* dev: change layout * chore: replace workspace slug and project id with anchor * chore: migration fixes * chore: update filtering logic * chore: endpoint changes * chore: update endpoint * chore: changed url pratterns * chore: use client side for layout and page * chore: issue vote changes * chore: project deploy board response change * refactor: publish project store and components * fix: update layout options after fetching settings * chore: remove unnecessary types * style: peek overview * refactor: components folder structure * fix: redirect from old path * chore: make the whole issue block clickable * chore: removed the migration file * chore: add server side redirection for old routes * chore: is enabled key change * chore: update types * chore: removed the migration file --------- Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
50 lines
1.8 KiB
TypeScript
50 lines
1.8 KiB
TypeScript
import { enableStaticRendering } from "mobx-react-lite";
|
|
// store imports
|
|
import { IInstanceStore, InstanceStore } from "@/store/instance.store";
|
|
import { IssueDetailStore, IIssueDetailStore } from "@/store/issue-detail.store";
|
|
import { IssueStore, IIssueStore } from "@/store/issue.store";
|
|
import { IUserStore, UserStore } from "@/store/user.store";
|
|
import { IssueFilterStore, IIssueFilterStore } from "./issue-filters.store";
|
|
import { IMentionsStore, MentionsStore } from "./mentions.store";
|
|
import { IPublishListStore, PublishListStore } from "./publish/publish_list.store";
|
|
|
|
enableStaticRendering(typeof window === "undefined");
|
|
|
|
export class RootStore {
|
|
instance: IInstanceStore;
|
|
user: IUserStore;
|
|
issue: IIssueStore;
|
|
issueDetail: IIssueDetailStore;
|
|
mentionStore: IMentionsStore;
|
|
issueFilter: IIssueFilterStore;
|
|
publishList: IPublishListStore;
|
|
|
|
constructor() {
|
|
this.instance = new InstanceStore(this);
|
|
this.user = new UserStore(this);
|
|
this.issue = new IssueStore(this);
|
|
this.issueDetail = new IssueDetailStore(this);
|
|
this.mentionStore = new MentionsStore(this);
|
|
this.issueFilter = new IssueFilterStore(this);
|
|
this.publishList = new PublishListStore(this);
|
|
}
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
hydrate = (data: any) => {
|
|
if (!data) return;
|
|
this.instance.hydrate(data?.instance || undefined);
|
|
this.user.hydrate(data?.user || undefined);
|
|
};
|
|
|
|
reset = () => {
|
|
localStorage.setItem("theme", "system");
|
|
this.instance = new InstanceStore(this);
|
|
this.user = new UserStore(this);
|
|
this.issue = new IssueStore(this);
|
|
this.issueDetail = new IssueDetailStore(this);
|
|
this.mentionStore = new MentionsStore(this);
|
|
this.issueFilter = new IssueFilterStore(this);
|
|
this.publishList = new PublishListStore(this);
|
|
};
|
|
}
|