Components
AI composer
A multiline prompt hands the user’s request to an external AI service without pretending to be an in-app chat.
On this page
Purpose and placement
A multiline prompt hands the user’s request to an external AI service without pretending to be an in-app chat.
Anatomy
- Mode control
- Growing textarea
- Named send action
Contract
| Input or boundary | Behavior |
|---|---|
| aiAgent | ChatGPT, Gemini or Grok |
| Prompt | Trimmed; blank prompts do nothing |
| Provider URL | ChatGPT q, AI Studio prompt, Grok q parameter |
States and feedback
- Two-row starting textarea
- Grows up to five line heights
- Beyond maximum: internal text scroll
- Send clears mode and prompt before navigation
Interaction and composition
Switching between search and AI is a mode change, not a submitted request. Sending places the prompt into the provider URL and navigates the current tab. No assistant answer, transcript or inference occurs in Startboard.
Responsive behavior
Textarea shrinks within the same composer cap. Send remains at the lower right; reserve input padding so text does not overlap it.
Accessibility contract
Both mode and send buttons have aria-labels. The textarea’s provider placeholder is not a persistent label. Indicate the external destination in help text as a recommended improvement.
Known implementation gaps
Prompt text enters an external URL and provider history. Provider availability, account requirements and deep-link behavior are not verified by the captures.
Source references
| Repository file | Responsibility |
|---|---|
| app/(home)/AppHome.tsx | AI mode and URL construction |
| app/settings/preferences/page.tsx | Provider selection |
Examples from the app
Actual Startboard source UI with isolated fictional records; both native themes at 2× resolution or higher. No live integrations or account writes. Captured at 2× resolution or higher. Select an image to inspect it full size.
Related topics
Source audit: 2026-10-08 · Revision 08fa2595a668 · Documentation v1.0.0