import { CardContent, Card } from '@/components/ui/card'; import { db } from '@/server/db'; import { sessions, storedContent, userStoredContent, users, } from '@/server/db/schema'; import { eq, inArray } from 'drizzle-orm'; import { cookies, headers } from 'next/headers'; import { redirect } from 'next/navigation'; import Image from 'next/image'; import QueryAI from '@/components/QueryAI'; import MessagePoster from './MessagePoster'; export const runtime = 'edge'; export default async function Home() { const token = cookies().get('next-auth.session-token')?.value ?? cookies().get('__Secure-authjs.session-token')?.value ?? cookies().get('authjs.session-token')?.value ?? headers().get('Authorization')?.replace('Bearer ', ''); if (!token) { return redirect('/api/auth/signin'); } const session = await db .select() .from(sessions) .where(eq(sessions.sessionToken, token!)); if (!session || session.length === 0) { return redirect('/api/auth/signin'); } const userContent = await db .select() .from(userStoredContent) .where(eq(userStoredContent.userId, session[0].userId)); const userData = await db .select() .from(users) .where(eq(users.id, session[0].userId)) .limit(1); if (!userData || userData.length === 0) { return redirect('/api/auth/signin'); } const listOfContent = userContent.map((content) => content.contentId).length > 0 ? userContent.map((content) => content.contentId) : [1]; const posts = await db .select() .from(storedContent) .where(inArray(storedContent.id, listOfContent)); return (
logo

SuperMemory

Remember that one thing you read a while ago? We got you covered. Add the extension, click a button and I'll remember it for you.{' '} Get the Extension
{/* TODO: LABEL THE WEBSITES USING A CLASSIFICATION MODEL */} {/* */}
{posts.reverse().map((post) => ( Not found

{post.title}

{post.baseUrl}

{post.description}

))}
); }