chore: added code split for the analytics store

This commit is contained in:
JayashTripathy
2025-05-28 14:42:26 +05:30
parent 26b62c4a70
commit e462527103
4 changed files with 17 additions and 5 deletions

View File

@@ -0,0 +1,12 @@
import { BaseAnalyticsStoreV2, IBaseAnalyticsStoreV2 } from "@/store/analytics-v2.store";
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
export interface IAnalyticsStoreV2 extends IBaseAnalyticsStoreV2 {
//observables
}
export class AnalyticsStoreV2 extends BaseAnalyticsStoreV2 {
constructor() {
super();
}
}

View File

@@ -2,7 +2,7 @@ import { useContext } from "react";
// mobx store
import { StoreContext } from "@/lib/store-context";
// types
import { IAnalyticsStoreV2 } from "@/store/analytics-v2.store";
import { IAnalyticsStoreV2 } from "@/plane-web/store/analytics-v2.store";
export const useAnalyticsV2 = (): IAnalyticsStoreV2 => {
const context = useContext(StoreContext);

View File

@@ -5,7 +5,7 @@ import { CoreRootStore } from "./root.store";
type DurationType = (typeof ANALYTICS_V2_DURATION_FILTER_OPTIONS)[number]["value"];
export interface IAnalyticsStoreV2 {
export interface IBaseAnalyticsStoreV2 {
//observables
currentTab: TAnalyticsTabsV2Base;
selectedProjects: string[];
@@ -25,7 +25,7 @@ export interface IAnalyticsStoreV2 {
updateIsPeekView: (isPeekView: boolean) => void;
}
export class AnalyticsStoreV2 implements IAnalyticsStoreV2 {
export abstract class BaseAnalyticsStoreV2 implements IBaseAnalyticsStoreV2 {
//observables
currentTab: TAnalyticsTabsV2Base = "overview";
selectedProjects: string[] = [];
@@ -38,7 +38,7 @@ export class AnalyticsStoreV2 implements IAnalyticsStoreV2 {
// observables
currentTab: observable.ref,
selectedDuration: observable.ref,
selectedProjects: observable.ref,
selectedProjects: observable,
selectedCycle: observable.ref,
selectedModule: observable.ref,
isPeekView: observable.ref,

View File

@@ -2,11 +2,11 @@ import { enableStaticRendering } from "mobx-react";
// plane imports
import { FALLBACK_LANGUAGE, LANGUAGE_STORAGE_KEY } from "@plane/i18n";
// plane web store
import { AnalyticsStoreV2, IAnalyticsStoreV2 } from "@/plane-web/store/analytics-v2.store";
import { CommandPaletteStore, ICommandPaletteStore } from "@/plane-web/store/command-palette.store";
import { RootStore } from "@/plane-web/store/root.store";
import { IStateStore, StateStore } from "@/plane-web/store/state.store";
// stores
import { IAnalyticsStoreV2, AnalyticsStoreV2 } from "./analytics-v2.store";
import { CycleStore, ICycleStore } from "./cycle.store";
import { CycleFilterStore, ICycleFilterStore } from "./cycle_filter.store";
import { DashboardStore, IDashboardStore } from "./dashboard.store";