fix: detail panel scroll and missing TooltipProvider in status badge

- Add min-h-0 + overflow-hidden on ScrollArea to enable scrolling
  in the detail side panel (flex child needs bounded height)
- Wrap external status badge Tooltip in TooltipProvider to fix
  "Tooltip must be used within TooltipProvider" runtime crash

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
AI Assistant
2026-03-11 14:55:15 +02:00
parent 2739c6af6f
commit 8e56aa7b89
2 changed files with 26 additions and 24 deletions
@@ -263,7 +263,7 @@ export function RegistryEntryDetail({
<Separator className="mt-4" /> <Separator className="mt-4" />
<ScrollArea className="flex-1 [&>[data-slot=scroll-area-viewport]]:!overflow-x-hidden"> <ScrollArea className="flex-1 min-h-0 overflow-hidden [&>[data-slot=scroll-area-viewport]]:!overflow-x-hidden">
<div className="space-y-5 py-4 px-6"> <div className="space-y-5 py-4 px-6">
{/* ── Status row ── */} {/* ── Status row ── */}
<div className="flex flex-wrap gap-2"> <div className="flex flex-wrap gap-2">
@@ -385,29 +385,31 @@ export function RegistryTable({
</Badge> </Badge>
)} )}
{entry.externalStatusTracking?.active && ( {entry.externalStatusTracking?.active && (
<Tooltip> <TooltipProvider>
<TooltipTrigger asChild> <Tooltip>
<Badge <TooltipTrigger asChild>
variant="outline" <Badge
className={`text-[10px] px-1 py-0 ${ variant="outline"
entry.externalStatusTracking.semanticStatus === "solutionat" className={`text-[10px] px-1 py-0 ${
? "border-green-400 text-green-600" entry.externalStatusTracking.semanticStatus === "solutionat"
: entry.externalStatusTracking.semanticStatus === "trimis" ? "border-green-400 text-green-600"
? "border-blue-400 text-blue-600" : entry.externalStatusTracking.semanticStatus === "trimis"
: entry.externalStatusTracking.semanticStatus === "in-operare" ? "border-blue-400 text-blue-600"
? "border-amber-400 text-amber-600" : entry.externalStatusTracking.semanticStatus === "in-operare"
: entry.externalStatusTracking.semanticStatus === "respins" ? "border-amber-400 text-amber-600"
? "border-red-400 text-red-600" : entry.externalStatusTracking.semanticStatus === "respins"
: "border-muted-foreground" ? "border-red-400 text-red-600"
}`} : "border-muted-foreground"
> }`}
<Radio className="mr-0.5 inline h-2.5 w-2.5" /> >
</Badge> <Radio className="mr-0.5 inline h-2.5 w-2.5" />
</TooltipTrigger> </Badge>
<TooltipContent> </TooltipTrigger>
Status extern: {EXTERNAL_STATUS_LABELS[entry.externalStatusTracking.semanticStatus]} <TooltipContent>
</TooltipContent> Status extern: {EXTERNAL_STATUS_LABELS[entry.externalStatusTracking.semanticStatus]}
</Tooltip> </TooltipContent>
</Tooltip>
</TooltipProvider>
)} )}
</span> </span>
</td> </td>