diff --git a/src/components/FluxNote.vue b/src/components/FluxNote.vue index b175311..5f743c7 100644 --- a/src/components/FluxNote.vue +++ b/src/components/FluxNote.vue @@ -13,7 +13,7 @@ import LiteLoading from '@/components/LiteLoading.vue' import StackedNote from '@/components/StackedNote.vue' import { useLinks } from '@/hooks/useLinks.hook' import { useMarkdown } from '@/hooks/useMarkdown.hook' -import { useNote } from '@/hooks/useNote.hook' +import { useNoteView } from '@/hooks/useNoteView.hook' import { useRouteQueryStackedNotes } from '@/hooks/useRouteQueryStackedNotes.hook' import { useVisitRepo } from '@/modules/history/hooks/useVisitRepo.hook' import CacheAllNotes from '@/modules/note/components/CacheAllNote.vue' @@ -52,7 +52,7 @@ const { toHTML } = useMarkdown(repo) const { listenToClick } = useLinks('note-display') const { stackedNotes, scrollToTop } = useRouteQueryStackedNotes() -const { titles } = useNote('note-container') +const { titles } = useNoteView('note-container') const renderedContent = computed(() => props.content !== null diff --git a/src/components/StackedNote.vue b/src/components/StackedNote.vue index 009d0fd..619dc2b 100644 --- a/src/components/StackedNote.vue +++ b/src/components/StackedNote.vue @@ -88,32 +88,35 @@ watch([content, mode], () => { }) watch(mode, async (newMode) => { - if (newMode === 'read' && rawContent.value !== initialRawContent.value) { - const editedSha = (await getEditedSha()) ?? sha.value + const hasUserFinishedToEdit = + newMode === 'read' && rawContent.value !== initialRawContent.value - if (!path.value) { - console.warn('no path found for this file') - - return - } - - const newSha = await updateFile({ - content: rawContent.value, - path: path.value, - sha: editedSha - }) - - if (!newSha) { - console.warn('no new SHA found for this file') - - return - } - - await saveCacheNote(encodeUTF8ToBase64(rawContent.value), { - editedSha: newSha - }) - initialRawContent.value = rawContent.value + if (!hasUserFinishedToEdit) { + return } + if (!path.value) { + console.warn('no path found for this file') + + return + } + + const editedSha = (await getEditedSha()) ?? sha.value + const newSha = await updateFile({ + content: rawContent.value, + path: path.value, + sha: editedSha + }) + + if (!newSha) { + console.warn('no new SHA found for this file') + + return + } + + await saveCacheNote(encodeUTF8ToBase64(rawContent.value), { + editedSha: newSha + }) + initialRawContent.value = rawContent.value }) diff --git a/src/hooks/useNote.hook.ts b/src/hooks/useNoteView.hook.ts similarity index 97% rename from src/hooks/useNote.hook.ts rename to src/hooks/useNoteView.hook.ts index 0ce6cd1..ebe79b9 100644 --- a/src/hooks/useNote.hook.ts +++ b/src/hooks/useNoteView.hook.ts @@ -8,7 +8,7 @@ import { resolvePath } from '@/modules/repo/services/resolvePath' import { useUserRepoStore } from '@/modules/repo/store/userRepo.store' import { pathToNotePathTitle } from '@/utils/noteTitle' -export const useNote = (containerClass: string) => { +export const useNoteView = (containerClass: string) => { const store = useUserRepoStore() const { isMobile } = useOverlay(false) const { stackedNotes, addStackedNote } = useRouteQueryStackedNotes()