diff --git a/apps/web/src/main.tsx b/apps/web/src/main.tsx index 44c80c0..c791c6d 100644 --- a/apps/web/src/main.tsx +++ b/apps/web/src/main.tsx @@ -1,7 +1,7 @@ import React, { useEffect, useMemo, useRef, useState } from "react"; import { createRoot } from "react-dom/client"; import { BrowserRouter, Link, Navigate, NavLink, Route, Routes, useNavigate, useParams } from "react-router-dom"; -import ReactMarkdown from "react-markdown"; +import ReactMarkdown, { type Components } from "react-markdown"; import remarkGfm from "remark-gfm"; import { AlertCircle, ArrowDownRight, Bell, Boxes, Brain, CalendarClock, CheckCircle2, ChevronDown, Clipboard, Code2, Cpu, Database, Download, ExternalLink, Eye, FileText, FolderOpen, GitCompare, Globe2, Hash, History, Home, Image, KeyRound, LayoutGrid, ListTree, LoaderCircle, Maximize2, MessageSquare, Palette, Play, Plus, Search, Server, Settings, Share2, ShieldCheck, Sparkles, UserCheck, X, Zap } from "lucide-react"; import Auth1 from "./components/blocks/auth-1.js"; @@ -4763,6 +4763,22 @@ function MarkdownLink(props: MarkdownAnchorProps) { ); } +// Render model-authored answer text as markdown — bold, nested bullet lists, +// inline code, tables, links — instead of flattening it into one run-on +// paragraph with literal `**`/`-` characters. `inline` unwraps the top-level +//
so short single-line items (e.g. key points) sit directly inside their +//
No items found.
); } @@ -5676,12 +5695,10 @@ function AiResultValue({ value }: { value: unknown }) { } const text = stringifyAiValue(value); - if (!text) returnNo answer returned.
; + if (!text) return null; return ({paragraph}
- ))} +