diff --git a/desktop/src/features/agents/ui/RelaySkillPreviewButton.tsx b/desktop/src/features/agents/ui/RelaySkillPreviewButton.tsx index 66e3798e9f..621edf6416 100644 --- a/desktop/src/features/agents/ui/RelaySkillPreviewButton.tsx +++ b/desktop/src/features/agents/ui/RelaySkillPreviewButton.tsx @@ -60,6 +60,10 @@ export function RelaySkillPreviewButton({ const [open, setOpen] = React.useState(false); const [previewState, setPreviewState] = React.useState("idle"); const [detail, setDetail] = React.useState(null); + const currentDetail = + detail?.coordinate === skill.coordinate && detail.eventId === skill.eventId + ? detail + : null; const contentRef = React.useRef(null); const hoverTimerRef = React.useRef | null>( null, @@ -140,7 +144,7 @@ export function RelaySkillPreviewButton({ }, [clearHoverTimer, closeWithDelay, open]); React.useEffect(() => { - if (!open || detail?.coordinate === skill.coordinate) { + if (!open || currentDetail) { return; } @@ -161,10 +165,10 @@ export function RelaySkillPreviewButton({ return () => { active = false; }; - }, [detail?.coordinate, open, skill.coordinate]); + }, [currentDetail, open, skill.coordinate]); - const displayTitle = detail?.title || skill.title || skill.slug; - const displaySummary = detail?.summary || skill.summary; + const displayTitle = currentDetail?.title || skill.title || skill.slug; + const displaySummary = currentDetail?.summary || skill.summary; const focusPreviewOnTab = (event: React.KeyboardEvent) => { if (event.key !== "Tab" || event.shiftKey || !open) return; event.preventDefault(); @@ -271,14 +275,14 @@ export function RelaySkillPreviewButton({
Shared instruction
- {onEdit && detail?.editable ? ( + {onEdit && currentDetail?.editable ? (