diff --git a/apps/web/app/app-globals.css b/apps/web/app/app-globals.css index 56a0f0874e..7f356c80cb 100644 --- a/apps/web/app/app-globals.css +++ b/apps/web/app/app-globals.css @@ -1004,6 +1004,9 @@ div[style*="z-index"] > div > .custom-marker { BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; letter-spacing: 0; + font-size: 15px; + -webkit-text-size-adjust: 100%; + text-size-adjust: 100%; } [data-admin-console-content="true"] { diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx index 4389a24050..d30bc1ccf0 100644 --- a/apps/web/app/layout.tsx +++ b/apps/web/app/layout.tsx @@ -98,7 +98,7 @@ export default async function RootLayout({ return (
diff --git a/apps/web/components/admin/AdminConsoleOverview.tsx b/apps/web/components/admin/AdminConsoleOverview.tsx index 17d9bd8d65..e360ea86c8 100644 --- a/apps/web/components/admin/AdminConsoleOverview.tsx +++ b/apps/web/components/admin/AdminConsoleOverview.tsx @@ -709,11 +709,6 @@ function loadAdminRouteRecommendationModule() { ); } -function loadAdminSystemStatusCenter() { - return import("@/components/admin/system-status/AdminSystemStatusCenter").then( - (module) => module.AdminSystemStatusCenter, - ); -} const ADMIN_EVALUATION_STATIC_STATUS_FILTERS = ["전체", "미처리", "승인대기", "승인됨", "누락", "삭제됨"] as const; @@ -900,10 +895,6 @@ const AdminRouteRecommendationModule = dynamic( }, ); -const AdminSystemStatusCenter = dynamic(loadAdminSystemStatusCenter, { - ssr: false, - loading: () => null, -}); const ADMIN_CONSOLE_INLINE_MODULE_IDS = new Set+
{title}
{metric ? (
+
{title}
{value}
@@ -5601,7 +5592,7 @@ function AdminDashboardPeriodSelector({
type="button"
variant={isSelected ? "default" : "outline"}
size="sm"
- className="h-7 shrink-0 rounded-full px-2 text-[11px] font-bold"
+ className="h-7 shrink-0 rounded-full px-2 text-[10px] font-bold"
aria-pressed={isSelected}
data-admin-dashboard-period-option={option.value}
onClick={() => onChange(option.value)}
@@ -5617,7 +5608,7 @@ function AdminDashboardPeriodSelector({
type="button"
variant="outline"
size="sm"
- className="order-3 h-7 shrink-0 gap-1 rounded-full px-2 text-[11px] font-bold text-muted-foreground hover:text-foreground md:hidden"
+ className="order-3 h-7 shrink-0 gap-1 rounded-full px-2 text-[10px] font-extrabold text-muted-foreground hover:text-foreground md:hidden"
aria-label={`대시보드 타임프레임 설정: ${selectedOption.label}`}
data-admin-dashboard-period-select-trigger="true"
>
@@ -5651,7 +5642,7 @@ function AdminDashboardPeriodSelector({
type="button"
variant={isSelected ? "default" : "ghost"}
size="sm"
- className="h-11 min-h-11 min-w-[44px] rounded-xl px-2 text-[11px] font-bold"
+ className="h-11 min-h-11 min-w-[44px] rounded-xl px-2 text-[10px] font-bold"
style={{ minWidth: 44 }}
aria-pressed={isSelected}
data-admin-dashboard-period-option={option.value}
@@ -7237,7 +7228,7 @@ function AdminDashboardManagementPanel({
>
+
Tzuyang KPI Dashboard
+ {title}
+
+ ) : (
+
+ {title}
+
+ ',
+ '
',
);
expect(consoleSource).toContain("data-admin-dashboard-kpi-value-size=\"bounded\"");
- expect(consoleSource).toContain("text-lg font-black");
- expect(consoleSource).toContain("sm:text-xl");
+ expect(consoleSource).toContain("text-sm font-black");
+ expect(consoleSource).toContain("sm:text-base");
expect(consoleSource).not.toContain("text-[clamp(1.2rem,1.45vw,1.75rem)]");
expect(consoleSource).toContain("function AdminDashboardTooltipPanel");
expect(consoleSource).toContain("min-w-44 space-y-1");
@@ -1678,7 +1679,7 @@ describe("admin console beginner-friendly UI/UX source contract", () => {
'const adminDashboardControlGroupClassName =\n "inline-flex h-7 shrink-0 items-center rounded-full border border-border bg-muted/25 p-0.5"',
);
expect(consoleSource).toContain(
- 'const adminDashboardControlButtonClassName =\n "inline-flex h-6 shrink-0 items-center justify-center gap-1 rounded-full px-2.5 text-[11px] font-extrabold leading-none transition',
+ 'const adminDashboardControlButtonClassName =\n "inline-flex h-6 shrink-0 items-center justify-center gap-1 rounded-full px-2 text-[10px] font-extrabold leading-none transition',
);
expect(consoleSource).toContain(
'"h-7 w-7 border border-border bg-background p-0 text-muted-foreground shadow-sm hover:text-foreground"',
@@ -1700,7 +1701,7 @@ describe("admin console beginner-friendly UI/UX source contract", () => {
'data-admin-dashboard-card-title-row="single-line"',
);
expect(consoleSource).toContain(
- "truncate whitespace-nowrap text-xs font-extrabold leading-none text-foreground",
+ "truncate whitespace-nowrap text-[11px] font-extrabold leading-none text-foreground",
);
expect(consoleSource).toContain(
'data-admin-dashboard-card-title-actions="single-line-scroll"',
@@ -2680,7 +2681,7 @@ describe("admin console beginner-friendly UI/UX source contract", () => {
'data-admin-dashboard-kpi-title-row="single-line"',
);
expect(consoleSource).toContain(
- "truncate whitespace-nowrap text-xs font-extrabold tracking-[0.04em] text-muted-foreground",
+ "truncate whitespace-nowrap text-[11px] font-extrabold tracking-[0.04em] text-muted-foreground",
);
expect(consoleSource).toContain(
'data-admin-dashboard-kpi-title-actions="single-line-scroll"',
@@ -2969,11 +2970,11 @@ describe("admin console beginner-friendly UI/UX source contract", () => {
const viewModelSource = source("lib/admin/system-status/view-model.ts");
const routeSource = source("app/api/admin/system-status/route.ts");
- expect(consoleSource).toContain(
+ expect(consoleSource).not.toContain(
'import("@/components/admin/system-status/AdminSystemStatusCenter")',
);
- expect(consoleSource).toContain("