cleanup 4
continuous-integration/drone/pr Build is failing

This commit is contained in:
2026-07-03 18:41:49 -04:00
parent 232a821dc0
commit c9c9563a1f
24 changed files with 313 additions and 387 deletions
+6 -49
View File
@@ -1,44 +1,14 @@
import { useState, SyntheticEvent, useEffect } from 'react';
import { useEffect } from 'react';
import { useNavigate } from 'react-router-dom';
import { useAuth } from '../auth/AuthContext';
import { useToasts } from '../components/ToastContext';
import { useGetInfo } from '../generated/anthoLumeAPIV1';
import { useAuthForm } from '../hooks/useAuthForm';
import { AuthFormView, authFormFooter } from './AuthFormView';
export function getRegistrationEnabled(infoData: unknown): boolean {
if (!infoData || typeof infoData !== 'object') {
return false;
}
if (!('data' in infoData) || !infoData.data || typeof infoData.data !== 'object') {
return false;
}
if (
!('registration_enabled' in infoData.data) ||
typeof infoData.data.registration_enabled !== 'boolean'
) {
return false;
}
return infoData.data.registration_enabled;
}
export default function LoginPage() {
const [username, setUsername] = useState('');
const [password, setPassword] = useState('');
const [isLoading, setIsLoading] = useState(false);
const { login, isAuthenticated, isCheckingAuth } = useAuth();
const { isAuthenticated, isCheckingAuth } = useAuth();
const navigate = useNavigate();
const { showError } = useToasts();
const { data: infoData } = useGetInfo({
query: {
staleTime: Infinity,
},
});
const registrationEnabled = getRegistrationEnabled(infoData);
const { username, password, isLoading, registrationEnabled, setUsername, setPassword, submit } =
useAuthForm('login');
useEffect(() => {
if (!isCheckingAuth && isAuthenticated) {
@@ -46,19 +16,6 @@ export default function LoginPage() {
}
}, [isAuthenticated, isCheckingAuth, navigate]);
const handleSubmit = async (e: SyntheticEvent<HTMLFormElement>) => {
e.preventDefault();
setIsLoading(true);
try {
await login(username, password);
} catch (_err) {
showError('Invalid credentials');
} finally {
setIsLoading(false);
}
};
return (
<AuthFormView
username={username}
@@ -66,7 +23,7 @@ export default function LoginPage() {
isLoading={isLoading}
onUsernameChange={setUsername}
onPasswordChange={setPassword}
onSubmit={handleSubmit}
onSubmit={submit}
submitLabel="Login"
submittingLabel="Logging in..."
footer={authFormFooter({ to: '/register', text: 'Register here.' }, registrationEnabled)}