Skip to content

Commit cc38668

Browse files
Copilothotlong
andcommitted
refactor: simplify fieldLabel calls per code review - always call fieldLabel with fallback
Remove unnecessary ternary patterns; let useSafeFieldLabel handle empty objectName internally. Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
1 parent 0cdc597 commit cc38668

4 files changed

Lines changed: 7 additions & 5 deletions

File tree

ROADMAP.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1495,6 +1495,10 @@ All 313 `@object-ui/fields` tests pass.
14951495
- [x] Header highlight area with key fields
14961496
- [x] Console `RecordDetailView` integration: `autoTabs`, `autoDiscoverRelated`, `highlightFields`, `sectionGroups` wired into `detailSchema` for end-to-end availability
14971497
- [x] Console reverse-reference discovery: child objects (e.g., `order_item``order`) auto-discovered and rendered with filtered data
1498+
- [x] `useSafeFieldLabel` wired into `DetailSection`, `RelatedList`, `HeaderHighlight` for convention-based field label i18n (#968, #883, #942)
1499+
- [x] `objectName` threaded through `DetailView``SectionGroup``DetailSection` / `HeaderHighlight` / `RelatedList`
1500+
- [x] RelatedList sortable headers fixed to use `effectiveColumns` (auto-generated from schema) instead of raw `columns` prop
1501+
- [x] Added missing `detail.*` i18n keys (`activity`, `editRow`, `deleteRow`, `previousPage`, `nextPage`, etc.) to en.ts and zh.ts
14981502

14991503
---
15001504

packages/plugin-detail/src/DetailSection.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ export const DetailSection: React.FC<DetailSectionProps> = ({
116116
return (
117117
<div key={field.name} className={cn("space-y-1.5 group", spanClass)}>
118118
<div className="text-xs font-medium text-muted-foreground uppercase tracking-wide">
119-
{objectName ? fieldLabel(objectName, field.name, field.label || field.name) : (field.label || field.name)}
119+
{fieldLabel(objectName || '', field.name, field.label || field.name)}
120120
</div>
121121
{isEditing && !field.readonly ? (
122122
<div className="min-h-[44px] sm:min-h-0">

packages/plugin-detail/src/HeaderHighlight.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export const HeaderHighlight: React.FC<HeaderHighlightProps> = ({
5252
<div key={field.name} className="flex flex-col gap-0.5">
5353
<span className="text-xs font-medium text-muted-foreground uppercase tracking-wide">
5454
{field.icon && <span className="mr-1">{field.icon}</span>}
55-
{objectName ? fieldLabel(objectName, field.name, field.label) : field.label}
55+
{fieldLabel(objectName || '', field.name, field.label)}
5656
</span>
5757
<span className="text-sm font-semibold truncate">
5858
{String(value)}

packages/plugin-detail/src/RelatedList.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -190,9 +190,7 @@ export const RelatedList: React.FC<RelatedListProps> = ({
190190
.filter(([key]) => !key.startsWith('_'))
191191
.map(([key, def]: [string, any]) => ({
192192
accessorKey: key,
193-
header: resolvedObjectName
194-
? resolveFieldLabel(resolvedObjectName, key, def.label || key)
195-
: (def.label || key),
193+
header: resolveFieldLabel(resolvedObjectName, key, def.label || key),
196194
}));
197195
}, [columns, objectSchema, objectName, api, resolveFieldLabel]);
198196

0 commit comments

Comments
 (0)