UNPKG

nodemda-js-react-mantine

Version:

NodeMDA plugin to React frontend using Mantine UI components

52 lines (46 loc) 1.41 kB
import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { loginUser } from '../api/LoginApi'; import { TextInput, Button, Alert } from '@mantine/core'; function LoginPage() { const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(null); const navigate = useNavigate(); const handleSubmit = async (event) => { event.preventDefault(); setError(null); try { await loginUser(username, password); navigate('/'); // Use the navigate function to redirect } catch (error) { console.error('Error during login:', error); setError('Invalid username or password'); } }; return ( <div style={{ maxWidth: 400, margin: 'auto', padding: '1rem' }}> <h2>Login</h2> {error && <Alert color="red">{error}</Alert>} <form onSubmit={handleSubmit}> <TextInput label="Username" value={username} onChange={(e) => setUsername(e.target.value)} required /> <TextInput label="Password" type="password" value={password} onChange={(e) => setPassword(e.target.value)} required /> <Button type="submit" fullWidth mt="md"> Login </Button> </form> </div> ); } export default LoginPage;