import { extractApiError } from '@/api/client'; import type { C2Callback } from '@/api/types'; interface C2CallbackPickerProps { callbacks: C2Callback[]; isLoading: boolean; isError: boolean; error: unknown; selectedId: number | null; onSelect: (id: number) => void; rowTestId?: string; } export function C2CallbackPicker({ callbacks, isLoading, isError, error, selectedId, onSelect, rowTestId = 'c2-callback-row', }: C2CallbackPickerProps): JSX.Element { if (isLoading) { return

Loading callbacks…

; } if (isError) { return (

Could not load callbacks: {extractApiError(error, 'Unknown error')}

); } if (callbacks.length === 0) { return

No callbacks available.

; } return (
{callbacks.map((cb) => { const isSelected = selectedId === cb.display_id; return ( onSelect(cb.display_id)} className={`cursor-pointer border-b border-hairline ${ isSelected ? 'bg-primary-soft' : 'hover:bg-cloud' }`} > ); })}
Display ID Active Host User Domain Last check-in
{cb.display_id} {cb.active ? 'Active' : 'Inactive'} {cb.host} {cb.user} {cb.domain} {cb.last_checkin}
); }