'use client'; /** * User bubble — solid fill (the OpenPBL shape: `bg-primary` on * `primary-foreground`, tightened trailing corner). Right alignment is the * whole authorship signal; there is no avatar and no name. */ import { BookOpen, Paperclip } from 'lucide-react'; import type { ElementRef } from '@/lib/workbench/element-refs'; import type { CourseRef } from '@/lib/workbench/course-refs'; import { wbStyles as styles } from './chat-styles'; /** * Element references, echoed inside the sent bubble. * * Not the composer's `ElementRefPill`: on the primary fill a violet pill would * be a second colour fighting the bubble, and hover-to-ring belongs to a * selection you can still change. This is the receipt — the same ordinal and the * same label, rendered in the bubble's own on-primary chip skin, so "what I * pointed at" stays readable in the transcript weeks later. */ function SentElementRefs({ refs }: { refs: readonly ElementRef[] }) { return (