From 920f60a681ec89acbd97e3399dd27ef97362f0af Mon Sep 17 00:00:00 2001 From: umsangdon Date: Thu, 8 Oct 2026 15:00:11 +0900 Subject: [PATCH] =?UTF-8?q?Revert=20"fix(B01):=20=ED=95=AD=EB=AA=A9?= =?UTF-8?q?=EB=B3=84=20=ED=83=AD=20=ED=99=94=EB=A9=B4=20=EB=8B=A4=EB=93=AC?= =?UTF-8?q?=EC=9D=8C=20=E2=80=94=20=ED=9A=8C=EC=82=AC=20=EC=A0=95=EB=B3=B4?= =?UTF-8?q?=20=EC=B9=B8=20=EC=A4=84=EB=A7=9E=EC=B6=A4=20=C2=B7=20=EB=A6=AC?= =?UTF-8?q?=EC=86=8C=EC=8A=A4=20=EA=B8=B0=EA=B0=84=20=EA=B8=80=20=C2=B7=20?= =?UTF-8?q?=ED=94=84=EB=A1=9C=EC=A0=9D=ED=8A=B8=20=ED=91=9C=20=EB=8B=A8?= =?UTF-8?q?=EA=B3=84=20=EB=A7=89=EB=8C=80=20=EB=91=90=20=EC=A4=84=20=C2=B7?= =?UTF-8?q?=20=EC=B0=BE=EA=B8=B0=20=EC=A4=84=20=EC=A0=95=EB=A0=AC=20(92-1?= =?UTF-8?q?=C2=B792-2)"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 22266508d49a4096aeb5ab3c22f1897dd3c23412. --- B01_Dashboard/B01_Dashboard_UI_Company.ts | 21 ++++++++---------- B01_Dashboard/B01_Dashboard_UI_Profile.ts | 4 +--- B01_Dashboard/B01_Dashboard_UI_ProjectsTab.ts | 1 - B01_Dashboard/B01_Dashboard_UI_Resources.ts | 2 +- B01_Dashboard/B01_Dashboard_UI_Style_Tabs.css | 22 +------------------ ui_template/ui_template_locale_b1_tabs.ts | 1 - 6 files changed, 12 insertions(+), 39 deletions(-) diff --git a/B01_Dashboard/B01_Dashboard_UI_Company.ts b/B01_Dashboard/B01_Dashboard_UI_Company.ts index 6eed3b476..b5582f3bf 100644 --- a/B01_Dashboard/B01_Dashboard_UI_Company.ts +++ b/B01_Dashboard/B01_Dashboard_UI_Company.ts @@ -23,14 +23,12 @@ import { formatDate, L, runRequest } from "./B01_Dashboard_UI_Common"; import { createPagedTable } from "./B01_Dashboard_UI_Paging"; /** 라벨 + 값 한 칸 — 회사 정보 격자 */ -function infoItem(label: string, value: unknown): HTMLElement { - const item = document.createElement("div"); +function infoItem(label: string, value: unknown): HTMLElement[] { const term = document.createElement("dt"); term.textContent = label; const detail = document.createElement("dd"); detail.textContent = value == null || value === "" ? "-" : String(value); - item.append(term, detail); - return item; + return [term, detail]; } export function buildCompanyPanel(state: DashboardState): HTMLElement { @@ -56,16 +54,15 @@ export function buildCompanyPanel(state: DashboardState): HTMLElement { const info = document.createElement("dl"); info.className = "b01-dashboard__info"; info.append( - infoItem(L("B01_Dashboard_Table_Company"), company.name), - infoItem(L("B01_Dashboard_Field_BusinessNumber"), company.business_registration_number), - infoItem(L("B01_Co_Owner"), company.business_owner), - infoItem(L("B01_Co_Status"), company.business_status), - infoItem(L("B01_Dashboard_Field_Address"), company.business_address), - infoItem(L("B01_Co_Members"), company.user_count ?? 0), - infoItem(L("B01_Co_Projects"), company.project_count ?? 0), + ...infoItem(L("B01_Dashboard_Table_Company"), company.name), + ...infoItem(L("B01_Dashboard_Field_BusinessNumber"), company.business_registration_number), + ...infoItem(L("B01_Co_Owner"), company.business_owner), + ...infoItem(L("B01_Co_Status"), company.business_status), + ...infoItem(L("B01_Dashboard_Field_Address"), company.business_address), + ...infoItem(L("B01_Co_Members"), company.user_count ?? 0), + ...infoItem(L("B01_Co_Projects"), company.project_count ?? 0), ); const box = document.createElement("div"); - box.className = "b01-dashboard__stack"; box.append(info, wrap); // 회사 정보 수정 (2026-09-06 사용자 지시) — 관리자만 보인다. if (state.user.role !== "USER") { diff --git a/B01_Dashboard/B01_Dashboard_UI_Profile.ts b/B01_Dashboard/B01_Dashboard_UI_Profile.ts index c7b73650d..faa4cc08b 100644 --- a/B01_Dashboard/B01_Dashboard_UI_Profile.ts +++ b/B01_Dashboard/B01_Dashboard_UI_Profile.ts @@ -121,13 +121,11 @@ export function buildAccountInfo(user: DashboardUser): HTMLElement { [L("B01_Ac_AuthExpires"), formatDate(user.auth_expires_at)], ]; for (const [label, value] of rows) { - const item = document.createElement("div"); const term = document.createElement("dt"); term.textContent = label; const detail = document.createElement("dd"); detail.textContent = value; - item.append(term, detail); - info.append(item); + info.append(term, detail); } return info; } diff --git a/B01_Dashboard/B01_Dashboard_UI_ProjectsTab.ts b/B01_Dashboard/B01_Dashboard_UI_ProjectsTab.ts index cbdc2b657..3e7dd69a8 100644 --- a/B01_Dashboard/B01_Dashboard_UI_ProjectsTab.ts +++ b/B01_Dashboard/B01_Dashboard_UI_ProjectsTab.ts @@ -96,7 +96,6 @@ export function buildProjectsTab(state: DashboardState, projects: ProjectItem[]) ); const progress = createPagedTable(progressHeaders(), progressRow, projects); - list.root.classList.add("b01-dashboard__paged--dense"); let filter: ProjectFilter = parseFilter(currentQuery().get("filter")); const query = createInputField({ label: L("B01_Pj_Search"), diff --git a/B01_Dashboard/B01_Dashboard_UI_Resources.ts b/B01_Dashboard/B01_Dashboard_UI_Resources.ts index efba99f84..923573137 100644 --- a/B01_Dashboard/B01_Dashboard_UI_Resources.ts +++ b/B01_Dashboard/B01_Dashboard_UI_Resources.ts @@ -66,7 +66,7 @@ function buildResourceMetrics(resources: ResourceData | null): HTMLElement { function buildResourceChart(resources: ResourceData | null, days: number): HTMLElement { return buildTrendChart(resources, days, { - caption: L("B01_Sy_ResourceCaption").replace("{days}", String(days)), + caption: L("B01_Dashboard_Resources_ChartCaption"), ariaLabel: L("B01_Dashboard_Resources_ChartAria"), series: [ { name: L("B01_Dashboard_Metric_Cpu"), colorIndex: 0, pick: (h) => h.cpu_usage_percent }, diff --git a/B01_Dashboard/B01_Dashboard_UI_Style_Tabs.css b/B01_Dashboard/B01_Dashboard_UI_Style_Tabs.css index 51ba92b82..dd752a34e 100644 --- a/B01_Dashboard/B01_Dashboard_UI_Style_Tabs.css +++ b/B01_Dashboard/B01_Dashboard_UI_Style_Tabs.css @@ -66,15 +66,11 @@ gap: var(--spacing-8); } -.b01-dashboard__overview { - gap: var(--spacing-24); -} - /* 찾기 · 거르기 줄 */ .b01-dashboard__filters { display: flex; flex-wrap: wrap; - align-items: flex-start; + align-items: flex-end; gap: var(--spacing-16); margin-bottom: var(--spacing-16); } @@ -106,12 +102,6 @@ margin: 0 0 var(--spacing-16); } -.b01-dashboard__stack { - display: flex; - flex-direction: column; - gap: var(--spacing-16); -} - .b01-dashboard__info dt { color: var(--color-text-secondary); font-size: var(--text-caption); @@ -164,13 +154,3 @@ vertical-align: bottom; white-space: nowrap; } - -/* 칸이 많은 표(프로젝트) — 가로 여백을 줄이고 단계 막대가 두 줄 안에 들어오게 */ -.b01-dashboard__paged--dense .b01-dashboard__table th, -.b01-dashboard__paged--dense .b01-dashboard__table td { - padding: var(--spacing-8); -} - -.b01-dashboard__paged--dense .ui-workflow-layout__steps { - min-width: 400px; -} diff --git a/ui_template/ui_template_locale_b1_tabs.ts b/ui_template/ui_template_locale_b1_tabs.ts index 95d00d28f..8084b4cb4 100644 --- a/ui_template/ui_template_locale_b1_tabs.ts +++ b/ui_template/ui_template_locale_b1_tabs.ts @@ -77,7 +77,6 @@ export const ui_locales_b1_tabs = { /* --- 시스템 --- */ B01_Sy_Period: ["기간", "Period"], B01_Sy_Days: ["{days}일", "{days} days"], - B01_Sy_ResourceCaption: ["최근 {days}일 리소스 사용률", "Resource usage, last {days} days"], B01_Sy_ActiveTrend: ["활성 추이", "Activity trend"], B01_Sy_TrendCaption: ["활성 사용자 · 활성 프로젝트 수", "Active users and active projects"], B01_Sy_AllCompanies: ["전체 회사", "All companies"],