chrome mobile autofill bug fix

This commit is contained in:
2026-03-28 11:27:36 -04:00
parent a0d7125dd3
commit d7790bb7ef
9 changed files with 43 additions and 43 deletions

View File

@@ -376,7 +376,7 @@ function DirectMessagesTab({ allUserGroups, onRefresh, refreshKey, isMobile = fa
<div style={{ display:'flex', flexDirection:'column', gap:18, maxWidth: isMobile ? '100%' : 520 }}>
<div>
<label className="settings-section-label">DM Name</label>
<input className="input" value={dmName} onChange={e => setDmName(e.target.value)} autoComplete="new-password" placeholder="e.g. Coaches + Players" style={{ marginTop:6 }} autoComplete="new-password" onFocus={onIF} onBlur={onIB} />
<input className="input" value={dmName} onChange={e => setDmName(e.target.value)} autoComplete="off" placeholder="e.g. Coaches + Players" style={{ marginTop:6 }} onFocus={onIF} onBlur={onIB} />
</div>
<div>
<label className="settings-section-label">Member Groups</label>
@@ -604,8 +604,8 @@ function U2URestrictionsTab({ allUserGroups, isMobile = false, onIF, onIB }) {
Allowed Groups <span style={{ fontWeight:400, color:'var(--text-tertiary)' }}>({otherGroups.length - blockedIds.size} of {otherGroups.length} allowed)</span>
</label>
<input className="input" placeholder="Search groups…" value={search}
onChange={e => setSearch(e.target.value)} autoComplete="new-password" style={{ marginBottom:8 }}
autoComplete="new-password" onFocus={onIF} onBlur={onIB} />
onChange={e => setSearch(e.target.value)} autoComplete="off" style={{ marginBottom:8 }}
onFocus={onIF} onBlur={onIB} />
</div>
{loading ? (

View File

@@ -241,7 +241,7 @@ function UserForm({ user, userPass, allUserGroups, onDone, onCancel, isMobile, o
value={email} onChange={e => setEmail(e.target.value)}
disabled={isEdit}
style={{ width:'100%', ...(isEdit ? { opacity:0.6, cursor:'not-allowed' } : {}) }}
autoComplete="email" autoCorrect="off" autoCapitalize="off" spellCheck="false" onFocus={onIF} onBlur={onIB} />
autoComplete="off" autoCorrect="off" autoCapitalize="off" spellCheck="false" onFocus={onIF} onBlur={onIB} />
</div>
{/* Row 2: First Name + Last Name */}
@@ -250,13 +250,13 @@ function UserForm({ user, userPass, allUserGroups, onDone, onCancel, isMobile, o
{lbl('First Name', true)}
<input className="input" placeholder="Jane"
value={firstName} onChange={e => setFirstName(e.target.value)}
autoComplete="given-name" autoCapitalize="words" onFocus={onIF} onBlur={onIB} />
autoComplete="off" autoCapitalize="words" onFocus={onIF} onBlur={onIB} />
</div>
<div>
{lbl('Last Name', true)}
<input className="input" placeholder="Smith"
value={lastName} onChange={e => setLastName(e.target.value)}
autoComplete="family-name" autoCapitalize="words" onFocus={onIF} onBlur={onIB} />
autoComplete="off" autoCapitalize="words" onFocus={onIF} onBlur={onIB} />
</div>
</div>
@@ -266,7 +266,7 @@ function UserForm({ user, userPass, allUserGroups, onDone, onCancel, isMobile, o
{lbl('Phone', false, '(optional)')}
<input className="input" type="tel" placeholder="+1 555 000 0000"
value={phone} onChange={e => setPhone(e.target.value)}
autoComplete="tel" onFocus={onIF} onBlur={onIB} />
autoComplete="off" onFocus={onIF} onBlur={onIB} />
</div>
<div>
{lbl('App Role', true)}
@@ -629,7 +629,7 @@ export default function UserManagerPage({ isMobile = false, onProfile, onHelp, o
<div style={{ padding:'16px 16px 8px', flexShrink:0 }}>
<input className="input" placeholder="Search users…" value={search} onChange={e => setSearch(e.target.value)}
onFocus={onIF} onBlur={onIB}
autoComplete="new-password" autoCorrect="off" spellCheck={false}
autoComplete="off" autoCorrect="off" spellCheck={false}
style={{ width:'100%', maxWidth: isMobile ? '100%' : 400 }} />
</div>
<div style={{ flex:1, overflowY:'auto', padding:'0 16px', paddingBottom: isMobile ? 'calc(82px + env(safe-area-inset-bottom, 0px))' : 16, overscrollBehavior:'contain' }}>