From 620894aecb8d33d5ff131dd7406b12b7045dceac Mon Sep 17 00:00:00 2001 From: "Calum H." Date: Mon, 27 Apr 2026 20:03:48 +0100 Subject: [PATCH] feat: backups page cleanup before worlds (#5844) * feat: card alignment + fix modals * feat: change admon title in restore alert modal * fix: lint * feat: backups queue api into api-client * feat: impl backup queue api endpoints into frontend * feat: ack fix * feat: bulk actions * feat: bulk delete impl * fix: lint * fix: align error states * fix: transition group * feat: ready for qa * fix: lint * feat: qa * feat: stacked admonitions component * fix: issues with stacking * feat: hook up admonition stacking + fix app csp for staging kyros nodes * fix: logs.vue * qa: close stack on admonitions click * fix: all problems with stacked admonitions * qa: admonition cleanup and copy overhaul draft * fix: qa issues padding * fix: padding bug * feat: qa * fix: intercom in app csp bug * fix: positioning intercom * feat: loading overlay on top of console + admon consistency changes * feat: scroll indicator fade in backup delete modal + admon timestamp fix * feat: move action bar behind modal * fix: lint + i18n * fix: server ping spam on filter (cache but clear on unmount) * fix: 1 admon fade in flicker issue * chore: temp staging undo * qa: changes * fix: lint * chore: revert staging to use staging * fix: scoping --- AGENTS.md | 1 + apps/app-frontend/package.json | 1 + apps/app-frontend/src/App.vue | 98 +++ .../src/assets/stylesheets/global.scss | 7 - .../app-frontend/src/locales/en-US/index.json | 4 +- apps/app-frontend/src/pages/Browse.vue | 157 ++++- .../src/pages/hosting/manage/Index.vue | 23 - apps/app-frontend/src/routes.js | 2 +- apps/app/capabilities/plugins.json | 62 +- apps/app/tauri.conf.json | 32 +- apps/frontend/AGENTS.md | 1 + apps/frontend/src/assets/styles/global.scss | 2 + .../src/pages/discover/[type]/index.vue | 107 ++- apps/labrinth/AGENTS.md | 1 + packages/api-client/AGENTS.md | 1 + packages/api-client/CLAUDE.md | 2 +- .../api-client/src/core/abstract-client.ts | 7 +- .../src/modules/archon/backups-queue/v1.ts | 93 +++ .../src/modules/archon/backups/v1.ts | 24 + .../api-client/src/modules/archon/index.ts | 1 + .../api-client/src/modules/archon/types.ts | 89 ++- packages/api-client/src/modules/index.ts | 2 + packages/assets/styles/defaults.scss | 9 +- packages/assets/styles/reset.scss | 11 + packages/ui/AGENTS.md | 1 + packages/ui/package.json | 1 + .../ui/src/components/base/Admonition.vue | 164 +++-- .../ui/src/components/base/BaseTerminal.vue | 28 + packages/ui/src/components/base/Checkbox.vue | 9 +- .../src/components/base/FloatingActionBar.vue | 2 +- .../components/base/StackedAdmonitions.vue | 617 ++++++++++++++++++ packages/ui/src/components/base/index.ts | 2 + .../components/servers/InstallingBanner.vue | 40 +- .../servers/admonitions/BackupAdmonition.vue | 293 +++++++++ .../admonitions/FileOperationAdmonition.vue | 99 +++ .../admonitions/ServerPanelAdmonitions.vue | 410 ++++++++++++ .../servers/admonitions/UploadAdmonition.vue | 45 ++ .../components/servers/admonitions/index.ts | 5 + .../servers/backups/BackupCreateModal.vue | 14 +- .../servers/backups/BackupDeleteModal.vue | 144 +++- .../components/servers/backups/BackupItem.vue | 170 ++--- .../backups/BackupProgressAdmonitions.vue | 396 ----------- .../servers/backups/BackupRenameModal.vue | 54 +- .../servers/backups/BackupRestoreModal.vue | 56 +- .../src/components/servers/backups/index.ts | 1 - packages/ui/src/components/servers/index.ts | 1 + packages/ui/src/composables/index.ts | 1 + .../ui/src/composables/scroll-indicator.ts | 2 +- .../src/composables/server-backups-queue.ts | 133 ++++ packages/ui/src/composables/server-console.ts | 47 +- .../composables/server-manage-core-runtime.ts | 53 +- .../composables/use-browse-search.ts | 8 +- .../src/layouts/shared/browse-tab/layout.vue | 4 +- .../src/layouts/shared/browse-tab/sidebar.vue | 2 +- .../ui/src/layouts/shared/browse-tab/types.ts | 1 + .../ui/src/layouts/shared/console/layout.vue | 29 +- .../composables/use-inline-backup.ts | 127 ++-- .../src/layouts/shared/content-tab/layout.vue | 71 +- .../content-tab/providers/content-manager.ts | 5 - .../components/FileOperationAdmonitions.vue | 113 ---- .../src/layouts/shared/files-tab/layout.vue | 9 - .../hosting/manage/backups-selection.ts | 74 +++ .../wrapped/hosting/manage/backups.vue | 518 ++++++++++----- .../wrapped/hosting/manage/content.vue | 85 +-- .../layouts/wrapped/hosting/manage/index.vue | 8 +- .../wrapped/hosting/manage/overview.vue | 7 +- .../layouts/wrapped/hosting/manage/root.vue | 197 ++---- packages/ui/src/locales/en-US/index.json | 127 +++- packages/ui/src/providers/server-context.ts | 17 +- .../ui/src/stories/base/Admonition.stories.ts | 101 ++- .../ui/src/stories/base/Checkbox.stories.ts | 8 + .../base/StackedAdmonitions.stories.ts | 507 ++++++++++++++ .../src/stories/servers/BackupItem.stories.ts | 99 +++ .../stories/servers/EditServerIcon.stories.ts | 4 +- .../servers/InstallingBanner.stories.ts | 10 + .../ServerPanelAdmonitionCopyDraft.stories.ts | 270 ++++++++ .../servers/ServerPanelAdmonitions.stories.ts | 116 ++++ packages/ui/src/utils/server-search.ts | 28 +- pnpm-lock.yaml | 226 ++++--- 79 files changed, 4640 insertions(+), 1656 deletions(-) create mode 120000 AGENTS.md create mode 120000 apps/frontend/AGENTS.md create mode 120000 apps/labrinth/AGENTS.md create mode 120000 packages/api-client/AGENTS.md create mode 100644 packages/api-client/src/modules/archon/backups-queue/v1.ts create mode 100644 packages/assets/styles/reset.scss create mode 120000 packages/ui/AGENTS.md create mode 100644 packages/ui/src/components/base/StackedAdmonitions.vue create mode 100644 packages/ui/src/components/servers/admonitions/BackupAdmonition.vue create mode 100644 packages/ui/src/components/servers/admonitions/FileOperationAdmonition.vue create mode 100644 packages/ui/src/components/servers/admonitions/ServerPanelAdmonitions.vue create mode 100644 packages/ui/src/components/servers/admonitions/UploadAdmonition.vue create mode 100644 packages/ui/src/components/servers/admonitions/index.ts delete mode 100644 packages/ui/src/components/servers/backups/BackupProgressAdmonitions.vue create mode 100644 packages/ui/src/composables/server-backups-queue.ts delete mode 100644 packages/ui/src/layouts/shared/files-tab/components/FileOperationAdmonitions.vue create mode 100644 packages/ui/src/layouts/wrapped/hosting/manage/backups-selection.ts create mode 100644 packages/ui/src/stories/base/StackedAdmonitions.stories.ts create mode 100644 packages/ui/src/stories/servers/BackupItem.stories.ts create mode 100644 packages/ui/src/stories/servers/ServerPanelAdmonitionCopyDraft.stories.ts create mode 100644 packages/ui/src/stories/servers/ServerPanelAdmonitions.stories.ts diff --git a/AGENTS.md b/AGENTS.md new file mode 120000 index 000000000..681311eb9 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1 @@ +CLAUDE.md \ No newline at end of file diff --git a/apps/app-frontend/package.json b/apps/app-frontend/package.json index 48037e284..5a889cd37 100644 --- a/apps/app-frontend/package.json +++ b/apps/app-frontend/package.json @@ -13,6 +13,7 @@ "test": "vue-tsc --noEmit" }, "dependencies": { + "@intercom/messenger-js-sdk": "^0.0.14", "@modrinth/api-client": "workspace:^", "@modrinth/assets": "workspace:*", "@modrinth/ui": "workspace:*", diff --git a/apps/app-frontend/src/App.vue b/apps/app-frontend/src/App.vue index d2a0e7510..5cb3b66d2 100644 --- a/apps/app-frontend/src/App.vue +++ b/apps/app-frontend/src/App.vue @@ -1,4 +1,5 @@ + + diff --git a/packages/ui/src/components/base/BaseTerminal.vue b/packages/ui/src/components/base/BaseTerminal.vue index 12957a720..43901050f 100644 --- a/packages/ui/src/components/base/BaseTerminal.vue +++ b/packages/ui/src/components/base/BaseTerminal.vue @@ -4,6 +4,13 @@ >
+ +