Skip to content

Commit fd138cd

Browse files
Hongzhi Wenclaude
andcommitted
feat(compact): resize bar 改为「调尺寸热区」联动浮现
把顶部高度 bar 的浮现触发从「hover 整个历史区」收窄为:鼠标进入左右宽度 handle (.app-shell:has(.compact-chat-resize-handle:hover),与 anchor 同在 app-shell 下,跨子树 :has) 或历史滚动条命中区(.compact-export-history-anchor:has(.compact-export-history-scrollbar-hit:hover)) 时连带显现;bar 本体 hover / 拖动中(is-active)保留。这样只在「调宽 / 滚动」语境里统一提示也能 调高度,平时不再因鼠标划过历史区就亮,less intrusive。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 189f838 commit fd138cd

2 files changed

Lines changed: 14 additions & 1 deletion

File tree

frontend/react-neko-chat/src/styles.css

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2656,7 +2656,12 @@ body.electron-chat-window.subtitle-web-host .compact-export-history-anchor {
26562656
opacity: 0;
26572657
}
26582658

2659-
.compact-export-history-anchor:hover .compact-export-history-resize-bar::after,
2659+
/* 顶部高度 bar 的浮现热区:鼠标进入「可调尺寸」区域时连带显现,而不是 hover 整个历史区就亮——
2660+
即左右宽度 handle(.compact-chat-resize-handle,与 anchor 同在 .app-shell 下,跨子树用 :has)
2661+
或历史滚动条命中区(.compact-export-history-scrollbar-hit,anchor 后代);
2662+
外加直接 hover bar 本体 / 拖动中(is-active)。这样在「调宽 / 滚动」语境里统一提示也能调高度。 */
2663+
.app-shell:has(.compact-chat-resize-handle:hover) .compact-export-history-resize-bar::after,
2664+
.compact-export-history-anchor:has(.compact-export-history-scrollbar-hit:hover) .compact-export-history-resize-bar::after,
26602665
.compact-export-history-resize-bar:hover::after,
26612666
.compact-export-history-resize-bar.is-active::after {
26622667
opacity: 0.55;

tests/unit/test_react_chat_window_static.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -716,6 +716,14 @@ def test_compact_history_resize_bar_is_draggable_and_persisted():
716716
after_block = css_block(styles, ".compact-export-history-resize-bar::after {", ".compact-history-drag-layer")
717717
assert "opacity: 0;" in after_block
718718
assert ".compact-export-history-resize-bar.is-active::after {" in styles
719+
# 浮现热区:hover 左右宽度 handle(跨子树 :has)或历史滚动条命中区时连带显现,
720+
# 不再用「hover 整个历史区就亮」的旧触发。
721+
assert ".app-shell:has(.compact-chat-resize-handle:hover) .compact-export-history-resize-bar::after" in styles
722+
assert (
723+
".compact-export-history-anchor:has(.compact-export-history-scrollbar-hit:hover) "
724+
".compact-export-history-resize-bar::after"
725+
) in styles
726+
assert ".compact-export-history-anchor:hover .compact-export-history-resize-bar" not in styles
719727

720728
# bar 的 DOM:带可命中且不穿透的 hit-region,拖拽不触发面板 / 整窗拖动。
721729
assert "className={clsx('compact-export-history-resize-bar'" in panel_source

0 commit comments

Comments
 (0)