/
githubmirror
/
Open-Assistant
Обзор
Документация
Войти
/
githubmirror
/
Open-Assistant
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
website/src/components/AdminArea.tsx
32 строки
808 B
notmd
UI for message searching (#3244)
28 май 2023, 14:38
Не верифицирован
28 май 2023, 14:38
54f4408
Код
Авторство
О чём код?
import { useRouter } from "next/router"; import { useSession } from "next-auth/react"; import { ReactNode, useEffect } from "react"; import { SWRConfig, SWRConfiguration } from "swr"; const swrConfig: SWRConfiguration = { revalidateOnFocus: true, revalidateOnMount: true, }; export const AdminArea = ({ children }: { children: ReactNode }) => { const router = useRouter(); const { data: session, status } = useSession(); useEffect(() => { if (status === "loading") { return; } const role = session?.user.role; if (role === "admin" || role === "moderator") { return; } router.push("/"); }, [router, session, status]); return ( <SWRConfig value={swrConfig}> <main>{status === "loading" ? "loading..." : children}</main> </SWRConfig> ); };