e.preventDefault()}
onClick={onSelect} onMouseEnter={onMouseEnter}
>
{/* Icon */}
{suggestion.category === 'ai' ? (
) : suggestion.category === 'repository' ? (
) : suggestion.avatar ? (
{suggestion.label.slice(0, 2).toUpperCase()}
) : (
{suggestion.label[0]?.toUpperCase()}
)}
{/* Selection dot */}
{/* Text */}
{suggestion.category && (
{suggestion.category}
)}
{suggestion.sublabel && (
{suggestion.sublabel}
)}
{/* Check mark */}
);
}
function LoadingSkeleton() {
return (
{loading ? 'Loading...' : 'No matches found'}
{loading ? 'Please wait' : 'Try a different search term'}
);
}
// ─── Main Component ──────────────────────────────────────────────────────────
export function MentionPopover({
members, repos, aiConfigs, reposLoading, aiConfigsLoading,
containerRef, inputValue, cursorPosition, onSelect, onOpenChange, onCategoryEnter,
suggestions, selectedIndex, setSelectedIndex,
}: MentionPopoverProps) {
const popoverRef = useRef