fix(settings): fix Tavily key label cursor and reunite the apply link - #3821
Open
liuxiaocs7 wants to merge 1 commit into
Open
fix(settings): fix Tavily key label cursor and reunite the apply link#3821liuxiaocs7 wants to merge 1 commit into
liuxiaocs7 wants to merge 1 commit into
Conversation
Two UI papercuts in Settings → Web search's Tavily key field:
- The key label ("Tavily 密钥") showed a hand cursor on hover but
forwards no click. Astryx FieldLabel renders an InputGroup label as a
bare <span class="astryx-field-label"> (isGroupLabel), which carries
StyleX cursor:pointer; native-cursor.css only neutralized real <label>
elements, so the span slipped through. Match the stable themeProps
class so group-label spans get cursor:default like every other field
label (app-wide — the same shared PasswordInput backs bot tokens,
provider keys, and the proxy password).
- "申请地址:" rendered above the input as the field description while the
tavily.com link rendered below it, so the key input split the label
from its URL. Fold the link into the description as a ReactNode so
"申请地址:tavily.com" reads as one unit above the input — a pattern
Astryx FieldLabel supports (its click forwarding skips nested
interactive content); only InputGroup/Field under-declare the prop as
string, papered over by one cast in PasswordInput.
Generated-by: Claude Code (Opus 4.8)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two small UI papercuts in Settings → Web search's Tavily key field:
FieldLabelrenders anInputGrouplabel as a bare<span class="astryx-field-label">(isGroupLabel), which carries StyleXcursor: pointer;native-cursor.css(the single owner of the "hand cursor is for links only" convention) only neutralized real<label>elements, so the span slipped through. Match the stablethemePropsclass (.astryx-field-label) so group-label spans getcursor: defaultlike every other field label. This is app-wide by design — the same sharedPasswordInputbacks bot tokens, provider API keys, and the proxy password.tavily.comlink rendered on its own line below the input, so the key input split the label from its URL. Fold the link into the description as aReactNodeso "申请地址:tavily.com" reads as one unit above the input — a pattern AstryxFieldLabelsupports (its click forwarding skips nested interactive content); onlyInputGroup/Fieldunder-declare thedescriptionprop asstring, papered over by one cast inPasswordInput.Fixes #3820
Verification
tsc -p tsconfig.renderer.json --noEmit— passesbiome linton the changed files — passesBefore / after (Tavily key field):
before
after

Review focus
The cursor fix in
native-cursor.cssis intentionally app-wide: it neutralizes the hand cursor on everyInputGroupgroup-label span, not just this page.AI use
Select exactly one:
Tool(s) and scope: Claude Code (Opus 4.8) — investigated the root cause, wrote the code changes, and drafted this PR. Reviewed by the author. The squash commit carries a
Generated-bytrailer.Checklist
Does this PR entail a change in behavior?