mirror of
https://github.com/karakeep-app/karakeep.git
synced 2026-02-28 18:25:55 +01:00
29 lines
783 B
TypeScript
29 lines
783 B
TypeScript
"use client";
|
|
|
|
import { useEffect } from "react";
|
|
import { useRouter } from "next/navigation";
|
|
import { api } from "@/lib/trpc";
|
|
|
|
/**
|
|
* This component is used to address a confusion when the JWT token exists but the user no longer exists in the database.
|
|
* So this component synchronusly checks if the user is still valid and if not, signs out the user.
|
|
*/
|
|
export default function ValidAccountCheck() {
|
|
const router = useRouter();
|
|
const { error } = api.users.whoami.useQuery(undefined, {
|
|
retry: (_failureCount, error) => {
|
|
if (error.data?.code === "UNAUTHORIZED") {
|
|
return false;
|
|
}
|
|
return true;
|
|
},
|
|
});
|
|
useEffect(() => {
|
|
if (error?.data?.code === "UNAUTHORIZED") {
|
|
router.push("/logout");
|
|
}
|
|
}, [error]);
|
|
|
|
return <></>;
|
|
}
|