From 83d53dafe76bb18002caa39273a21781662faf48 Mon Sep 17 00:00:00 2001 From: Truman Gao <106889354+tdgao@users.noreply.github.com> Date: Fri, 6 Mar 2026 18:11:45 -0800 Subject: [PATCH] fix: servers misc fixes (#5475) * fix: tags in project settings to have icons and ordered correctly * fix copy in project list layout settings * fix tag item in header navigation * adjust ping ranges * add handle click tag * fix: dont show offline in project page for draft status * move tags above creators in app * preload server project page on load and optimize queries * add server project card to organization page * fix minecraft_java_server label * pnpm prepr * have user option in project create modal be circle * feat: implement better mobile project page view * disable summary line clamp for servers * fix: unlink instance doesnt update instance * increase icon upload size * small fix on button size * improve how server ping info loads * remove unnecessary pings for instance page * fix order of computing dependency diff * remove linked_project_id from world, use name+address to match for managed world instead * pnpm prepr * hide duplicate worlds with same domain name in worlds list * add install content warning for server instance * increase summary max width * add handling for server projects for bulk editing links * implement include user unlisted projects in published modpack select * pnpm prepr * filter to only user unlisted status * add bad link warnings * fix modpack tags appearing in server * cargo fmt --- .../InstallationSettings.vue | 5 +- .../ui/modal/ConfirmModalWrapper.vue | 8 +- .../ui/modal/InstanceSettingsModal.vue | 13 +- .../components/ui/modal/UpdateToPlayModal.vue | 10 +- .../src/components/ui/world/WorldItem.vue | 17 ++- apps/app-frontend/src/helpers/worlds.ts | 135 +++++++++++++++-- apps/app-frontend/src/pages/Browse.vue | 5 + .../app-frontend/src/pages/instance/Index.vue | 61 +++++--- .../src/pages/instance/Worlds.vue | 143 ++++++++++++++++-- apps/app-frontend/src/pages/project/Index.vue | 4 +- apps/app-frontend/src/store/install.js | 64 ++------ apps/app/src/api/worlds.rs | 23 +-- .../components/DependencySelect.vue | 20 +-- .../ui/create/ProjectCreateModal.vue | 40 ++--- .../stages/SelectPublishedModpack.vue | 3 + .../src/composables/queries/version.ts | 11 ++ apps/frontend/src/locales/en-US/index.json | 9 ++ apps/frontend/src/pages/[type]/[id].vue | 73 ++++++--- .../src/pages/[type]/[id]/settings/index.vue | 2 +- .../src/pages/[type]/[id]/settings/links.vue | 66 ++++++++ .../src/pages/[type]/[id]/settings/tags.vue | 41 ++++- .../frontend/src/pages/dashboard/projects.vue | 61 ++++++-- .../src/pages/discover/[type]/index.vue | 22 +++ apps/frontend/src/pages/organization/[id].vue | 110 ++++++++++---- apps/frontend/src/pages/settings/index.vue | 4 + apps/frontend/src/utils/i18n-project-type.ts | 8 + packages/api-client/src/modules/index.ts | 2 + .../api-client/src/modules/labrinth/index.ts | 1 + .../src/modules/labrinth/users/v2.ts | 27 ++++ packages/app-lib/src/api/worlds.rs | 11 -- packages/assets/index.ts | 49 ++++++ .../src/components/base/ContentPageHeader.vue | 69 +++++---- .../ui/src/components/modal/ConfirmModal.vue | 7 +- .../components/project/ProjectCombobox.vue | 79 ++++++++-- .../src/components/project/ProjectHeader.vue | 2 +- .../project/ProjectSidebarServerInfo.vue | 6 +- .../components/project/ProjectSidebarTags.vue | 23 ++- .../project/ServerProjectHeader.vue | 7 +- .../components/project/card/ProjectCard.vue | 55 ++++--- .../project/server/ServerDetails.vue | 4 +- .../components/project/server/ServerPing.vue | 2 +- .../project/server/ServerRegion.vue | 2 +- packages/ui/src/utils/server-search.ts | 51 +------ packages/utils/utils.ts | 15 ++ 44 files changed, 993 insertions(+), 377 deletions(-) create mode 100644 apps/frontend/src/composables/queries/version.ts create mode 100644 packages/api-client/src/modules/labrinth/users/v2.ts diff --git a/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue b/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue index b9fe4223d..c8e6267d6 100644 --- a/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue +++ b/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue @@ -49,6 +49,9 @@ const modalConfirmUnpair = ref() const modalConfirmReinstall = ref() const props = defineProps() +const emit = defineEmits<{ + unlinked: [] +}>() const loader = ref(props.instance.loader) const gameVersion = ref(props.instance.game_version) @@ -273,7 +276,7 @@ async function unpairProfile() { modpackProject.value = null modpackVersion.value = null modpackVersions.value = null - modalConfirmUnpair.value.hide() + emit('unlinked') } async function repairModpack() { diff --git a/apps/app-frontend/src/components/ui/modal/ConfirmModalWrapper.vue b/apps/app-frontend/src/components/ui/modal/ConfirmModalWrapper.vue index 06e23d2e8..6964a83f6 100644 --- a/apps/app-frontend/src/components/ui/modal/ConfirmModalWrapper.vue +++ b/apps/app-frontend/src/components/ui/modal/ConfirmModalWrapper.vue @@ -1,6 +1,6 @@ diff --git a/packages/ui/src/components/modal/ConfirmModal.vue b/packages/ui/src/components/modal/ConfirmModal.vue index cd19864f2..2bbcc913a 100644 --- a/packages/ui/src/components/modal/ConfirmModal.vue +++ b/packages/ui/src/components/modal/ConfirmModal.vue @@ -38,7 +38,7 @@ - @@ -124,6 +124,9 @@ function proceed() { function show() { modal.value.show() } +function hide() { + modal.value.hide() +} -defineExpose({ show }) +defineExpose({ show, hide }) diff --git a/packages/ui/src/components/project/ProjectCombobox.vue b/packages/ui/src/components/project/ProjectCombobox.vue index 33c142b7f..dd616f6f8 100644 --- a/packages/ui/src/components/project/ProjectCombobox.vue +++ b/packages/ui/src/components/project/ProjectCombobox.vue @@ -16,7 +16,8 @@