'use client'; import React, { useCallback, useEffect, useState } from 'react'; import { kratos, LogoutLink } from '@/ory'; import { useRouter } from 'next/navigation'; import { ThemeToggle } from '@/components/themeToggle'; import { Session } from '@ory/client'; import { LogOut } from 'lucide-react'; import { Button } from '@/components/ui/button'; export default function Page() { const router = useRouter(); const [session, setSession] = useState(); const loadSession = useCallback(async () => { console.log(kratos.toSession()); return kratos.toSession(); }, [router]); useEffect(() => { if (session) { return; } loadSession() .then((response) => { console.log(response.data); response.data && setSession(response.data); }) .catch(() => { const authentication_url = process.env.NEXT_PUBLIC_AUTHENTICATION_NODE_URL; const dashboard_url = process.env.NEXT_PUBLIC_AUTHENTICATION_NODE_URL; authentication_url && dashboard_url && router.push(authentication_url + '/flow/login?return_to=' + dashboard_url); }); }, [router, session]); const onLogout = LogoutLink(); return (
); }