From a3036c2233593e9755af332f74cfdb938648d7e0 Mon Sep 17 00:00:00 2001 From: Cheng Zhou Date: Wed, 4 Mar 2026 16:38:18 +0800 Subject: [PATCH] feat(ui): align admin project detail with enterprise system --- frontend/scripts/verify-ui-contract.mjs | 13 +++++++++++++ frontend/src/styles/unified-page.css | 9 +++++++++ frontend/src/views/admin/ProjectDetail.vue | 6 +++--- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/frontend/scripts/verify-ui-contract.mjs b/frontend/scripts/verify-ui-contract.mjs index 731f1f3e..721bfe31 100644 --- a/frontend/scripts/verify-ui-contract.mjs +++ b/frontend/scripts/verify-ui-contract.mjs @@ -88,6 +88,19 @@ for (const file of financeAndFilePages) { } } +const adminProjectDetail = readFileSync("src/views/admin/ProjectDetail.vue", "utf8"); +const requiredAdminProjectDetailClasses = [ + "ctms-page-shell", + "unified-action-bar", + "unified-section" +]; + +for (const className of requiredAdminProjectDetailClasses) { + if (!adminProjectDetail.includes(className)) { + missing.push(`src/views/admin/ProjectDetail.vue:${className}`); + } +} + if (missing.length) { console.error("UI contract check failed. Missing:", missing.join(", ")); process.exit(1); diff --git a/frontend/src/styles/unified-page.css b/frontend/src/styles/unified-page.css index 1fb2c51a..75789e11 100644 --- a/frontend/src/styles/unified-page.css +++ b/frontend/src/styles/unified-page.css @@ -203,6 +203,15 @@ font-size: 34px; } +.setup-page .setup-header.unified-action-bar { + padding: var(--unified-shell-padding-y) var(--unified-shell-padding-x); + border-bottom: 1px solid var(--unified-shell-divider); +} + +.setup-page .setup-content.unified-section { + padding: 0; +} + @media (max-width: 960px) { .unified-action-bar, .unified-section { diff --git a/frontend/src/views/admin/ProjectDetail.vue b/frontend/src/views/admin/ProjectDetail.vue index e3591781..a9710f58 100644 --- a/frontend/src/views/admin/ProjectDetail.vue +++ b/frontend/src/views/admin/ProjectDetail.vue @@ -1,7 +1,7 @@