Files
mnote/wolai-frontend/src/store/current-document.ts
T
2026-01-24 12:32:51 +08:00

28 lines
864 B
TypeScript

"use client";
import { create } from "zustand";
interface CurrentDocumentState {
documentId: string | null;
readOnly: boolean;
disableDownload: boolean;
disableCopy: boolean;
setCurrent: (documentId: string, readOnly: boolean, disableDownload: boolean, disableCopy: boolean) => void;
clearIfMatch: (documentId: string) => void;
}
export const useCurrentDocumentStore = create<CurrentDocumentState>((set, get) => ({
documentId: null,
readOnly: false,
disableDownload: false,
disableCopy: false,
setCurrent: (documentId, readOnly, disableDownload, disableCopy) =>
set({ documentId, readOnly, disableDownload, disableCopy }),
clearIfMatch: (documentId) => {
const state = get();
if (state.documentId === documentId) {
set({ documentId: null, readOnly: false, disableDownload: false, disableCopy: false });
}
},
}));