From 39fef7d31684e8bf59738ebfb45735c994e6314e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Fri, 15 May 2026 17:07:50 +0200 Subject: [PATCH] chore(ui): unify heading weight, card cadence, and label-input gap across settings and admin Sub-headings in the settings + admin section trees were mixing font-medium and font-semibold; the password-change dialog used a 1.5-unit label-input gap while every other Settings form runs at 2. Standardise on font-semibold for every h2 and h3, the card-internal cadence to space-y-4 on the AI provider and thresholds-editor cards, and lift the password-dialog field gaps to space-y-2. --- src/components/admin/user-management-section.tsx | 4 ++-- src/components/settings/account-section.tsx | 10 +++++----- src/components/settings/ai-section.tsx | 2 +- src/components/settings/integrations-section.tsx | 2 +- src/components/settings/thresholds-editor-section.tsx | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/components/admin/user-management-section.tsx b/src/components/admin/user-management-section.tsx index 7ca2953ac..836a2eee4 100644 --- a/src/components/admin/user-management-section.tsx +++ b/src/components/admin/user-management-section.tsx @@ -417,7 +417,7 @@ export function UserManagementSection() { {/* Edit Dialog */} {editingUser && (
-

+

{t("admin.editUserTitle", { name: editingUser.username })}

@@ -484,7 +484,7 @@ export function UserManagementSection() { {/* Password Reset Dialog */} {resetUser && (
-

+

{t("admin.resetPasswordTitle", { name: resetUser.username })}

diff --git a/src/components/settings/account-section.tsx b/src/components/settings/account-section.tsx index ce5fc0679..8d8ca5266 100644 --- a/src/components/settings/account-section.tsx +++ b/src/components/settings/account-section.tsx @@ -609,7 +609,7 @@ export function AccountSection() {
-
+
@@ -619,7 +619,7 @@ export function AccountSection() { onChange={(e) => setCurrentPassword(e.target.value)} />
-
+
@@ -629,7 +629,7 @@ export function AccountSection() { onChange={(e) => setNewPassword(e.target.value)} />
-
+
@@ -707,7 +707,7 @@ function PasskeyListSection({ isAuthenticated }: { isAuthenticated: boolean }) { if (!passkeys || passkeys.length === 0) { return (
-

{t("settings.passkeys")}

+

{t("settings.passkeys")}

{t("settings.noPasskeys")}

@@ -717,7 +717,7 @@ function PasskeyListSection({ isAuthenticated }: { isAuthenticated: boolean }) { return (
-

+

{t("settings.registeredPasskeys")}

diff --git a/src/components/settings/ai-section.tsx b/src/components/settings/ai-section.tsx index 8e2a36c09..86b860176 100644 --- a/src/components/settings/ai-section.tsx +++ b/src/components/settings/ai-section.tsx @@ -249,7 +249,7 @@ function AiInsightsCard({ isAuthenticated }: { isAuthenticated: boolean }) { } return ( -

+
diff --git a/src/components/settings/integrations-section.tsx b/src/components/settings/integrations-section.tsx index 9da0b949c..9304995ca 100644 --- a/src/components/settings/integrations-section.tsx +++ b/src/components/settings/integrations-section.tsx @@ -385,7 +385,7 @@ function WithingsCard({ )}
-

+

{t("settings.withingsCredentials")}

diff --git a/src/components/settings/thresholds-editor-section.tsx b/src/components/settings/thresholds-editor-section.tsx index 2e337bf00..e87b2bc95 100644 --- a/src/components/settings/thresholds-editor-section.tsx +++ b/src/components/settings/thresholds-editor-section.tsx @@ -117,7 +117,7 @@ export function ThresholdsEditorSection({ id }: { id: string }) { return (
{/* v1.4.19 A8 / F-07: page header `settings.sections.thresholds.*` already provides the title + description for this route, so the