input fix for chome
This commit is contained in:
@@ -41,7 +41,7 @@ export default function ChangePassword() {
|
||||
<form onSubmit={submit} style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>
|
||||
<div className="flex-col gap-1">
|
||||
<label className="text-sm font-medium" style={{ color: 'var(--text-secondary)' }}>Current Password</label>
|
||||
<PasswordInput value={current} onChange={e => setCurrent(e.target.value)} autoComplete="new-password" required />
|
||||
<PasswordInput value={current} onChange={e => setCurrent(e.target.value)} autoComplete="current-password" required />
|
||||
</div>
|
||||
<div className="flex-col gap-1">
|
||||
<label className="text-sm font-medium" style={{ color: 'var(--text-secondary)' }}>New Password</label>
|
||||
|
||||
@@ -26,7 +26,7 @@ function UserCheckList({ allUsers, selectedIds, onChange, onIF, onIB }) {
|
||||
.sort((a, b) => (a.display_name||a.name).localeCompare(b.display_name||b.name));
|
||||
return (
|
||||
<div>
|
||||
<input className="input" placeholder="Search users…" value={search} onChange={e => setSearch(e.target.value)} autoComplete="new-password" style={{ marginBottom:8 }} autoComplete="new-password" onFocus={onIF} onBlur={onIB} />
|
||||
<input className="input" placeholder="Search users…" value={search} onChange={e => setSearch(e.target.value)} autoComplete="off" style={{ marginBottom:8 }} onFocus={onIF} onBlur={onIB} />
|
||||
<div style={{ maxHeight:220, overflowY:'auto', border:'1px solid var(--border)', borderRadius:'var(--radius)' }}>
|
||||
{filtered.map(u => (
|
||||
<label key={u.id} style={{ display:'flex', alignItems:'center', gap:10, padding:'8px 12px', borderBottom:'1px solid var(--border)', cursor:'pointer' }}>
|
||||
@@ -201,7 +201,7 @@ function AllGroupsTab({ allUsers, onRefresh, isMobile = false, onIF, onIB }) {
|
||||
<div style={{ display:'flex', flexDirection:'column', gap:18, maxWidth: isMobile ? '100%' : 520 }}>
|
||||
<div>
|
||||
<label className="settings-section-label">Group Name</label>
|
||||
<input className="input" value={editName} onChange={e => setEditName(e.target.value)} autoComplete="new-password" placeholder="e.g. Coaches" style={{ marginTop:6 }} autoComplete="new-password" onFocus={onIF} onBlur={onIB} />
|
||||
<input className="input" value={editName} onChange={e => setEditName(e.target.value)} autoComplete="off" placeholder="e.g. Coaches" style={{ marginTop:6 }} onFocus={onIF} onBlur={onIB} />
|
||||
{isCreating && !noDm && <p style={{ fontSize:12, color:'var(--text-tertiary)', marginTop:5 }}>A matching Direct Message group will be created automatically.</p>}
|
||||
<label style={{ display:'flex', alignItems:'center', gap:8, marginTop:8, cursor: (selected && selected.dm_group_id) ? 'not-allowed' : 'pointer', opacity: (selected && selected.dm_group_id) ? 0.5 : 1 }}>
|
||||
<input
|
||||
|
||||
@@ -93,11 +93,11 @@ export default function Login() {
|
||||
<form onSubmit={handleSubmit} className="login-form">
|
||||
<div className="field">
|
||||
<label>Email</label>
|
||||
<input className="input" type="email" value={email} onChange={e => setEmail(e.target.value)} required autoFocus placeholder="your@email.com" />
|
||||
<input className="input" type="email" value={email} onChange={e => setEmail(e.target.value)} required autoFocus placeholder="your@email.com" autoComplete="email" autoCorrect="off" autoCapitalize="off" spellCheck="false" />
|
||||
</div>
|
||||
<div className="field">
|
||||
<label>Password</label>
|
||||
<PasswordInput value={password} onChange={e => setPassword(e.target.value)} required placeholder="••••••••" />
|
||||
<PasswordInput value={password} onChange={e => setPassword(e.target.value)} required placeholder="••••••••" autoComplete="current-password" />
|
||||
</div>
|
||||
|
||||
<label className="remember-me">
|
||||
|
||||
@@ -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="new-password" onFocus={onIF} onBlur={onIB} />
|
||||
autoComplete="email" 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="new-password" autoCapitalize="words" onFocus={onIF} onBlur={onIB} />
|
||||
autoComplete="given-name" 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="new-password" autoCapitalize="words" onFocus={onIF} onBlur={onIB} />
|
||||
autoComplete="family-name" 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="new-password" onFocus={onIF} onBlur={onIB} />
|
||||
autoComplete="tel" onFocus={onIF} onBlur={onIB} />
|
||||
</div>
|
||||
<div>
|
||||
{lbl('App Role', true)}
|
||||
|
||||
Reference in New Issue
Block a user