"use client"; import type { AiHostSelectCopy } from "./copy"; import CheckCircleIcon from "@mui/icons-material/CheckCircle"; import { Box } from "@12-apps/ui/mui/Box"; import { Stack } from "@12-apps/ui/mui/Stack"; import { Text } from "@12-apps/ui/typography/Text"; import type { AiHostGuide } from "../guide"; import { HostBrandAvatar } from "./ai-icons"; /** One selectable assistant card (brand mark + name + kind, checked when active). */ function HostCard({ host, active, onSelect, }: { host: AiHostGuide; active: boolean; onSelect: () => void; }): React.JSX.Element { return ( theme.transitions.create(["border-color", "background-color"]), "&:hover": { borderColor: "primary.main" }, }} > {host.label} {host.kind} {active && ( )} ); } /** * Step 1 of the guided AI connect flow: the owner picks a single assistant * (Claude.ai, Claude Desktop, ChatGPT, Codex) from a card grid. Picking a card * advances straight to the next step — no separate "Próximo" button. Selection * is controlled (persisted by the onboarding flow) so a refresh resumes with the * same assistant highlighted. */ export function HostSelectStep({ hosts, selectedId, onSelect, copy, }: { hosts: readonly AiHostGuide[]; selectedId: string | null; onSelect: (hostId: string) => void; copy: AiHostSelectCopy; }): React.JSX.Element { return ( {copy.heading} {copy.caption} {hosts.map((host) => ( onSelect(host.id)} /> ))} ); }