import { IBlockData, SbMode } from "@schlechtenburg/core"; export const useEditor = () => { const mode = useState('mode', () => SbMode.View); const revision = useState('revision', () => 0); const draft = useState|null>('draft', () => null); const setMode = (newMode: SbMode) => { mode.value = newMode; }; const updateDraft = (newDraft: IBlockData) => { draft.value = newDraft; } const edit = (block: IBlockData) => { draft.value = block; mode.value = SbMode.Edit; }; const save = () => { revision.value = revision.value + 1; mode.value = SbMode.View; }; const cancel = () => { mode.value = SbMode.View; }; return { mode, setMode, edit, cancel, save, revision, draft, updateDraft, }; };