SPB Git forge

spb/uqo-chat

Public
14commits 1branches 0releases
1.4 MBsize
maindefault branch
17 days agolast push
Python 64.6% TypeScript 33.7% CSS 0.8%
1.1 KB · 17 lines tsx
Raw Blame History
1import { ArrowRight } from 'lucide-react';2import type { ToolCallView } from '@/lib/types';3import { fmtNum } from '@/lib/format';45export function UnitConvertCard({ call }: { call: ToolCallView }) {6  const p = call.payload as { value?: number; from?: string; to?: string; result?: number; factor?: number; formula?: string; kind?: string };7  if (p.result === undefined) return <p className="text-sm text-neutral-muted">{call.summary}</p>;8  return (9    <div className="flex flex-wrap items-center gap-3 text-sm">10      <span className="rounded-xl bg-neutral-surface px-3 py-2 font-semibold tabular-nums">{fmtNum(p.value ?? 0, 4)} <span className="text-neutral-muted font-normal">{p.from}</span></span>11      <ArrowRight size={16} className="text-neutral-muted" />12      <span className="rounded-xl bg-uqo-blue-light px-3 py-2 font-semibold tabular-nums text-uqo-blue-dark">{fmtNum(p.result, 4)} <span className="text-neutral-muted font-normal">{p.to}</span></span>13      <span className="text-xs text-neutral-muted">facteur {fmtNum(p.factor ?? 0, 6)} · {p.kind}</span>14    </div>15  );16}17