44 lines · 1.3 KB · TypeScript
RawDownload
import { cn } from "~/lib/utils";import {  type TerminalContextDraft,  formatTerminalContextLabel,  isTerminalContextExpired,} from "~/lib/terminalContext";import { TerminalContextInlineChip } from "./TerminalContextInlineChip"; interface ComposerPendingTerminalContextsProps {  contexts: ReadonlyArray<TerminalContextDraft>;  className?: string;} interface ComposerPendingTerminalContextChipProps {  context: TerminalContextDraft;} export function ComposerPendingTerminalContextChip({  context,}: ComposerPendingTerminalContextChipProps) {  const label = formatTerminalContextLabel(context);  const expired = isTerminalContextExpired(context);  const tooltipText = expired    ? `Terminal context expired. Remove and re-add ${label} to include it in your message.`    : context.text;   return <TerminalContextInlineChip label={label} tooltipText={tooltipText} expired={expired} />;} export function ComposerPendingTerminalContexts(props: ComposerPendingTerminalContextsProps) {  const { contexts, className } = props;   if (contexts.length === 0) {    return null;  }   return (    <div className={cn("flex flex-wrap gap-1.5", className)}>      {contexts.map((context) => (        <ComposerPendingTerminalContextChip key={context.id} context={context} />      ))}    </div>  );}