import React from "react" import { Box, Text } from "ink" import type { ProviderConnectDraft, ProviderConnectField } from "../providers/types" export function ConnectAccountWizard(props: { title: string; description: string; draft: ProviderConnectDraft; fields: ProviderConnectField[]; step: number; saving?: boolean }) { const current = props.fields[props.step] ?? props.fields[0] return ( ──────────────────────────────────────────────────────────────────────────── {props.title} Enter next · Esc cancel {props.description} {props.fields.map((field, index) => ( {index === props.step ? "›" : " "} {field.label}: {displayValue(props.draft[field.key] ?? "", Boolean(field.secret))} {index === props.step && !props.saving && } ))} {props.saving ? "Saving account..." : `Editing ${current.label}. ${fieldHint(current)}`} ) } function displayValue(value: string, secret: boolean) { if (!value) return "" if (!secret) return value return "•".repeat(Math.min(value.length, 48)) } function fieldHint(field: ProviderConnectField) { if (field.secret) return "Input is masked." if (field.optional) return "This field can be left empty." return "This field is required." }