From 66b6aecddc45e06327ac70cb2d7db700309cc48d Mon Sep 17 00:00:00 2001 From: Anatoly Wein Date: Mon, 31 Aug 2026 22:48:49 +0200 Subject: [PATCH 1/7] refactor recent projects plugin --- .../src/AddRecentProject.vue | 47 +++++++ .../src/RecentProjectItem.vue | 90 ++++++++++++++ .../src/RecentProjects.vue | 117 ++---------------- .../src/{api.ts => service.ts} | 10 +- torii-client/webapp/tsconfig.json | 2 +- 5 files changed, 156 insertions(+), 110 deletions(-) create mode 100644 torii-client/plugin-recent-projects/src/AddRecentProject.vue create mode 100644 torii-client/plugin-recent-projects/src/RecentProjectItem.vue rename torii-client/plugin-recent-projects/src/{api.ts => service.ts} (87%) diff --git a/torii-client/plugin-recent-projects/src/AddRecentProject.vue b/torii-client/plugin-recent-projects/src/AddRecentProject.vue new file mode 100644 index 0000000..2be8d3a --- /dev/null +++ b/torii-client/plugin-recent-projects/src/AddRecentProject.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/torii-client/plugin-recent-projects/src/RecentProjectItem.vue b/torii-client/plugin-recent-projects/src/RecentProjectItem.vue new file mode 100644 index 0000000..22c96b9 --- /dev/null +++ b/torii-client/plugin-recent-projects/src/RecentProjectItem.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/torii-client/plugin-recent-projects/src/RecentProjects.vue b/torii-client/plugin-recent-projects/src/RecentProjects.vue index d2da0f5..8abc8ae 100644 --- a/torii-client/plugin-recent-projects/src/RecentProjects.vue +++ b/torii-client/plugin-recent-projects/src/RecentProjects.vue @@ -4,86 +4,33 @@ {{ $t('app.project.noRecent') }}
- - {{ project.name }} - - - - - - + :project="project" + @open="openProject(project.path)" + />
- + diff --git a/torii-client/plugin-recent-projects/src/api.ts b/torii-client/plugin-recent-projects/src/service.ts similarity index 87% rename from torii-client/plugin-recent-projects/src/api.ts rename to torii-client/plugin-recent-projects/src/service.ts index b20f2ed..eb674bd 100644 --- a/torii-client/plugin-recent-projects/src/api.ts +++ b/torii-client/plugin-recent-projects/src/service.ts @@ -9,7 +9,7 @@ import { Ref, ref } from 'vue'; /** * @brief Type of a recent project struct. */ -interface RecentProject { +export interface RecentProject { /** * The name of the project. */ @@ -24,7 +24,13 @@ interface RecentProject { * The timestamp of when the project was last opened, in milliseconds since * the Unix epoch. */ - lastOpened?: number; + last_opened?: number; + + /** + * Wether the project is added by the system. Such projects are not stored + * in the recent projects file and cannot be removed. + */ + is_system?: boolean; } const recentProjects = ref([]); diff --git a/torii-client/webapp/tsconfig.json b/torii-client/webapp/tsconfig.json index 4c5fbf0..4795d0b 100644 --- a/torii-client/webapp/tsconfig.json +++ b/torii-client/webapp/tsconfig.json @@ -28,5 +28,5 @@ "@/*": ["./src/*"] } }, - "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "../plugin-recent-projects/src/api.ts"] + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] } From 3ead6e9cef10eb18b3e3a847608fccb33ba104f8 Mon Sep 17 00:00:00 2001 From: Anatoly Wein Date: Sun, 6 Sep 2026 19:35:57 +0200 Subject: [PATCH 2/7] refactor invoke into a separate service --- .../src/components/article/MarkdownEditor.vue | 26 +---- .../src/components/image/ImageEditor.vue | 56 ++-------- .../webapp/src/services/recordsService.ts | 105 ++++++++++++++++++ torii-client/webapp/src/ui/UIFileTree.vue | 51 +++------ .../webapp/src/views/project/ProjectView.vue | 53 ++++----- 5 files changed, 155 insertions(+), 136 deletions(-) create mode 100644 torii-client/webapp/src/services/recordsService.ts diff --git a/torii-client/webapp/src/components/article/MarkdownEditor.vue b/torii-client/webapp/src/components/article/MarkdownEditor.vue index f75c70e..13306af 100644 --- a/torii-client/webapp/src/components/article/MarkdownEditor.vue +++ b/torii-client/webapp/src/components/article/MarkdownEditor.vue @@ -22,7 +22,6 @@