mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 20:29:06 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f0ee7b531a |
@@ -2,13 +2,19 @@
|
||||
|
||||
import { Spinner, Link } from "@chakra-ui/react";
|
||||
import { useAuth } from "../lib/AuthProvider";
|
||||
import { usePathname } from "next/navigation";
|
||||
import { getLogoutRedirectUrl } from "../lib/auth";
|
||||
|
||||
export default function UserInfo() {
|
||||
const auth = useAuth();
|
||||
const pathname = usePathname();
|
||||
const status = auth.status;
|
||||
const isLoading = status === "loading";
|
||||
const isAuthenticated = status === "authenticated";
|
||||
const isRefreshing = status === "refreshing";
|
||||
|
||||
const callbackUrl = getLogoutRedirectUrl(pathname);
|
||||
|
||||
return isLoading ? (
|
||||
<Spinner size="xs" className="mx-3" />
|
||||
) : !isAuthenticated && !isRefreshing ? (
|
||||
@@ -26,7 +32,7 @@ export default function UserInfo() {
|
||||
<Link
|
||||
href="#"
|
||||
className="font-light px-2"
|
||||
onClick={() => auth.signOut({ callbackUrl: "/" })}
|
||||
onClick={() => auth.signOut({ callbackUrl })}
|
||||
>
|
||||
Log out
|
||||
</Link>
|
||||
|
||||
@@ -18,3 +18,8 @@ export const LOGIN_REQUIRED_PAGES = [
|
||||
export const PROTECTED_PAGES = new RegExp(
|
||||
LOGIN_REQUIRED_PAGES.map((page) => `^${page}$`).join("|"),
|
||||
);
|
||||
|
||||
export function getLogoutRedirectUrl(pathname: string): string {
|
||||
const transcriptPagePattern = /^\/transcripts\/[^/]+$/;
|
||||
return transcriptPagePattern.test(pathname) ? pathname : "/";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user