feat: proper redirect handling

This commit is contained in:
2025-05-29 14:17:09 +02:00
parent 8364a8e9ec
commit 807d7538a0
10 changed files with 106 additions and 53 deletions

View File

@ -1,7 +1,7 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import { Card, CardContent } from "@/components/ui/card";
import { Mail, Lock } from "lucide-react";
import { Link, useLocation, useNavigate } from "react-router-dom";
import { Link, useLocation } from "react-router-dom";
import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button";
@ -34,7 +34,6 @@ export default function LoginPage() {
const repo = useAccountRepo();
const location = useLocation();
const navigate = useNavigate();
const updateActiveAccount = useAuth((state) => state.updateActiveAccount);
@ -68,10 +67,6 @@ export default function LoginPage() {
oauth.selectSession(response.access);
await updateActiveAccount(account);
if (!location.state?.from) {
navigate("/");
}
} catch (err: any) {
console.log(err);
setError(
@ -82,7 +77,7 @@ export default function LoginPage() {
setLoading(false);
}
},
[repo, reset, oauth, updateActiveAccount, location.state?.from, navigate]
[repo, reset, oauth, updateActiveAccount]
);
return (
@ -173,7 +168,11 @@ export default function LoginPage() {
</Button>
<div className="text-sm text-center text-gray-600">
Don't have an account?{" "}
<Link to="/register" className="text-blue-600 hover:underline">
<Link
to="/register"
state={location.state}
className="text-blue-600 hover:underline"
>
Register
</Link>
</div>