Skip to content

Commit 09ab49d

Browse files
committed
Declutter node output
- Remove line-through text for true checkboxes - Remove tautologic "Table" on top of tables
1 parent 413a362 commit 09ab49d

File tree

1 file changed

+20
-17
lines changed

1 file changed

+20
-17
lines changed

src/components/tree/tree-node-content.tsx

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
/**
23
* @fileoverview
34
* This component renders the collapsible content area of a tree node.
@@ -166,32 +167,35 @@ export function TreeNodeContent({ node, template, isExpanded, level, onSelect, c
166167
}
167168
}}
168169
/>
169-
<Label htmlFor={`view-${node.id}-${field.id}`} className={cn("font-normal", isChecked && "line-through text-muted-foreground")}>
170+
<Label htmlFor={`view-${node.id}-${field.id}`} className={cn("font-normal", isChecked && "text-muted-foreground")}>
170171
{field.name}
171172
</Label>
172173
</div>
173174
);
174175
}
175176
case 'checklist': {
176-
const items: ChecklistItem[] = value;
177-
if (!items || !Array.isArray(items) || items.length === 0) return null;
177+
const items: ChecklistItem[] = value || [];
178178

179179
return (
180180
<div key={field.id} className="mt-4" onClick={(e) => e.stopPropagation()} onDoubleClick={(e) => e.stopPropagation()}>
181181
<p className="font-medium text-sm mb-2">{field.name}</p>
182-
<div className="space-y-2">
183-
{items.map(item => (
184-
<div key={item.id} className="flex items-center gap-2">
185-
<Checkbox
186-
checked={item.checked}
187-
onCheckedChange={(checked) => handleCheckboxChange(field.id, item.id, !!checked)}
188-
/>
189-
<span className={cn("text-sm", item.checked && "line-through text-muted-foreground")}>
190-
{item.text}
191-
</span>
192-
</div>
193-
))}
194-
</div>
182+
{items.length > 0 ? (
183+
<div className="space-y-2">
184+
{items.map(item => (
185+
<div key={item.id} className="flex items-center gap-2">
186+
<Checkbox
187+
checked={item.checked}
188+
onCheckedChange={(checked) => handleCheckboxChange(field.id, item.id, !!checked)}
189+
/>
190+
<span className={cn("text-sm", item.checked && "text-muted-foreground")}>
191+
{item.text}
192+
</span>
193+
</div>
194+
))}
195+
</div>
196+
) : (
197+
<p className="text-sm text-muted-foreground italic px-2">No items.</p>
198+
)}
195199
</div>
196200
)
197201
}
@@ -373,7 +377,6 @@ export function TreeNodeContent({ node, template, isExpanded, level, onSelect, c
373377

374378
return (
375379
<div key="table-block" className="mt-2 text-sm" onClick={(e) => e.stopPropagation()} onDoubleClick={(e) => e.stopPropagation()}>
376-
<p className="font-medium mb-1">Table</p>
377380
<div className="overflow-x-auto rounded-md border">
378381
<Table>
379382
<TableHeader>

0 commit comments

Comments
 (0)