CoastalCommitsPastes/client/app/admin/page.tsx

40 lines
865 B
TypeScript
Raw Normal View History

import { getAllPosts, getAllUsers } from "@lib/server/prisma"
import { getCurrentUser } from "@lib/server/session"
import { notFound } from "next/navigation"
2022-11-14 04:34:17 -05:00
import styles from "./components/admin.module.css"
import PostTable from "./components/post-table"
import UserTable from "./components/user-table"
2022-11-14 04:34:17 -05:00
const AdminPage = async () => {
const user = await getCurrentUser()
if (!user) {
return notFound()
}
if (user.role !== "admin") {
return notFound()
}
const posts = await getAllPosts()
const users = await getAllUsers()
2022-04-09 20:48:19 -04:00
return (
<div className={styles.adminWrapper}>
<h2>Administration</h2>
<div
style={{
display: "flex",
flexDirection: "column",
alignItems: "center",
2022-11-14 20:32:32 -05:00
gap: "var(--gap)",
}}
>
<UserTable users={users} />
<PostTable posts={posts} />
</div>
2022-04-09 20:48:19 -04:00
</div>
)
}
2022-11-14 04:34:17 -05:00
export default AdminPage