import { getUser } from "@/auth/auth"; import { getUserInfo } from "@/ldap"; import AboutMe from "./AboutMe"; import { redirect } from "next/navigation"; import { DiscordAuthProvider } from "@/auth/discord"; import { GitHubAuthProvider } from "@/auth/github"; import { AuthProviderState } from "@/auth/AuthProvider"; // this sucks but i'm lazy const discordFallback: AuthProviderState = { name: "Discord", connected: false }; const githubFallback: AuthProviderState = { name: "GitHub", connected: false }; export default async function Page() { const user = await getUser(); if (!user) redirect("/login"); const info = await getUserInfo(user); if (info === null) redirect("/register"); const discord = await user.getDiscord(); const discordState = (await discord?.getState()) ?? discordFallback; const github = await user.getGitHub(); const githubState = (await github?.getState()) ?? githubFallback; const providers = [discordState, githubState]; // not sure how to feel about passing it like this return <AboutMe info={info} providers={providers} />; }