import { Card } from '#/components/atoms/card.jsx'; import { Handle } from '#/components/molecules/handle.jsx'; import { Prose } from '#/components/molecules/prose.jsx'; import { timeAgo } from '#/lib/format.js'; import { cn } from '#/lib/utils.js'; /** * One person's words, drawn the same wherever they are read: an issue * thread, a pull request's timeline, a comment on a line. * * Who said it and when read on a line of their own, and what they said sits * under that. A note runs to whatever length its writer gave it, so putting * it beside the handle would push the time off a narrow window, and it is * markdown, so a code block in a review reads as one. * * `mark` is what the surface adds beside the handle, because each names a * different thing: an issue carries a disposition, a review a verdict. * `action` is what can be done about it, and holds the right of the line. */ export function StatementCard({ who, at, note, mark, action, className }) { return (
{mark} {timeAgo(at)} {action && {action}}
{note && }
); }