Files
temetro/.agents/skills/ai-elements/references/open-in-chat.md
T
Khalid Abdi 929bec8f31 feat: AI-added records save with placeholders + "Added by AI" provenance
Stop blocking AI imports/proposals on missing non-critical fields. Records
the chat agent drafts now save with safe placeholders, auto-generated file
numbers, and a source="ai" marker that surfaces an "Added by AI" badge so a
clinician can review/edit them later.

Backend:
- add `source` (manual|ai) column to patients/appointments/prescriptions
  (migration 0014) + canonical types, services, validation schemas
- relax patient/appointment validation: empty file number allowed, demographic
  + type/provider/initials fall back to placeholders (initials derived from name)
- patients.generateFileNumber() auto-assigns an MRN when one is missing
- proposeAppointment accepts a name when no file number resolves; AI commits +
  /api/ai/import stamp source="ai"

Frontend:
- `source` on Appointment/Patient/Prescription types; AI commits send source="ai"
- reusable <AiBadge> shown on the Patients table/detail and prescriptions list

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 19:27:17 +03:00

2.7 KiB

Open In Chat

A dropdown menu for opening queries in various AI chat platforms including ChatGPT, Claude, T3, Scira, and v0.

The OpenIn component provides a dropdown menu that allows users to open queries in different AI chat platforms with a single click.

See scripts/open-in-chat.tsx for this example.

Installation

npx ai-elements@latest add open-in-chat

Features

  • Pre-configured links to popular AI chat platforms
  • Context-based query passing for cleaner API
  • Customizable dropdown trigger button
  • Automatic URL parameter encoding for queries
  • Support for ChatGPT, Claude, T3 Chat, Scira AI, v0, and Cursor
  • Branded icons for each platform
  • TypeScript support with proper type definitions
  • Accessible dropdown menu with keyboard navigation
  • External link indicators for clarity

Supported Platforms

  • ChatGPT - Opens query in OpenAI's ChatGPT with search hints
  • Claude - Opens query in Anthropic's Claude AI
  • T3 Chat - Opens query in T3 Chat platform
  • Scira AI - Opens query in Scira's AI assistant
  • v0 - Opens query in Vercel's v0 platform
  • Cursor - Opens query in Cursor AI editor

Props

<OpenIn />

Prop Type Default Description
query string - The query text to be sent to all AI platforms.
...props React.ComponentProps<typeof DropdownMenu> - Props to spread to the underlying radix-ui DropdownMenu component.

<OpenInTrigger />

Prop Type Default Description
children React.ReactNode - Custom trigger button.
...props React.ComponentProps<typeof DropdownMenuTrigger> - Props to spread to the underlying DropdownMenuTrigger component.

<OpenInContent />

Prop Type Default Description
className string - Additional CSS classes to apply to the dropdown content.
...props React.ComponentProps<typeof DropdownMenuContent> - Props to spread to the underlying DropdownMenuContent component.

<OpenInChatGPT />, <OpenInClaude />, <OpenInT3 />, <OpenInScira />, <OpenInv0 />, <OpenInCursor />

Prop Type Default Description
...props React.ComponentProps<typeof DropdownMenuItem> - Props to spread to the underlying DropdownMenuItem component. The query is automatically provided via context from the parent OpenIn component.

<OpenInItem />, <OpenInLabel />, <OpenInSeparator />

Additional composable components for custom dropdown menu items, labels, and separators that follow the same props pattern as their underlying radix-ui counterparts.