({ kind: "idle" });
@@ -37,11 +38,12 @@ export function LarkBindPage({ token }: { token: string | null }) {
setState({ kind: "error", reason: "missing_token" });
return;
}
+ if (isAuthLoading) return;
if (!user) {
setState({ kind: "needs-auth" });
return;
}
- if (state.kind !== "idle") return;
+ if (state.kind !== "idle" && state.kind !== "needs-auth") return;
setState({ kind: "redeeming" });
(async () => {
try {
@@ -58,7 +60,7 @@ export function LarkBindPage({ token }: { token: string | null }) {
});
}
})();
- }, [token, user, state.kind]);
+ }, [token, user, isAuthLoading, state.kind]);
return (
@@ -76,7 +78,7 @@ export function LarkBindPage({ token }: { token: string | null }) {
size="sm"
onClick={() =>
navigation.push(
- `/login?redirect=${encodeURIComponent(
+ `/login?next=${encodeURIComponent(
`/lark/bind?token=${encodeURIComponent(token ?? "")}`,
)}`,
)