import React from "react" import { Box, Text } from "ink" import type { ProviderAccountConnectDefinition } from "../providers/types" export function ConnectSourceSelector(props: { connect: ProviderAccountConnectDefinition; selected: number; saving?: boolean }) { const entries = [ ...props.connect.sources.map((source) => ({ label: source.label, description: source.description })), { label: "Manual", description: props.connect.manualDescription }, ] const activeSavingMessage = props.saving ? (props.connect.sources[props.selected]?.savingMessage ?? undefined) : undefined return ( ──────────────────────────────────────────────────────────────────────────── {props.connect.title} ↑/↓ choose · Enter continue · Esc cancel {entries.map((entry, index) => ( {index === props.selected ? "›" : " "}{index + 1}. {entry.label} {entry.description} ))} {activeSavingMessage && ( {activeSavingMessage} )} ) }