Merge pull request 'auto connects user to session if available' (#26) from auto-session into master
Reviewed-on: #26
This commit was merged in pull request #26.
This commit is contained in:
@@ -23,26 +23,22 @@ const pageConfig: Record<
|
|||||||
string,
|
string,
|
||||||
{
|
{
|
||||||
showAuthStatus: boolean;
|
showAuthStatus: boolean;
|
||||||
showSessionChecker: boolean;
|
|
||||||
showNav: boolean;
|
showNav: boolean;
|
||||||
showQuota: boolean;
|
showQuota: boolean;
|
||||||
}
|
}
|
||||||
> = {
|
> = {
|
||||||
"/nominations": {
|
"/nominations": {
|
||||||
showAuthStatus: true,
|
showAuthStatus: true,
|
||||||
showSessionChecker: false,
|
|
||||||
showQuota: true,
|
showQuota: true,
|
||||||
showNav: navToggle,
|
showNav: navToggle,
|
||||||
},
|
},
|
||||||
"/mobile-voting": {
|
"/mobile-voting": {
|
||||||
showAuthStatus: false,
|
showAuthStatus: false,
|
||||||
showSessionChecker: false,
|
|
||||||
showQuota: false,
|
showQuota: false,
|
||||||
showNav: false,
|
showNav: false,
|
||||||
},
|
},
|
||||||
"/lobby": {
|
"/lobby": {
|
||||||
showAuthStatus: true,
|
showAuthStatus: true,
|
||||||
showSessionChecker: false,
|
|
||||||
showQuota: true,
|
showQuota: true,
|
||||||
showNav: navToggle,
|
showNav: navToggle,
|
||||||
},
|
},
|
||||||
@@ -60,7 +56,7 @@ function LayoutContent({ children }: { children: React.ReactNode }) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{config.showSessionChecker && <SessionChecker />}
|
<SessionChecker />
|
||||||
{config.showAuthStatus && <AuthStatus />}
|
{config.showAuthStatus && <AuthStatus />}
|
||||||
{children}
|
{children}
|
||||||
{config.showNav && <NavigationBar />}
|
{config.showNav && <NavigationBar />}
|
||||||
|
|||||||
@@ -11,44 +11,28 @@ import getSessionId from "muzak/data/session";
|
|||||||
export default function SessionChecker() {
|
export default function SessionChecker() {
|
||||||
const auth = useAuth();
|
const auth = useAuth();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const path = usePathname();
|
||||||
|
|
||||||
const [isSession, setIsSession] = useState(false);
|
|
||||||
const [link, setLink] = useState("/lobby");
|
|
||||||
const { sessionId, setSessionId } = useSession();
|
const { sessionId, setSessionId } = useSession();
|
||||||
|
|
||||||
// async function getSessions() {
|
async function getSessions() {
|
||||||
// if (!auth.isLoading && !auth.error && auth.isAuthenticated) {
|
if (!auth.isLoading && !auth.error && auth.isAuthenticated) {
|
||||||
// const { data: sessions } = await api?.sessions?.list({});
|
const { data: sessions } = await api?.sessions?.list({});
|
||||||
// console.log(sessions);
|
console.log(sessions);
|
||||||
// if (sessions?.length > 0) {
|
if (sessions?.length > 0) {
|
||||||
// setIsSession(true);
|
const user = getUser();
|
||||||
// const user = getUser();
|
setSessionId(sessions[0].session_id);
|
||||||
// setSessionId(sessions[0].session_id);
|
if (sessions[0].host !== user?.profile?.email) {
|
||||||
// if (sessions[0].host === user?.profile?.email) {
|
if (path !== "/mobile-voting") {
|
||||||
// setLink("/lobby");
|
router.push("/mobile-voting");
|
||||||
// } else {
|
}
|
||||||
// setLink("/session");
|
}
|
||||||
// }
|
}
|
||||||
// } else {
|
}
|
||||||
// setIsSession(false);
|
}
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
//getSessionId();
|
getSessions();
|
||||||
console.log("hheufheufh");
|
}, [auth, path]);
|
||||||
}, [auth]);
|
|
||||||
|
|
||||||
if (sessionId) {
|
|
||||||
return (
|
|
||||||
<Link
|
|
||||||
href={link}
|
|
||||||
className="bold text-l absolute top-2 left-2 rounded-[50%] bg-red-500 p-3 font-bold text-white"
|
|
||||||
>
|
|
||||||
Session available!
|
|
||||||
</Link>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return <> </>;
|
return <> </>;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user