import { useRef } from "react" import { useVirtualizer } from "@tanstack/react-virtual" import type { ApprovalRecord } from "@shared/types" import { useT } from "../../i18n" import { useRovingTabIndex } from "../../lib/keyboard" import { EmptyState, StatusPill } from "../ui" export function ApprovalList({ approvals, selectedApprovalId, onSelect }: { approvals: ApprovalRecord[]; selectedApprovalId: string | null; onSelect: (id: string) => void }) { const t = useT() const parentRef = useRef(null) const { handleKeyDown, getTabIndex, focusedIndex } = useRovingTabIndex(approvals.length) const virtualizer = useVirtualizer({ count: approvals.length, getScrollElement: () => parentRef.current, estimateSize: () => 52, overscan: 10, }) if (approvals.length === 0) return return (
{virtualizer.getVirtualItems().map((virtualRow) => { const approval = approvals[virtualRow.index] return (
) })}
) }