From fbdde8f3d856dec5817031273072c9cbc43686c9 Mon Sep 17 00:00:00 2001 From: "Calum H." Date: Thu, 13 Aug 2026 15:46:10 +0100 Subject: [PATCH] feat: update required empty state for modrinth hosting (#7125) --- apps/app-frontend/src/App.vue | 14 +- .../components/ui/HostingUpdateRequired.vue | 124 ++++++++++++++++++ .../app-frontend/src/locales/en-US/index.json | 12 ++ 3 files changed, 148 insertions(+), 2 deletions(-) create mode 100644 apps/app-frontend/src/components/ui/HostingUpdateRequired.vue diff --git a/apps/app-frontend/src/App.vue b/apps/app-frontend/src/App.vue index 17f2a62fb9..1989ee7cbc 100644 --- a/apps/app-frontend/src/App.vue +++ b/apps/app-frontend/src/App.vue @@ -71,6 +71,7 @@ import AppActionBar from '@/components/ui/AppActionBar.vue' import Breadcrumbs from '@/components/ui/Breadcrumbs.vue' import ErrorModal from '@/components/ui/ErrorModal.vue' import FriendsList from '@/components/ui/friends/FriendsList.vue' +import HostingUpdateRequired from '@/components/ui/HostingUpdateRequired.vue' import AddServerToInstanceModal from '@/components/ui/install_flow/AddServerToInstanceModal.vue' import UnknownPackWarningModal from '@/components/ui/install_flow/UnknownPackWarningModal.vue' import MinecraftAuthErrorModal from '@/components/ui/minecraft-auth-error-modal/MinecraftAuthErrorModal.vue' @@ -209,6 +210,12 @@ const forceSidebar = computed( ) const sidebarVisible = computed(() => sidebarToggled.value || forceSidebar.value) const hostingRouteActive = computed(() => route.path.startsWith('/hosting')) +const hostingUpdateRequired = computed( + () => + hostingRouteActive.value && + !!appUpdateState.availableUpdate.value && + appUpdateState.updatesEnabled.value, +) const prideFundraiserEnabled = computed( () => themeStore.getFeatureFlag('pride_fundraiser') && Date.now() < PRIDE_FUNDRAISER_END_DATE, ) @@ -219,7 +226,9 @@ const hostingIntercomIdentityKey = computed(() => { return `${userId}:${serverId ?? 'hosting'}` }) const hostingIntercom = useHostingIntercom({ - enabled: computed(() => hostingRouteActive.value && !!credentials.value?.session), + enabled: computed( + () => hostingRouteActive.value && !hostingUpdateRequired.value && !!credentials.value?.session, + ), appId: 'ykeritl9', fetchToken: fetchIntercomToken, identityKey: hostingIntercomIdentityKey, @@ -1787,7 +1796,8 @@ provideAppUpdateDownloadProgress(appUpdateDownload) > {{ formatMessage(messages.authUnreachableBody) }} - + +