Skip to content

Commit 7126452

Browse files
committed
fix(notes): 挂体系浮层右缘钳制与残缺修复(REQ-276)
1 parent 39dd1a7 commit 7126452

1 file changed

Lines changed: 24 additions & 5 deletions

File tree

‎app/src/components/NoteLinkToSystem.tsx‎

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
* (替代逐体系正查聚合);挂接后可切换目标(先撤旧链再建新链——
1010
* 幂等语义下同 target 多链会堆积);旧版本挂接数据(仅 nodeId)
1111
* 自动兼容,UI 显示「问题」徽标(spec §5)。变更经 onChanged 通知。
12+
* @ai-context: REQ-276(v0.19.4)浮层右缘钳制:挂体系按钮位于笔记阅读头右端,
13+
* 面板左锚点向右展开会越过阅读区/窗口右缘造成残缺——改按钮右
14+
* 对齐向左展开(与 NoteMoveToGroupMenu 同范式)+ 超高面板内滚动
15+
* + 外部点击背板收起(同类浮层统查:分组已右对齐、色板靠左无越缘)。
1216
*/
1317
import { useCallback, useEffect, useMemo, useState } from "react";
1418
import { invoke } from "@tauri-apps/api/core";
@@ -138,10 +142,24 @@ export default function NoteLinkToSystem({ noteId, onChanged }: Props) {
138142
)}
139143

140144
{open && (
141-
<div
142-
data-testid="note-link-panel"
143-
style={{ position: "absolute", zIndex: 30, marginTop: 30, padding: 10, background: "#fff", border: "1px solid #e5e7eb", borderRadius: 8, boxShadow: "0 4px 16px rgba(0,0,0,0.12)", display: "flex", flexDirection: "column", gap: 6, width: 260 }}
144-
>
145+
<>
146+
{/* REQ-276:透明背板(与 NoteMoveToGroupMenu 同范式)——点击外部收起 */}
147+
<div
148+
onClick={() => setOpen(false)}
149+
style={{ position: "fixed", inset: 0, zIndex: 30, background: "transparent" }}
150+
/>
151+
<div
152+
data-testid="note-link-panel"
153+
style={{
154+
position: "absolute", zIndex: 31, top: "calc(100% + 6px)", right: 0,
155+
padding: 10, background: "#fff", border: "1px solid #e5e7eb",
156+
borderRadius: 8, boxShadow: "0 4px 16px rgba(0,0,0,0.12)",
157+
display: "flex", flexDirection: "column", gap: 6, width: 260,
158+
// REQ-276:右缘钳制(挂体系按钮位于阅读头右端——向左展开不越右缘);
159+
// 内容超高时面板内滚动(不撑破视口下缘)
160+
maxHeight: 380, overflowY: "auto",
161+
}}
162+
>
145163
{domainSystems.length === 0 ? (
146164
<div data-testid="note-link-empty" style={{ fontSize: 12, color: "#9ca3af" }}>暂无体系——请先到「🧠 体系」页创建。</div>
147165
) : (
@@ -219,7 +237,8 @@ export default function NoteLinkToSystem({ noteId, onChanged }: Props) {
219237
</>
220238
)}
221239
{err && <div style={{ fontSize: 11, color: "#dc2626" }}>{err}</div>}
222-
</div>
240+
</div>
241+
</>
223242
)}
224243
</span>
225244
);

0 commit comments

Comments
 (0)