2025-04-12 02:41:52 +00:00
|
|
|
import { create } from "zustand";
|
|
|
|
import type { DockviewApi } from "dockview";
|
2025-04-13 14:44:05 +00:00
|
|
|
import type { Submission } from "@/generated/client";
|
2025-04-12 02:41:52 +00:00
|
|
|
|
|
|
|
export type DockviewState = {
|
|
|
|
api: DockviewApi | null;
|
2025-04-13 14:44:05 +00:00
|
|
|
submission: Submission | null;
|
2025-04-12 02:41:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
export type DockviewActions = {
|
|
|
|
setApi: (api: DockviewApi) => void;
|
2025-04-13 14:44:05 +00:00
|
|
|
setSubmission: (submission: Submission) => void;
|
2025-04-12 02:41:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
export type DockviewStore = DockviewState & DockviewActions;
|
|
|
|
|
|
|
|
export const useDockviewStore = create<DockviewStore>()((set) => ({
|
|
|
|
api: null,
|
2025-04-13 14:44:05 +00:00
|
|
|
submission: null,
|
2025-04-12 02:41:52 +00:00
|
|
|
setApi: (api) => set({ api }),
|
2025-04-13 14:44:05 +00:00
|
|
|
setSubmission: (submission) => set({ submission }),
|
2025-04-12 02:41:52 +00:00
|
|
|
}));
|