1
0
forked from boos/BoosAPI

fix(web): fix AddChannelModal checkbox toggle and click area

- Move onClick handler to outer card div for full-area click support
- Set checkbox to readOnly with pointerEvents:none to prevent double-toggle
- Add stopPropagation on token select section to avoid unintended toggling
This commit is contained in:
Hureru
2026-03-11 14:01:45 +08:00
parent 90f92711fd
commit 69cc491d3a
@@ -195,6 +195,7 @@ export default function AddChannelModal({
return ( return (
<div <div
key={account.id} key={account.id}
onClick={() => toggleAccount(account)}
style={{ style={{
padding: '8px 10px', padding: '8px 10px',
borderRadius: 'var(--radius-sm)', borderRadius: 'var(--radius-sm)',
@@ -203,15 +204,12 @@ export default function AddChannelModal({
cursor: 'pointer', cursor: 'pointer',
}} }}
> >
<div <div style={{ display: 'flex', alignItems: 'center', gap: 8 }}>
style={{ display: 'flex', alignItems: 'center', gap: 8 }}
onClick={() => toggleAccount(account)}
>
<input <input
type="checkbox" type="checkbox"
checked={isSelected} checked={isSelected}
onChange={() => toggleAccount(account)} readOnly
style={{ cursor: 'pointer' }} style={{ cursor: 'pointer', pointerEvents: 'none' }}
/> />
<span style={{ fontSize: 13, fontWeight: 500 }}>{account.label}</span> <span style={{ fontSize: 13, fontWeight: 500 }}>{account.label}</span>
{isExisting && ( {isExisting && (
@@ -220,7 +218,7 @@ export default function AddChannelModal({
</div> </div>
{isSelected && tokens.length > 0 && ( {isSelected && tokens.length > 0 && (
<div style={{ marginTop: 6, paddingLeft: 24 }}> <div style={{ marginTop: 6, paddingLeft: 24 }} onClick={(e) => e.stopPropagation()}>
<div style={{ fontSize: 11, color: 'var(--color-text-muted)', marginBottom: 4 }}>{tr('令牌')}:</div> <div style={{ fontSize: 11, color: 'var(--color-text-muted)', marginBottom: 4 }}>{tr('令牌')}:</div>
<ModernSelect <ModernSelect
size="sm" size="sm"