Files
MineGeo/app/pair/page.tsx

39 lines
1.0 KiB
TypeScript

import { Header, Footer } from "@/components/Shell";
import { Pairing } from "@/components/Pairing";
import { SignIn } from "@/components/SignIn";
import { user } from "@/lib/supabase";
export default async function Pair({
searchParams,
}: {
searchParams: Promise<{ code?: string }>;
}) {
const { code } = await searchParams;
const account = await user();
return (
<>
<Header />
<main className="section page-content">
{!account ? (
<>
<p className="muted">
Sign in first, then reopen the pairing link from Minecraft.
</p>
<SignIn
next={
code && /^[A-F0-9]{8}$/.test(code)
? `/pair?code=${code}`
: "/dashboard"
}
/>
</>
) : code && /^[A-F0-9]{8}$/.test(code) ? (
<Pairing code={code} />
) : (
<p>Open the pairing link shown by your Fabric mod.</p>
)}
</main>
<Footer />
</>
);
}