import type { ReactNode } from 'react' import { Fragment } from 'react' import { cn } from '@/lib/utils' import { Tooltip } from '../basic/tooltip' import { Chat3Line } from '../basic/icons-inline' const iconClass = 'w-3.5 h-3.5 shrink-0 text-text-tertiary' export interface RelatedPromptItem { text: string prompt: string icon?: ReactNode } export interface RelatedPromptsProps { items: RelatedPromptItem[] onSelect?: (item: RelatedPromptItem) => void singleLineText?: boolean className?: string /** 主库可注入 useIcon('chat3');不传则用 Chat3Line */ defaultIcon?: ReactNode } export function RelatedPrompts({ items, onSelect, singleLineText = false, className, defaultIcon, }: RelatedPromptsProps) { const list = items.slice(0, 3) const icon = defaultIcon ?? if (list.length === 0) return null return (
{list.map((item, index) => { const itemIcon = item.icon ?? icon const itemContent = ( ) if (singleLineText) { return ( {itemContent} ) } return {itemContent} })}
) } RelatedPrompts.displayName = 'RelatedPrompts' export const PromptSuggestions = RelatedPrompts export type PromptSuggestionsProps = RelatedPromptsProps