v0.12.38 event form bug fixes

This commit is contained in:
2026-03-29 15:38:16 -04:00
parent cfb351a251
commit 93689d4486
7 changed files with 83 additions and 26 deletions

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="off" autoCorrect="off" autoCapitalize="off" spellCheck="false" onFocus={onIF} onBlur={onIB} />
autoComplete="new-password" 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="off" autoCapitalize="words" onFocus={onIF} onBlur={onIB} />
autoComplete="new-password" 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="off" autoCapitalize="words" onFocus={onIF} onBlur={onIB} />
autoComplete="new-password" 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="off" onFocus={onIF} onBlur={onIB} />
autoComplete="new-password" onFocus={onIF} onBlur={onIB} />
</div>
<div>
{lbl('App Role', true)}
@@ -621,6 +621,9 @@ export default function UserManagerPage({ isMobile = false, onProfile, onHelp, o
)}
{/* Content */}
{/* form wrapper suppresses Chrome Android's autofill chip bar; autoComplete="new-password"
on individual inputs is ignored by Chrome but respected on the form element */}
<form autoComplete="new-password" onSubmit={e => e.preventDefault()}>
<div style={{ flex:1, display:'flex', flexDirection:'column', overflow:'hidden', minHeight:0, background:'var(--background)' }}>
{/* LIST VIEW */}
@@ -629,7 +632,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="off" autoCorrect="off" spellCheck={false}
autoComplete="new-password" 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' }}>
@@ -677,6 +680,7 @@ export default function UserManagerPage({ isMobile = false, onProfile, onHelp, o
</div>
)}
</div>
</form>
{/* Mobile footer — fixed, hidden when keyboard is up */}
{isMobile && !inputFocused && (