v0.12.48 Login Type bug fixes

This commit is contained in:
2026-03-31 20:11:40 -04:00
parent f942bc45b9
commit a3a878854e
6 changed files with 41 additions and 10 deletions

View File

@@ -139,7 +139,7 @@ function UserForm({ user, userPass, allUserGroups, nonMinorUsers, loginType, onD
const [email, setEmail] = useState(user?.email || '');
const [phone, setPhone] = useState(user?.phone || '');
const [role, setRole] = useState(user?.role || 'member');
const [dob, setDob] = useState(user?.date_of_birth || '');
const [dob, setDob] = useState(user?.date_of_birth?.slice(0, 10) || '');
const [guardianId, setGuardianId] = useState(user?.guardian_user_id || '');
const [password, setPassword] = useState('');
const [pwEnabled, setPwEnabled] = useState(!isEdit);
@@ -566,6 +566,7 @@ export default function UserManagerPage({ isMobile = false, onProfile, onHelp, o
const [userPass, setUserPass] = useState('user@1234');
const [allUserGroups, setAllUserGroups] = useState([]);
const [loginType, setLoginType] = useState('all_ages');
const [guardiansGroupUserIds, setGuardiansGroupUserIds] = useState(null); // null = not loaded yet
const [inputFocused, setInputFocused] = useState(false);
const onIF = () => setInputFocused(true);
const onIB = () => setInputFocused(false);
@@ -582,6 +583,12 @@ export default function UserManagerPage({ isMobile = false, onProfile, onHelp, o
api.getSettings().then(({ settings }) => {
if (settings.user_pass) setUserPass(settings.user_pass);
setLoginType(settings.feature_login_type || 'all_ages');
const guardiansGroupId = settings.feature_guardians_group_id ? parseInt(settings.feature_guardians_group_id) : null;
if (guardiansGroupId) {
api.getUserGroup(guardiansGroupId)
.then(({ members }) => setGuardiansGroupUserIds(new Set((members || []).map(m => m.id))))
.catch(() => setGuardiansGroupUserIds(null));
}
}).catch(() => {});
api.getUserGroups().then(({ groups }) => setAllUserGroups([...(groups||[])].sort((a,b) => a.name.localeCompare(b.name)))).catch(() => {});
}, [load]);
@@ -690,7 +697,7 @@ export default function UserManagerPage({ isMobile = false, onProfile, onHelp, o
user={view === 'edit' ? editUser : null}
userPass={userPass}
allUserGroups={allUserGroups}
nonMinorUsers={users.filter(u => !u.is_minor && u.status === 'active')}
nonMinorUsers={users.filter(u => !u.is_minor && u.status === 'active' && (guardiansGroupUserIds === null || guardiansGroupUserIds.has(u.id)))}
loginType={loginType}
onDone={() => { load(); goList(); }}
onCancel={goList}