From 9b4b37aeb9ca9a4f4b0d472b8af41b698786132e Mon Sep 17 00:00:00 2001 From: Horacio Herrera Date: Mon, 4 Mar 2024 13:35:25 +0100 Subject: [PATCH] fix(delete draft when empty the wrong way --- frontend/packages/app/models/documents.ts | 21 +------------------ frontend/packages/app/models/draft-machine.ts | 12 +++++++++++ 2 files changed, 13 insertions(+), 20 deletions(-) diff --git a/frontend/packages/app/models/documents.ts b/frontend/packages/app/models/documents.ts index 898c2f3b5..ce770933c 100644 --- a/frontend/packages/app/models/documents.ts +++ b/frontend/packages/app/models/documents.ts @@ -47,7 +47,7 @@ import {ContextFrom, fromPromise} from 'xstate' import {useGRPCClient} from '../app-context' import {useNavRoute} from '../utils/navigation' import {pathNameify} from '../utils/path' -import {DraftRoute, NavRoute} from '../utils/routes' +import {NavRoute} from '../utils/routes' import {useNavigate} from '../utils/useNavigate' import {useAllAccounts} from './accounts' import {DraftStatusContext, draftMachine} from './draft-machine' @@ -668,15 +668,6 @@ export function useDraftEditor({ const gwUrl = useGatewayUrlStream() - useEffect(() => { - return () => { - if (!gotEdited.current && backendDraft.data?.children.length == 0) { - // this means the draft was not edited - deleteDraft.mutate((route as DraftRoute).draftId!) - } - } - }, [backendDraft.data]) - // create editor const editor = useBlockNote({ onEditorContentChange(editor: BlockNoteEditor) { @@ -851,16 +842,6 @@ export const findBlock = findParentNode( (node) => node.type.name === 'blockContainer', ) -function generateBlockId(length: number = 8): string { - const characters = - 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' - let result = '' - for (let i = 0; i < length; i++) { - result += characters.charAt(Math.floor(Math.random() * characters.length)) - } - return result -} - export function useDocTextContent(pub?: HMPublication) { return useMemo(() => { let res = '' diff --git a/frontend/packages/app/models/draft-machine.ts b/frontend/packages/app/models/draft-machine.ts index 2d06cda3b..db326150d 100644 --- a/frontend/packages/app/models/draft-machine.ts +++ b/frontend/packages/app/models/draft-machine.ts @@ -14,6 +14,7 @@ export const draftMachine = createMachine( title: '', errorMessage: '', restoreTries: 0, + changed: false, }, id: 'Draft', initial: 'fetching', @@ -117,6 +118,9 @@ export const draftMachine = createMachine( { type: 'indicatorChange', }, + { + type: 'setchanged', + }, ], after: { autosaveTimeout: { @@ -273,6 +277,7 @@ export const draftMachine = createMachine( title: string errorMessage: string restoreTries: number + changed: boolean }, }, }, @@ -284,6 +289,13 @@ export const draftMachine = createMachine( resetChangeWhileSaving: assign({ hasChangedWhileSaving: false, }), + setchanged: assign({ + changed: ({context}) => { + if (!context.changed) { + return true + } + }, + }), setCurrentBlocksmap: assign({ // @ts-expect-error blocksMap: ({context, event}) => {