diff --git a/src/routes/callback/index.tsx b/src/routes/callback/index.tsx
index 5ebbeb9..85491a8 100644
--- a/src/routes/callback/index.tsx
+++ b/src/routes/callback/index.tsx
@@ -1,4 +1,7 @@
import { createFileRoute, useNavigate } from "@tanstack/react-router";
+import { useEffect } from "react";
+
+import { useAuth } from "~/providers/UnifiedAuthProvider";
export const Route = createFileRoute("/callback/")({
component: RouteComponent,
@@ -6,8 +9,28 @@ export const Route = createFileRoute("/callback/")({
function RouteComponent() {
const navigate = useNavigate();
- const redirectPath = sessionStorage.getItem("postLoginRedirect") || "/";
- navigate({ to: redirectPath });
- sessionStorage.removeItem("postLoginRedirect");
- return
Hello "/callback/"!
;
+ const { status } = useAuth();
+
+ // bug: tanstack router after commit 8ffb94077b6bee832565fa60357be6504e1809d8
+ // cant handle synchronoous navigation (url change works, actual router doesnt)
+ useEffect(() => {
+ if (status === "loading") return;
+
+ // const redirectPath = sessionStorage.getItem("postLoginRedirect");
+ sessionStorage.removeItem("postLoginRedirect");
+
+ // hardcoded assumption that all logins go through the settings page
+ // related bug: useAuth status initially reports signedOut on callback route auth initialization
+ navigate({ to: "/settings" });
+
+ // not needed yet
+ // const [path, query] = (redirectPath ?? "/").split("?");
+ // const search = query
+ // ? Object.fromEntries(new URLSearchParams(query))
+ // : undefined;
+ // navigate({ to: path || "/", search });
+ return
+ }, [status, navigate]);
+
+ return Signing you in...
;
}