From b87836782b036836ea3ffa303391fe1f519942a8 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Mon, 25 May 2026 21:29:51 +0200 Subject: [PATCH] fix(notes): persist uploaded image to cache so it survives reload --- src/hooks/useImageUpload.hook.ts | 12 ++++++------ src/modules/repo/store/userRepo.store.ts | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/hooks/useImageUpload.hook.ts b/src/hooks/useImageUpload.hook.ts index 3396387..8dce8a8 100644 --- a/src/hooks/useImageUpload.hook.ts +++ b/src/hooks/useImageUpload.hook.ts @@ -85,12 +85,12 @@ export const useImageUpload = ({ return null } - if (!store.files.some((f) => f.path === targetPath)) { - store.files = [ - ...store.files, - { path: targetPath, sha, type: "blob", size: file.size } - ] - } + store.registerUploadedFile({ + path: targetPath, + sha, + type: "blob", + size: file.size + }) return { filename } } catch (error) { diff --git a/src/modules/repo/store/userRepo.store.ts b/src/modules/repo/store/userRepo.store.ts index b56ad0f..114b0b2 100644 --- a/src/modules/repo/store/userRepo.store.ts +++ b/src/modules/repo/store/userRepo.store.ts @@ -230,6 +230,28 @@ export const useUserRepoStore = defineStore("USER_REPO_STATE", { }) this.files = newFiles }, + registerUploadedFile(file: RepoFile) { + if (!file.path) { + return + } + + const savedRepoId = generateId( + DataType.SavedRepo, + `${this.user}-${this.repo}` + ) + const newFiles = [ + ...toRaw(this.files).filter((f) => f.path !== file.path), + toRaw(file) + ] + data.update({ + _id: savedRepoId, + $type: DataType.SavedRepo, + repo: this.repo, + user: this.user, + files: newFiles + }) + this.files = newFiles + }, resetUserRepo() { this.user = "" this.repo = ""