From 690db331474cd41a12af254875e93f166fe8b917 Mon Sep 17 00:00:00 2001 From: Silo Server Developer Date: Thu, 28 May 2026 04:04:34 +0200 Subject: [PATCH] feat(admin): enlarge match-candidate posters + hover-to-enlarge Unmatched-item match dialog rendered candidate posters at 44x64px, too small to identify a film. Bump to 64x96 (2:3) and add a portaled Tooltip hover preview (192x288) using the existing poster image, so operators can tell candidates apart. Co-Authored-By: Claude Opus 4.7 (1M context) --- web/src/components/MatchItemDialog.tsx | 29 ++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/web/src/components/MatchItemDialog.tsx b/web/src/components/MatchItemDialog.tsx index 4bc1d839..f83bf702 100644 --- a/web/src/components/MatchItemDialog.tsx +++ b/web/src/components/MatchItemDialog.tsx @@ -6,6 +6,7 @@ import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Badge } from "@/components/ui/badge"; +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"; import type { FileVersion, ItemDetail, MatchCandidate } from "@/api/types"; import MediaLocations from "@/components/MediaLocations"; import { useSearchItemMatchCandidates, useApplyItemMatch } from "@/hooks/queries/items"; @@ -170,6 +171,7 @@ export default function MatchItemDialog({ item, open, onOpenChange }: MatchItemD {candidates.length > 0 && (
+
{candidates.map((candidate, index) => { const candidateKey = Object.entries(candidate.provider_ids) @@ -189,13 +191,27 @@ export default function MatchItemDialog({ item, open, onOpenChange }: MatchItemD data-testid="match-candidate" > {candidate.image_url ? ( - + + + + + + {candidate.title} + + ) : ( -
+
)}
{candidate.title}
@@ -219,6 +235,7 @@ export default function MatchItemDialog({ item, open, onOpenChange }: MatchItemD ); })}
+
)}