diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx index 2170895..8ce7d67 100644 --- a/apps/web/app/layout.tsx +++ b/apps/web/app/layout.tsx @@ -14,9 +14,11 @@ export default function RootLayout({ }: { children: React.ReactNode; }) { + // suppressHydrationWarning:浏览器扩展(如 Dark Reader/翻译插件)常在 html/body + // 注入 class/attr,水合前改 DOM → 仅这一层属性的水合告警,非本应用 bug。 return ( - -
+ ++ 裁决先暂存在本地,点下方「验收本章」时与终稿一并保存落库(验收前刷新会丢失未保存的裁决)。 +
+ {groups.map((group) => (- 审稿进行中… +
+
该段在终稿中为空,请先在终稿中保留该段正文。
) : refiner.status === "refining" ? ( -- 回炉中… +
+
回炉失败,请稍后重试。
diff --git a/apps/web/components/workbench/Editor.tsx b/apps/web/components/workbench/Editor.tsx index fedcd19..2a92fe7 100644 --- a/apps/web/components/workbench/Editor.tsx +++ b/apps/web/components/workbench/Editor.tsx @@ -1,5 +1,7 @@ "use client"; +import { useEffect, useRef } from "react"; + interface EditorProps { value: string; onChange: (value: string) => void; @@ -9,19 +11,32 @@ interface EditorProps { // 中栏正文编辑器:宋体、720px 居中、行高 1.9(UX §2.3 / §6.3)。 // 流式中显示朱砂光标提示(prefers-reduced-motion 下不闪烁,见 globals.css)。 export function Editor({ value, onChange, streaming }: EditorProps) { + const ref = useRef