Skip to content

feat(settings): 设置项悬停显示功能说明,降低 Less Computer / 录音胶囊等的理解门槛#777

Open
bigsongeth wants to merge 1 commit into
Open-Less:betafrom
bigsongeth:feat/settings-hover-hints
Open

feat(settings): 设置项悬停显示功能说明,降低 Less Computer / 录音胶囊等的理解门槛#777
bigsongeth wants to merge 1 commit into
Open-Less:betafrom
bigsongeth:feat/settings-hover-hints

Conversation

@bigsongeth

@bigsongeth bigsongeth commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

User description

问题

设置页「瘦身」后描述小字全部隐藏,Less Computer、录音胶囊这类光看名字猜不出用途的功能只剩一个标签,新用户理解成本高。

方案

把已有的 desc 文案以悬停 Tooltip 的形式挂回标签文字上——布局保持紧凑,可理解性回来了:

  • Tooltip 新增 wrap 模式:整句说明允许换行(默认 nowrap 行为不变,侧栏菜单提示不受影响)
  • SettingRowdesc 恢复生效:悬停标签文字弹出说明;带说明的文字加虚线下划线 + cursor: help,暗示「悬停可看解释」
  • SectionTitle 新增 hint:Less Computer、Claude 控制台、录音与输入三个板块标题接上已有的 desc
  • 「录音与输入」里录音胶囊 / 录音方式 / 首选麦克风 / 录音时静音 / 插入剪贴板等行补传现成的 i18n desc;其他 section 里已传 desc 的行(如快捷键页的 Less Computer 按住说话键)自动获得提示

文案全部复用现有 i18n key,五种语言无需新增翻译。

效果

  • 悬停「Less Computer」标题 → 「按住一个键说话,Claude 帮你操作电脑。仅 macOS。」
  • 悬停「录音胶囊」→ 「录音 / 转写时显示屏幕底部胶囊。」

首次悬停 600ms 后出现,沿用 Tooltip 既有的「预热」行为,连续查看多项说明时即时切换。

验证

  • tsc + vite build 通过
  • 浏览器里实际打开设置页验证:通用 → 录音胶囊、高级 → Less Computer 的悬停提示均正常弹出、正常换行;无说明的标签(如调试工具行)不带下划线、无提示

PR Type

Enhancement


Description

  • Add Tooltip wrap mode for multiline descriptions

  • SettingRow and SectionTitle use Tooltip with desc/hint

  • Apply tooltips to RecordingInput, ClaudeConsole, CodingAgent sections

  • All descriptions from existing i18n keys, no new translations


File Walkthrough

Relevant files
Enhancement
Tooltip.tsx
Add wrap mode to Tooltip                                                                 

openless-all/app/src/components/Tooltip.tsx

  • Added wrap prop to allow multiline tooltip content
  • Created wrapBubbleStyle with normal white-space and max-width:280px
  • Applied wrap style conditionally when wrap is true
  • Default wrapping remains 'nowrap' for backward compatibility
+17/-2   
ClaudeConsoleSection.tsx
Add hint to ClaudeConsole section title                                   

openless-all/app/src/pages/settings/ClaudeConsoleSection.tsx

  • Added hint prop to SectionTitle with existing desc translation
  • Tooltip now appears on hover over section title
+1/-1     
CodingAgentSection.tsx
Add hint to CodingAgent section title                                       

openless-all/app/src/pages/settings/CodingAgentSection.tsx

  • Added hint prop to SectionTitle with existing desc translation
  • Tooltip now appears on hover over section title
+1/-1     
RecordingInputSection.tsx
Add tooltips to RecordingInput section items                         

openless-all/app/src/pages/settings/RecordingInputSection.tsx

  • Replaced manual title styling with SectionTitle and hint
  • Added desc prop to multiple SettingRow components (mode, microphone,
    capsule, etc.)
  • All descriptions use existing i18n keys
+10/-12 
shared.tsx
Integrate Tooltip into SectionTitle and SettingRow             

openless-all/app/src/pages/settings/shared.tsx

  • Modified SectionTitle to conditionally wrap text in Tooltip with hint
  • Modified SettingRow to conditionally wrap label in Tooltip with desc
  • Added hintableTextStyle with dotted underline and help cursor
  • Removed unused desc rendering (now in tooltip)
+46/-22 

页面瘦身后设置页描述小字全部隐藏,Less Computer、录音胶囊这类光看名字
猜不出用途的功能只剩一个标签,理解成本高。本次把已有的 desc 文案以
Tooltip 形式挂回标签文字上:

- Tooltip 新增 wrap 模式,整句说明允许换行(默认 nowrap 不变)
- SettingRow 的 desc 恢复生效:悬停标签文字弹出说明,虚线下划线 +
  help 光标做「可悬停」暗示,布局保持紧凑
- SectionTitle 新增 hint,Less Computer / Claude 控制台 / 录音与输入
  三个板块标题接上已有的 desc 文案
- 录音与输入里录音胶囊 / 录音方式 / 首选麦克风 / 录音时静音 /
  插入剪贴板等行补传现成的 i18n desc

文案全部复用现有 i18n key,五种语言无需新增翻译。
@github-actions

Copy link
Copy Markdown
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ No major issues detected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant