aboutsummaryrefslogtreecommitdiff
path: root/app/src/components/Login.tsx
diff options
context:
space:
mode:
authorParker <contact@pkrm.dev>2024-11-11 20:29:56 -0600
committerParker <contact@pkrm.dev>2024-11-11 20:29:56 -0600
commit918a04076fa582200cc5b5b542f6d7b47c0fa5e0 (patch)
tree67ab9243785b549225f273f8961694c76157060a /app/src/components/Login.tsx
parentc0b5500f007b0ec7a116a5dd20083e66cba7409e (diff)
Fix formatting - mainly spacing
Diffstat (limited to 'app/src/components/Login.tsx')
-rw-r--r--app/src/components/Login.tsx151
1 files changed, 78 insertions, 73 deletions
diff --git a/app/src/components/Login.tsx b/app/src/components/Login.tsx
index a3e5cf9..2a81295 100644
--- a/app/src/components/Login.tsx
+++ b/app/src/components/Login.tsx
@@ -5,82 +5,87 @@ import { useNavigate } from 'react-router-dom';
import axios from 'axios';
function Login() {
- document.title = 'LinkLogger | Login'
+ document.title = 'LinkLogger | Login';
- const [username, setUsername] = useState('');
- const [password, setPassword] = useState('');
- const [isSubmitting, setIsSubmitting] = useState(false);
- const [error, setError] = useState<string | null>(null);
- const navigate = useNavigate();
+ const [username, setUsername] = useState('');
+ const [password, setPassword] = useState('');
+ const [isSubmitting, setIsSubmitting] = useState(false);
+ const [error, setError] = useState<string | null>(null);
+ const navigate = useNavigate();
- const handleSubmit = async (e: FormEvent<HTMLFormElement>) => {
- e.preventDefault();
- setIsSubmitting(true);
- try {
- const res = await axios.post(
- '/api/auth/token',
- new URLSearchParams({
- username: username,
- password: password,
- }),
- {
- headers: {
- 'Content-Type': 'application/x-www-form-urlencoded',
- },
- }
- );
-
- if (res.status === 200) {
- navigate('/dashboard');
- }
- } catch (error: unknown) {
- if (axios.isAxiosError(error)) {
- const customErrorMessage = error.response?.data?.detail || null;
- setPassword('');
- setError(customErrorMessage || 'An error occurred. Please try again.');
- } else {
- setPassword('');
- setError('Unknown error. Please try again.');
- }
- } finally {
- setIsSubmitting(false);
+ const handleSubmit = async (e: FormEvent<HTMLFormElement>) => {
+ e.preventDefault();
+ setIsSubmitting(true);
+ try {
+ const res = await axios.post(
+ '/api/auth/token',
+ new URLSearchParams({
+ username: username,
+ password: password,
+ }),
+ {
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded',
+ },
}
- };
+ );
+
+ if (res.status === 200) {
+ navigate('/dashboard');
+ }
+ } catch (error: unknown) {
+ if (axios.isAxiosError(error)) {
+ const customErrorMessage = error.response?.data?.detail || null;
+ setPassword('');
+ setError(customErrorMessage || 'An error occurred. Please try again.');
+ } else {
+ setPassword('');
+ setError('Unknown error. Please try again.');
+ }
+ } finally {
+ setIsSubmitting(false);
+ }
+ };
- return (
- <div id={styles.container}>
- <p id={styles.loginText}>Log In</p>
- <p id={styles.error} className={error ? 'visible' : 'hidden'}>
- {error}
- </p>
- <div>
- <header>
- <hr></hr>
- <form onSubmit={handleSubmit}>
- <input
- type="text"
- placeholder="username"
- value={username}
- onChange={(e) => setUsername(e.target.value)}
- required
- />
- <input
- type="password"
- placeholder="password"
- value={password}
- onChange={(e) => setPassword(e.target.value)}
- required
- />
- <button type="submit" disabled={isSubmitting}>
- {isSubmitting ? 'Submitting...' : 'Submit'}
- </button>
- </form>
- <hr></hr>
- <p id={styles.bottomText}>Don't have an account? <Link to="/signup" className={styles.link}>Create one now</Link></p>
- </header>
- </div>
- </div>
- );
+ return (
+ <div id={styles.container}>
+ <p id={styles.loginText}>Log In</p>
+ <p id={styles.error} className={error ? 'visible' : 'hidden'}>
+ {error}
+ </p>
+ <div>
+ <header>
+ <hr></hr>
+ <form onSubmit={handleSubmit}>
+ <input
+ type="text"
+ placeholder="username"
+ value={username}
+ onChange={(e) => setUsername(e.target.value)}
+ required
+ />
+ <input
+ type="password"
+ placeholder="password"
+ value={password}
+ onChange={(e) => setPassword(e.target.value)}
+ required
+ />
+ <button type="submit" disabled={isSubmitting}>
+ {isSubmitting ? 'Submitting...' : 'Submit'}
+ </button>
+ </form>
+ <hr></hr>
+ <p id={styles.bottomText}>
+ Don't have an account?{' '}
+ <Link to="/signup" className={styles.link}>
+ Create one now
+ </Link>
+ </p>
+ </header>
+ </div>
+ </div>
+ );
}
-export default Login; \ No newline at end of file
+export default Login;