CoastalCommitsPastes/client/app/mine/page.tsx
2022-12-04 01:31:51 -08:00

30 lines
773 B
TypeScript

import { redirect } from "next/navigation"
import { getPostsByUser, User } from "@lib/server/prisma"
import PostList from "@components/post-list"
import { getCurrentUser } from "@lib/server/session"
import { authOptions } from "@lib/server/auth"
import { cache } from "react"
const cachedGetPostsByUser = cache(
async (userId: User["id"]) => await getPostsByUser(userId, true)
)
export default async function Mine() {
const userId = (await getCurrentUser())?.id
if (!userId) {
return redirect(authOptions.pages?.signIn || "/new")
}
const posts = await cachedGetPostsByUser(userId)
const hasMore = false
const stringifiedPosts = JSON.stringify(posts)
return (
<PostList
userId={userId}
morePosts={hasMore}
initialPosts={stringifiedPosts}
/>
)
}