diff --git a/src/components/berths/berth-detail-header.tsx b/src/components/berths/berth-detail-header.tsx index 9558c84..bf21623 100644 --- a/src/components/berths/berth-detail-header.tsx +++ b/src/components/berths/berth-detail-header.tsx @@ -167,7 +167,10 @@ export function BerthDetailHeader({ berth }: BerthDetailHeaderProps) { return ( <> -
+ {/* Stacks vertically on phone widths so the action buttons don't + squeeze the area subtitle into a two-line wrap. From sm up the + title/area block sits side-by-side with the action buttons. */} +

@@ -182,7 +185,7 @@ export function BerthDetailHeader({ berth }: BerthDetailHeaderProps) { {berth.area &&

{berth.area}

}

-
+
- {/* Right: tag + actions */} + {/* Right: tag + actions. + When the contact value is empty (e.g. a row created from a stale + import or an aborted edit), we hide the "Add tag" + Make-primary + controls so the empty placeholder doesn't clutter the row. The + trash icon is always shown so users can clean up the empty entry. */}
-
- { - await onUpdate({ label: v }); - }} - /> -
+ {contact.value ? ( + <> +
+ { + await onUpdate({ label: v }); + }} + /> +
- + + + ) : null}