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" />
<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">
{/* ── Status row ── */}
<div className="flex flex-wrap gap-2">
@@ -385,29 +385,31 @@ export function RegistryTable({
</Badge>
)}
{entry.externalStatusTracking?.active && (
<Tooltip>
<TooltipTrigger asChild>
<Badge
variant="outline"
className={`text-[10px] px-1 py-0 ${
entry.externalStatusTracking.semanticStatus === "solutionat"
? "border-green-400 text-green-600"
: entry.externalStatusTracking.semanticStatus === "trimis"
? "border-blue-400 text-blue-600"
: entry.externalStatusTracking.semanticStatus === "in-operare"
? "border-amber-400 text-amber-600"
: entry.externalStatusTracking.semanticStatus === "respins"
? "border-red-400 text-red-600"
: "border-muted-foreground"
}`}
>
<Radio className="mr-0.5 inline h-2.5 w-2.5" />
</Badge>
</TooltipTrigger>
<TooltipContent>
Status extern: {EXTERNAL_STATUS_LABELS[entry.externalStatusTracking.semanticStatus]}
</TooltipContent>
</Tooltip>
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Badge
variant="outline"
className={`text-[10px] px-1 py-0 ${
entry.externalStatusTracking.semanticStatus === "solutionat"
? "border-green-400 text-green-600"
: entry.externalStatusTracking.semanticStatus === "trimis"
? "border-blue-400 text-blue-600"
: entry.externalStatusTracking.semanticStatus === "in-operare"
? "border-amber-400 text-amber-600"
: entry.externalStatusTracking.semanticStatus === "respins"
? "border-red-400 text-red-600"
: "border-muted-foreground"
}`}
>
<Radio className="mr-0.5 inline h-2.5 w-2.5" />
</Badge>
</TooltipTrigger>
<TooltipContent>
Status extern: {EXTERNAL_STATUS_LABELS[entry.externalStatusTracking.semanticStatus]}
</TooltipContent>
</Tooltip>
</TooltipProvider>
)}
</span>
</td>