From baee34b0b6fa0ba50b8b3a45cdbc9f6b43adcdc3 Mon Sep 17 00:00:00 2001 From: Truman Gao <106889354+tdgao@users.noreply.github.com> Date: Wed, 15 Apr 2026 03:12:31 -0600 Subject: [PATCH] feat: add moderation checklist back to project page (#5814) * fix: billing page server plan heading * fix: matching server page spacing with instance page * feat: update server header buttons * feat: add show ram as bytes always on * fix: revert to large buttons * feat: add hostname and server states in info card * feat: add publishing checklist to project page * fix: markdown table style and max width * fix: teleport overflow menu bad anchoring --- apps/app-frontend/src/App.vue | 5 + apps/app-frontend/src/store/theme.ts | 1 + apps/frontend/src/assets/styles/layout.scss | 6 + apps/frontend/src/composables/featureFlags.ts | 1 + apps/frontend/src/pages/[type]/[id].vue | 19 +++ .../src/pages/settings/billing/index.vue | 27 ++-- .../src/providers/setup/page-context.ts | 6 + packages/app-lib/src/state/settings.rs | 1 + packages/assets/styles/classes.scss | 9 +- .../components/base/TeleportOverflowMenu.vue | 5 +- .../server-header/PanelServerActionButton.vue | 75 ++++++++- .../server-header/PanelServerOverflowMenu.vue | 22 +-- .../shared/server-settings/pages/general.vue | 150 ++++++++++++++++-- .../manage/components/ServerManageStats.vue | 12 +- .../wrapped/hosting/manage/overview.vue | 4 +- .../layouts/wrapped/hosting/manage/root.vue | 2 +- packages/ui/src/providers/page-context.ts | 3 + 17 files changed, 282 insertions(+), 66 deletions(-) diff --git a/apps/app-frontend/src/App.vue b/apps/app-frontend/src/App.vue index d37b0b822..97344d945 100644 --- a/apps/app-frontend/src/App.vue +++ b/apps/app-frontend/src/App.vue @@ -157,6 +157,11 @@ provideModrinthClient(tauriApiClient) providePageContext({ hierarchicalSidebarAvailable: ref(true), showAds: ref(false), + featureFlags: { + serverRamAsBytesAlwaysOn: computed(() => + themeStore.getFeatureFlag('server_ram_as_bytes_always_on'), + ), + }, openExternalUrl: (url) => openUrl(url), }) provideModalBehavior({ diff --git a/apps/app-frontend/src/store/theme.ts b/apps/app-frontend/src/store/theme.ts index dbdd5a119..ccf143a78 100644 --- a/apps/app-frontend/src/store/theme.ts +++ b/apps/app-frontend/src/store/theme.ts @@ -6,6 +6,7 @@ export const DEFAULT_FEATURE_FLAGS = { worlds_tab: false, worlds_in_home: true, server_project_qa: false, + server_ram_as_bytes_always_on: false, i18n_debug: false, } diff --git a/apps/frontend/src/assets/styles/layout.scss b/apps/frontend/src/assets/styles/layout.scss index a7f038e3a..096cf482b 100644 --- a/apps/frontend/src/assets/styles/layout.scss +++ b/apps/frontend/src/assets/styles/layout.scss @@ -62,6 +62,8 @@ .normal-page__content { grid-area: content; + width: 100%; + min-width: 0; } .normal-page__header { @@ -116,6 +118,8 @@ } .normal-page__content { + width: 100%; + min-width: 0; max-width: calc(80rem - 18.75rem - 1.5rem); //overflow-x: hidden; } @@ -164,6 +168,8 @@ .normal-page__content { grid-area: content; + width: 100%; + min-width: 0; max-width: calc(80rem - 18.75rem - 1.5rem); //overflow-x: hidden; } diff --git a/apps/frontend/src/composables/featureFlags.ts b/apps/frontend/src/composables/featureFlags.ts index a1acb5878..be15100be 100644 --- a/apps/frontend/src/composables/featureFlags.ts +++ b/apps/frontend/src/composables/featureFlags.ts @@ -38,6 +38,7 @@ export const DEFAULT_FEATURE_FLAGS = validateValues({ showProjectPageQuickServerButton: false, newProjectGeneralSettings: false, newProjectEnvironmentSettings: true, + serverRamAsBytesAlwaysOn: false, archonSentryCapture: false, hideRussiaCensorshipBanner: false, disablePrettyProjectUrlRedirects: false, diff --git a/apps/frontend/src/pages/[type]/[id].vue b/apps/frontend/src/pages/[type]/[id].vue index 184c5d672..4dadc6227 100644 --- a/apps/frontend/src/pages/[type]/[id].vue +++ b/apps/frontend/src/pages/[type]/[id].vue @@ -439,6 +439,24 @@ }" >
+
+ +
-
+
-

- {{ - formatMessage(messages.planTitle, { - size: getProductSize(getPyroProduct(subscription)), - }) - }} -

+
-
+
+

+ {{ + formatMessage(messages.planTitle, { + size: getProductSize(getPyroProduct(subscription)), + }) + }} +

@@ -370,8 +371,8 @@
-
- +

+ {{ getProductPrice(getPyroProduct(subscription), subscription.interval) ? formatPrice( @@ -383,14 +384,14 @@ : '' }} - + {{ formatMessage(messages.slashInterval, { interval: getIntervalNounLabel(subscription.interval), }) }} -

+
+ + + + +
+ +
+ + +
+
+
+ @@ -33,10 +62,17 @@ + + diff --git a/packages/ui/src/components/servers/server-header/PanelServerOverflowMenu.vue b/packages/ui/src/components/servers/server-header/PanelServerOverflowMenu.vue index 66ce04db1..a05c6a8db 100644 --- a/packages/ui/src/components/servers/server-header/PanelServerOverflowMenu.vue +++ b/packages/ui/src/components/servers/server-header/PanelServerOverflowMenu.vue @@ -3,10 +3,6 @@