"use client"; import Link from "next/link"; import { useAuth } from "react-oidc-context"; import { useState, useEffect, use } from "react"; import { useRouter, usePathname } from "next/navigation"; import { api, Session } from "muzak/data/fetcher"; import { getUser } from "muzak/data/fetcher"; import { useSession } from "muzak/contexts/SessionContext"; import getSessionId from "muzak/data/session"; export default function SessionChecker() { const auth = useAuth(); const router = useRouter(); const path = usePathname(); const { sessionId, setSessionId } = useSession(); async function getSessions() { if (!auth.isLoading && !auth.error && auth.isAuthenticated) { const { data: sessions } = await api?.sessions?.list({}); console.log(sessions); if (sessions?.length > 0) { const user = getUser(); setSessionId(sessions[0].session_id); if (sessions[0].host !== user?.profile?.email) { if (path !== "/mobile-voting") { router.push("/mobile-voting"); } } } } } useEffect(() => { getSessions(); }, [auth, path]); return <> ; }