import pool from "@/server/db"; import { PrivyClient } from "@privy-io/server-auth"; import { Breadcrumb, BreadcrumbItem, BreadcrumbList, BreadcrumbPage, } from "@/components/ui/breadcrumb"; import { Separator } from "@/components/ui/separator"; import { SidebarInset, SidebarProvider, SidebarTrigger, } from "@/components/ui/sidebar"; import { Chat } from "@/components/chat"; import { SidebarApp } from "@/components/sidebar-app"; import { checkpointToVercelAI } from "@/server/checkpointToVercelAI"; export const getServerSideProps = async ({ req,params }) => { const cookieAuthToken = req.cookies["privy-id-token"]; if (!cookieAuthToken) { return { redirect: { destination: "/onboarding", permanent: false, }, }; } const PRIVY_APP_ID = process.env.NEXT_PUBLIC_PRIVY_APP_ID; const PRIVY_APP_SECRET = process.env.PRIVY_APP_SECRET; const client = new PrivyClient(PRIVY_APP_ID, PRIVY_APP_SECRET); try { const claims = await client.verifyAuthToken(cookieAuthToken); const userId = claims.userId; const dbRes = await pool.query("SELECT userid, publickey, tg_userid, delegated FROM users WHERE userid = $1", [userId]); if (dbRes.rows.length === 0) { return { redirect: { destination: "/onboarding", permanent: false, }, }; } const { delegated } = dbRes.rows[0]; if (!delegated) { return { redirect: { destination: "/onboarding", permanent: false, }, }; } const { chatid } = params; const thread_id = `${userId}-${chatid}` const initialMessages = await checkpointToVercelAI(thread_id) // initial messages logic here return { props: { user: dbRes.rows[0], thread_id, initialMessages }, }; } catch (error) { console.error("Auth verification failed", error); return { redirect: { destination: "/onboarding", permanent: false, }, }; } }; export default function Page({thread_id, initialMessages}) { return (
Wallet: {user.publickey}
//Delegated: {user.delegated ? "Yes" : "No"}
//