import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { getMe } from "@/lib/api"; import { DeviceForm } from "./device-form"; export const metadata: Metadata = { title: "Sign T5DE in" }; type Search = { user_code?: string | string[]; code?: string | string[] }; export default async function Device({ searchParams }: { searchParams: Promise }) { const search = await searchParams; // Better Auth's verification link carries user_code; ?code= is shorter to type. const code = [search.user_code, search.code].find((c) => typeof c === "string") ?? ""; const me = await getMe(); if (!me) { const here = code ? `/device?code=${encodeURIComponent(code)}` : "/device"; redirect(`/signin?next=${encodeURIComponent(here)}`); } return ; }