Initial commit: Gravl MVP med onboarding

This commit is contained in:
2026-01-31 23:33:20 +01:00
commit 032cca851d
3461 changed files with 634124 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
import { useState } from 'react';
import { useNavigate, Link } from 'react-router-dom';
import { useAuth } from '../context/AuthContext';
export default function RegisterPage() {
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const [error, setError] = useState('');
const [loading, setLoading] = useState(false);
const { register } = useAuth();
const navigate = useNavigate();
const handleSubmit = async (e) => {
e.preventDefault();
setError('');
setLoading(true);
try {
await register(email, password);
navigate('/onboarding');
} catch (err) {
setError(err.message);
}
setLoading(false);
};
return (
<div className="auth-page">
<div className="auth-card">
<h1>🏋 Gravl</h1>
<h2>Skapa konto</h2>
{error && <div className="error">{error}</div>}
<form onSubmit={handleSubmit}>
<input type="email" placeholder="E-post" value={email} onChange={e => setEmail(e.target.value)} required />
<input type="password" placeholder="Lösenord" value={password} onChange={e => setPassword(e.target.value)} required minLength={6} />
<button type="submit" disabled={loading}>{loading ? 'Skapar...' : 'Skapa konto'}</button>
</form>
<p className="auth-link">Har redan konto? <Link to="/login">Logga in</Link></p>
</div>
</div>
);
}