diff --git a/frontend-web/src/pages/deep-research/ResearchSandboxPanel.tsx b/frontend-web/src/pages/deep-research/ResearchSandboxPanel.tsx index 0d343c95..1aebe09e 100644 --- a/frontend-web/src/pages/deep-research/ResearchSandboxPanel.tsx +++ b/frontend-web/src/pages/deep-research/ResearchSandboxPanel.tsx @@ -155,12 +155,12 @@ export function ResearchSandboxPanel({ /> -
+
{selectedArtifact && previewThreadId && stubMessages.length > 0 ? ( <> {documentRewriteActive && onCancelDocumentRewrite && ( diff --git a/frontend-web/src/pages/deep-research/WorkflowConfigDialog.tsx b/frontend-web/src/pages/deep-research/WorkflowConfigDialog.tsx index 33cc7d4a..a17d4094 100644 --- a/frontend-web/src/pages/deep-research/WorkflowConfigDialog.tsx +++ b/frontend-web/src/pages/deep-research/WorkflowConfigDialog.tsx @@ -114,7 +114,7 @@ const outlineMarkdownClassName = "[&_p]:my-2.5 [&_ul]:my-2.5 [&_ol]:my-2.5 [&_li]:my-1 " + "[&_ul]:list-disc [&_ol]:list-decimal [&_ul]:pl-5 [&_ol]:pl-5 " + "[&_strong]:font-semibold [&_strong]:text-neutral-900 dark:[&_strong]:text-slate-100 " + - "[&_blockquote]:my-3 [&_blockquote]:border-l-4 [&_blockquote]:border-rose-200 [&_blockquote]:pl-4 [&_blockquote]:text-neutral-500 dark:[&_blockquote]:border-rose-900/50 dark:[&_blockquote]:text-slate-400 " + + "[&_blockquote]:my-3 [&_blockquote]:border-l-4 [&_blockquote]:border-rose-200 [&_blockquote]:pl-4 [&_blockquote]:text-neutral-500 dark:[&_blockquote]:border-[#2b8ffe]/45 dark:[&_blockquote]:text-slate-400 " + "[&_code]:rounded [&_code]:border [&_code]:bg-neutral-100 [&_code]:px-1.5 [&_code]:py-0.5 [&_code]:font-mono [&_code]:text-xs dark:[&_code]:border-slate-700 dark:[&_code]:bg-slate-800 " + "[&_pre]:my-4 [&_pre]:max-w-full [&_pre]:overflow-x-auto [&_pre]:rounded-lg [&_pre]:border [&_pre]:bg-neutral-50 [&_pre]:p-4 dark:[&_pre]:border-slate-700 dark:[&_pre]:bg-slate-800 " + "[&_pre_code]:border-0 [&_pre_code]:bg-transparent [&_pre_code]:p-0"; @@ -309,17 +309,17 @@ export function WorkflowConfigDialog({ overlayClassName="bg-slate-900/60 backdrop-blur-xs" className={ !detail - ? "flex h-[85vh] max-h-[85vh] w-[calc(100vw-3rem)] max-w-6xl flex-col gap-0 overflow-hidden rounded-3xl border border-slate-200/80 bg-white p-0 shadow-2xl dark:border-slate-800 dark:bg-slate-900 sm:max-w-6xl" - : "flex h-[85vh] max-h-[85vh] w-[calc(100vw-3rem)] max-w-6xl flex-col gap-0 overflow-hidden rounded-2xl border border-neutral-200/90 bg-white p-0 shadow-2xl shadow-neutral-950/20 dark:border-slate-800 dark:bg-slate-900 sm:max-w-6xl" + ? "flex h-[85vh] max-h-[85vh] w-[calc(100vw-3rem)] max-w-6xl flex-col gap-0 overflow-hidden rounded-3xl border border-slate-200/80 bg-white p-0 shadow-2xl dark:border-[#263b5c] dark:bg-[#0f172a] sm:max-w-6xl" + : "flex h-[85vh] max-h-[85vh] w-[calc(100vw-3rem)] max-w-6xl flex-col gap-0 overflow-hidden rounded-2xl border border-neutral-200/90 bg-white p-0 shadow-2xl shadow-neutral-950/20 dark:border-[#263b5c] dark:bg-[#0f172a] sm:max-w-6xl" } > {/* header:列表视图=标题+筛选+新增;详情视图=结构标题 + 返回结构库 */} {!detail ? ( <> -
+
-
+

工作流配置 · 报告结构

@@ -331,7 +331,7 @@ export function WorkflowConfigDialog({
-
+
@@ -347,14 +347,14 @@ export function WorkflowConfigDialog({ value={titleFilter} onChange={(event) => setTitleFilter(event.target.value)} placeholder="按标题或检索词筛选..." - className="h-10 rounded-xl border-slate-200/90 bg-slate-50/60 pr-8 pl-9 text-xs text-slate-800 shadow-2xs placeholder:text-slate-400 focus-visible:border-[#F5222D] focus-visible:ring-[#F5222D]/20 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-100 sm:text-sm" + className="h-10 rounded-xl border-slate-200/90 bg-slate-50/60 pr-8 pl-9 text-xs text-slate-800 shadow-2xs placeholder:text-slate-400 focus-visible:border-[#F5222D] focus-visible:ring-[#F5222D]/20 dark:border-[#2a4164] dark:bg-[#17243a] dark:text-slate-100 dark:focus-visible:border-[#2b8ffe] dark:focus-visible:ring-[#2b8ffe]/25 sm:text-sm" /> {titleFilter && ( @@ -366,7 +366,7 @@ export function WorkflowConfigDialog({ value={statusFilter} onChange={(event) => setStatusFilter(event.target.value as ReportStructureStatusFilter)} aria-label="启用状态筛选" - className="h-10 cursor-pointer appearance-none rounded-xl border border-slate-200/90 bg-slate-50/60 py-2 pr-8 pl-3 text-xs font-medium text-slate-700 shadow-2xs transition-all hover:border-slate-300 focus:border-[#F5222D] focus:ring-2 focus:ring-[#F5222D]/20 focus:outline-hidden dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200 sm:text-sm" + className="h-10 cursor-pointer appearance-none rounded-xl border border-slate-200/90 bg-slate-50/60 py-2 pr-8 pl-3 text-xs font-medium text-slate-700 shadow-2xs transition-all hover:border-slate-300 focus:border-[#F5222D] focus:ring-2 focus:ring-[#F5222D]/20 focus:outline-hidden dark:border-[#2a4164] dark:bg-[#17243a] dark:text-slate-200 dark:hover:border-[#2b8ffe]/70 dark:focus:border-[#2b8ffe] dark:focus:ring-[#2b8ffe]/25 sm:text-sm" > @@ -380,7 +380,7 @@ export function WorkflowConfigDialog({ value={modeFilter} onChange={(event) => setModeFilter(event.target.value as "all" | ReportStructureMode)} aria-label="大纲类型筛选" - className="h-10 cursor-pointer appearance-none rounded-xl border border-slate-200/90 bg-slate-50/60 py-2 pr-8 pl-3 text-xs font-medium text-slate-700 shadow-2xs transition-all hover:border-slate-300 focus:border-[#F5222D] focus:ring-2 focus:ring-[#F5222D]/20 focus:outline-hidden dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200 sm:text-sm" + className="h-10 cursor-pointer appearance-none rounded-xl border border-slate-200/90 bg-slate-50/60 py-2 pr-8 pl-3 text-xs font-medium text-slate-700 shadow-2xs transition-all hover:border-slate-300 focus:border-[#F5222D] focus:ring-2 focus:ring-[#F5222D]/20 focus:outline-hidden dark:border-[#2a4164] dark:bg-[#17243a] dark:text-slate-200 dark:hover:border-[#2b8ffe]/70 dark:focus:border-[#2b8ffe] dark:focus:ring-[#2b8ffe]/25 sm:text-sm" > @@ -391,11 +391,11 @@ export function WorkflowConfigDialog({
- + {visible.length} 套
) : ( -
+
-
+
@@ -420,8 +420,8 @@ export function WorkflowConfigDialog({ {detail.title} {detail.id === appliedStructureId && ( - - + + 当前使用 )} @@ -440,7 +440,7 @@ export function WorkflowConfigDialog({
) : ( -
-