/** * Copyright (c) 2023-present Plane Software, Inc. and contributors * SPDX-License-Identifier: AGPL-3.0-only * See the LICENSE file for details. */ import type { ReactElement } from "react"; import { createContext } from "react"; // plane web store import { RootStore } from "@/store/root.store"; export let rootStore = new RootStore(); export const StoreContext = createContext(rootStore); const initializeStore = () => { const newRootStore = rootStore ?? new RootStore(); if (typeof window === "undefined") return newRootStore; if (!rootStore) rootStore = newRootStore; return newRootStore; }; export const store = initializeStore(); export function StoreProvider({ children }: { children: ReactElement }) { return {children}; }