--- import { isInputError } from 'astro:actions' import { SUGGESTION_MESSAGE_CONTENT_MAX_LENGTH } from '../actions/serviceSuggestion' import Button from '../components/Button.astro' import Tooltip from '../components/Tooltip.astro' import { cn } from '../lib/cn' import { baseInputClassNames } from '../lib/formInputs' import ChatMessages, { type ChatMessage } from './ChatMessages.astro' import type { ActionInputNoFormData, AnyAction } from '../lib/astroActions' import type { HTMLAttributes } from 'astro/types' export type Props = HTMLAttributes<'section'> & { messages: ChatMessage[] title?: string userId: number | null action: TAction formData?: TAction extends AnyAction ? ActionInputNoFormData extends Record ? Omit, 'content'> : ActionInputNoFormData : undefined } const { messages, title, userId, action, formData, class: className, ...htmlProps } = Astro.props const result = action ? Astro.getActionResult(action) : undefined const inputErrors = isInputError(result?.error) ? result.error.fields : {} ---
{!!title &&

{title}

} { !!action && ( <>
{typeof formData === 'object' && formData !== null && Object.entries(formData).map(([key, value]) => ( ))}