From 62c569741fdf9a9f9915650e13200f7798114a50 Mon Sep 17 00:00:00 2001 From: Anders Olsson Date: Wed, 10 Jun 2026 13:47:22 +0200 Subject: [PATCH] =?UTF-8?q?fix(web):=20UI=20polish=20=E2=80=94=20select=20?= =?UTF-8?q?placeholder,=20locked-field=20note,=20list=20overflow,=20sideba?= =?UTF-8?q?r=20toggle,=20heading=20wrap=20(#73)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Five small design/layout nits from the UI sweep: - form.selectPlaceholder "— select —" → "Select…" / "Välj…", matching the affordance style of every other placeholder (Filter…, Search…). - FieldForm in edit mode now explains its locked controls with a muted fields.lockedNote caption ("Key and type can't be changed after creation.") instead of leaving four silently disabled inputs. - FieldList rows truncate long labels (min-w-0 on the row button + truncate on the label, shrink-0 on the badge and required marker) instead of overflowing the 20rem column. - The sidebar collapse toggle is hidden on narrow viewports (hidden md:flex) instead of rendered permanently disabled/grayed — the rail is forced collapsed there anyway. - PageTitle gains text-balance so long titles wrap evenly. Closes #73 Co-Authored-By: Claude Opus 4.8 --- web/src/components/ui/page-title.tsx | 2 +- web/src/fields/field-form.tsx | 2 ++ web/src/fields/field-list.tsx | 13 +++++++++---- web/src/i18n/en.json | 3 ++- web/src/i18n/sv.json | 3 ++- web/src/objects/field-input.test.tsx | 4 ++-- web/src/shell/sidebar.tsx | 7 ++++--- 7 files changed, 22 insertions(+), 12 deletions(-) diff --git a/web/src/components/ui/page-title.tsx b/web/src/components/ui/page-title.tsx index d4507c5..8f6966a 100644 --- a/web/src/components/ui/page-title.tsx +++ b/web/src/components/ui/page-title.tsx @@ -6,7 +6,7 @@ export function PageTitle({ className, ...props }: ComponentProps<"h1">) { return (

) diff --git a/web/src/fields/field-form.tsx b/web/src/fields/field-form.tsx index 60afd05..c98ef46 100644 --- a/web/src/fields/field-form.tsx +++ b/web/src/fields/field-form.tsx @@ -110,6 +110,8 @@ export function FieldForm({ )} + {isEdit &&

{t("fields.lockedNote")}

} +