From 355d5d9cdf3b0aa12d45875f80796be99b862cb1 Mon Sep 17 00:00:00 2001 From: "Calum H. (IMB11)" Date: Mon, 26 Oct 2026 15:13:33 +0000 Subject: [PATCH] refactor(app): move hosting and browse pages into platform adapters --- .../src/pages/hosting/manage/index.js | 8 -------- apps/app-frontend/src/pages/index.js | 8 -------- apps/app-frontend/src/pages/project/Index.vue | 2 +- .../adapters/browse/browse-page.vue} | 8 ++++---- .../adapters/browse}/server-install-content.ts | 0 .../adapters}/browse/use-app-server-browse.ts | 0 .../adapters/hosting/manage/access-page.vue} | 0 .../adapters/hosting/manage/backups-page.vue} | 0 .../adapters/hosting/manage/content-page.vue} | 0 .../adapters/hosting/manage/files-page.vue} | 0 .../adapters/hosting/manage/layout.vue} | 0 .../adapters/hosting/manage/overview-page.vue} | 0 .../adapters/hosting/servers-page.vue} | 3 +-- apps/app-frontend/src/routes.js | 16 ++++++++-------- 14 files changed, 14 insertions(+), 31 deletions(-) delete mode 100644 apps/app-frontend/src/pages/hosting/manage/index.js delete mode 100644 apps/app-frontend/src/pages/index.js rename apps/app-frontend/src/{pages/Browse.vue => platform/adapters/browse/browse-page.vue} (99%) rename apps/app-frontend/src/{providers/setup => platform/adapters/browse}/server-install-content.ts (100%) rename apps/app-frontend/src/{composables => platform/adapters}/browse/use-app-server-browse.ts (100%) rename apps/app-frontend/src/{pages/hosting/manage/Access.vue => platform/adapters/hosting/manage/access-page.vue} (100%) rename apps/app-frontend/src/{pages/hosting/manage/Backups.vue => platform/adapters/hosting/manage/backups-page.vue} (100%) rename apps/app-frontend/src/{pages/hosting/manage/Content.vue => platform/adapters/hosting/manage/content-page.vue} (100%) rename apps/app-frontend/src/{pages/hosting/manage/Files.vue => platform/adapters/hosting/manage/files-page.vue} (100%) rename apps/app-frontend/src/{pages/hosting/manage/Index.vue => platform/adapters/hosting/manage/layout.vue} (100%) rename apps/app-frontend/src/{pages/hosting/manage/Overview.vue => platform/adapters/hosting/manage/overview-page.vue} (100%) rename apps/app-frontend/src/{pages/Servers.vue => platform/adapters/hosting/servers-page.vue} (96%) diff --git a/apps/app-frontend/src/pages/hosting/manage/index.js b/apps/app-frontend/src/pages/hosting/manage/index.js deleted file mode 100644 index 0c10b07133d..00000000000 --- a/apps/app-frontend/src/pages/hosting/manage/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import Access from './Access.vue' -import Backups from './Backups.vue' -import Content from './Content.vue' -import Files from './Files.vue' -import Index from './Index.vue' -import Overview from './Overview.vue' - -export { Access, Backups, Content, Files, Index, Overview } diff --git a/apps/app-frontend/src/pages/index.js b/apps/app-frontend/src/pages/index.js deleted file mode 100644 index ad2bd5f4a56..00000000000 --- a/apps/app-frontend/src/pages/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import Browse from './Browse.vue' -import Index from './Index.vue' -import Screenshots from './Screenshots.vue' -import Servers from './Servers.vue' -import Skins from './Skins.vue' -import User from './User.vue' - -export { Browse, Index, Screenshots, Servers, Skins, User } diff --git a/apps/app-frontend/src/pages/project/Index.vue b/apps/app-frontend/src/pages/project/Index.vue index cce3ce51943..0b53e5c3d68 100644 --- a/apps/app-frontend/src/pages/project/Index.vue +++ b/apps/app-frontend/src/pages/project/Index.vue @@ -308,9 +308,9 @@ import { get_loader_versions as getLoaderManifest } from '@/helpers/metadata' import { get_by_instance_id } from '@/helpers/process' import { get_categories, get_game_versions, get_loaders } from '@/helpers/tags' import { getServerAddress } from '@/helpers/worlds' +import { createServerInstallContent } from '@/platform/adapters/browse/server-install-content' import { injectContentInstall } from '@/providers/content-install' import { injectServerInstall } from '@/providers/server-install' -import { createServerInstallContent } from '@/providers/setup/server-install-content' import { provideBreadcrumbParent, useBreadcrumb } from '@/shared/breadcrumbs' dayjs.extend(relativeTime) diff --git a/apps/app-frontend/src/pages/Browse.vue b/apps/app-frontend/src/platform/adapters/browse/browse-page.vue similarity index 99% rename from apps/app-frontend/src/pages/Browse.vue rename to apps/app-frontend/src/platform/adapters/browse/browse-page.vue index d859d2b88c5..bfd71ced7f9 100644 --- a/apps/app-frontend/src/pages/Browse.vue +++ b/apps/app-frontend/src/platform/adapters/browse/browse-page.vue @@ -38,7 +38,6 @@ import { computed, onBeforeUnmount, ref, shallowRef, watch } from 'vue' import type { LocationQuery } from 'vue-router' import { useRoute, useRouter } from 'vue-router' -import { useAppServerBrowse } from '@/composables/browse/use-app-server-browse' import { useAppEvent } from '@/composables/use-app-event' import { useAppSettings } from '@/composables/use-app-settings.ts' import { get_project, get_search_results_v3, get_version_many } from '@/helpers/cache.js' @@ -56,12 +55,13 @@ import { instanceKeys, instanceLinkedProjectQueryOptions, } from '@/pages/instance/query-options' -import { injectContentInstall } from '@/providers/content-install' -import { injectServerInstall } from '@/providers/server-install' import { createServerInstallContent, provideServerInstallContent, -} from '@/providers/setup/server-install-content' +} from '@/platform/adapters/browse/server-install-content' +import { useAppServerBrowse } from '@/platform/adapters/browse/use-app-server-browse' +import { injectContentInstall } from '@/providers/content-install' +import { injectServerInstall } from '@/providers/server-install' import { type BreadcrumbDefinition, injectBreadcrumbManager } from '@/shared/breadcrumbs' const { handleError } = injectNotificationManager() diff --git a/apps/app-frontend/src/providers/setup/server-install-content.ts b/apps/app-frontend/src/platform/adapters/browse/server-install-content.ts similarity index 100% rename from apps/app-frontend/src/providers/setup/server-install-content.ts rename to apps/app-frontend/src/platform/adapters/browse/server-install-content.ts diff --git a/apps/app-frontend/src/composables/browse/use-app-server-browse.ts b/apps/app-frontend/src/platform/adapters/browse/use-app-server-browse.ts similarity index 100% rename from apps/app-frontend/src/composables/browse/use-app-server-browse.ts rename to apps/app-frontend/src/platform/adapters/browse/use-app-server-browse.ts diff --git a/apps/app-frontend/src/pages/hosting/manage/Access.vue b/apps/app-frontend/src/platform/adapters/hosting/manage/access-page.vue similarity index 100% rename from apps/app-frontend/src/pages/hosting/manage/Access.vue rename to apps/app-frontend/src/platform/adapters/hosting/manage/access-page.vue diff --git a/apps/app-frontend/src/pages/hosting/manage/Backups.vue b/apps/app-frontend/src/platform/adapters/hosting/manage/backups-page.vue similarity index 100% rename from apps/app-frontend/src/pages/hosting/manage/Backups.vue rename to apps/app-frontend/src/platform/adapters/hosting/manage/backups-page.vue diff --git a/apps/app-frontend/src/pages/hosting/manage/Content.vue b/apps/app-frontend/src/platform/adapters/hosting/manage/content-page.vue similarity index 100% rename from apps/app-frontend/src/pages/hosting/manage/Content.vue rename to apps/app-frontend/src/platform/adapters/hosting/manage/content-page.vue diff --git a/apps/app-frontend/src/pages/hosting/manage/Files.vue b/apps/app-frontend/src/platform/adapters/hosting/manage/files-page.vue similarity index 100% rename from apps/app-frontend/src/pages/hosting/manage/Files.vue rename to apps/app-frontend/src/platform/adapters/hosting/manage/files-page.vue diff --git a/apps/app-frontend/src/pages/hosting/manage/Index.vue b/apps/app-frontend/src/platform/adapters/hosting/manage/layout.vue similarity index 100% rename from apps/app-frontend/src/pages/hosting/manage/Index.vue rename to apps/app-frontend/src/platform/adapters/hosting/manage/layout.vue diff --git a/apps/app-frontend/src/pages/hosting/manage/Overview.vue b/apps/app-frontend/src/platform/adapters/hosting/manage/overview-page.vue similarity index 100% rename from apps/app-frontend/src/pages/hosting/manage/Overview.vue rename to apps/app-frontend/src/platform/adapters/hosting/manage/overview-page.vue diff --git a/apps/app-frontend/src/pages/Servers.vue b/apps/app-frontend/src/platform/adapters/hosting/servers-page.vue similarity index 96% rename from apps/app-frontend/src/pages/Servers.vue rename to apps/app-frontend/src/platform/adapters/hosting/servers-page.vue index 2c3b7be11d5..2d7fcadeec1 100644 --- a/apps/app-frontend/src/pages/Servers.vue +++ b/apps/app-frontend/src/platform/adapters/hosting/servers-page.vue @@ -5,10 +5,9 @@ import { injectModrinthClient, ServersManagePageIndex } from '@modrinth/ui' import { useQuery } from '@tanstack/vue-query' import { computed } from 'vue' +import { config } from '@/config' import { useRootBreadcrumb } from '@/shared/breadcrumbs' -import { config } from '../config' - const stripePublishableKey = (config.stripePublishableKey as string) || '' const client = injectModrinthClient() diff --git a/apps/app-frontend/src/routes.js b/apps/app-frontend/src/routes.js index 33da4d34f38..8f586fce7e1 100644 --- a/apps/app-frontend/src/routes.js +++ b/apps/app-frontend/src/routes.js @@ -16,44 +16,44 @@ export default new createRouter({ { path: '/hosting/manage/', name: 'Servers', - component: () => import('@/pages/Servers.vue'), + component: () => import('@/platform/adapters/hosting/servers-page.vue'), }, { path: '/hosting/manage/:id', name: 'ServerManage', - component: () => import('@/pages/hosting/manage/Index.vue'), + component: () => import('@/platform/adapters/hosting/manage/layout.vue'), children: [ { path: '', name: 'ServerManageOverview', - component: () => import('@/pages/hosting/manage/Overview.vue'), + component: () => import('@/platform/adapters/hosting/manage/overview-page.vue'), }, { path: 'content', name: 'ServerManageContent', - component: () => import('@/pages/hosting/manage/Content.vue'), + component: () => import('@/platform/adapters/hosting/manage/content-page.vue'), }, { path: 'files', name: 'ServerManageFiles', - component: () => import('@/pages/hosting/manage/Files.vue'), + component: () => import('@/platform/adapters/hosting/manage/files-page.vue'), }, { path: 'backups', name: 'ServerManageBackups', - component: () => import('@/pages/hosting/manage/Backups.vue'), + component: () => import('@/platform/adapters/hosting/manage/backups-page.vue'), }, { path: 'access', name: 'ServerManageAccess', - component: () => import('@/pages/hosting/manage/Access.vue'), + component: () => import('@/platform/adapters/hosting/manage/access-page.vue'), }, ], }, { path: '/browse/:projectType', name: 'Discover content', - component: () => import('@/pages/Browse.vue'), + component: () => import('@/platform/adapters/browse/browse-page.vue'), meta: { saveScroll: true, },