diff --git a/src/stores/dockview.ts b/src/stores/dockview.ts deleted file mode 100644 index b9323c0..0000000 --- a/src/stores/dockview.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { create } from "zustand"; -import type { DockviewApi } from "dockview"; -import { createJSONStorage, persist } from "zustand/middleware"; -import type { SubmissionWithTestcaseResult } from "@/types/prisma"; - -export type DockviewState = { - api: DockviewApi | null; - submission: SubmissionWithTestcaseResult | null; -}; - -export type DockviewActions = { - setApi: (api: DockviewApi) => void; - setSubmission: (submission: SubmissionWithTestcaseResult) => void; -}; - -export type DockviewStore = DockviewState & DockviewActions; - -export const useDockviewStore = create()( - persist( - (set) => ({ - api: null, - submission: null, - setApi: (api) => set({ api }), - setSubmission: (submission) => set({ submission }), - }), - { - name: "zustand:dockview", - storage: createJSONStorage(() => localStorage), - partialize: (state) => ({ - submission: state.submission, - }), - } - ) -); diff --git a/src/stores/problem-dockview.ts b/src/stores/problem-dockview.ts new file mode 100644 index 0000000..5fcb60a --- /dev/null +++ b/src/stores/problem-dockview.ts @@ -0,0 +1,20 @@ +import { create } from "zustand"; +import type { DockviewApi } from "dockview"; + +export type ProblemDockviewState = { + api: DockviewApi | null; +}; + +export type ProblemDockviewActions = { + setApi: (api: DockviewApi) => void; +}; + +export type ProblemDockviewStore = ProblemDockviewState & + ProblemDockviewActions; + +export const useProblemDockviewStore = create()( + (set) => ({ + api: null, + setApi: (api) => set({ api }), + }) +);