Async error while not using any
Unanswered
Pacific sand lance posted this in #help-forum
Pacific sand lanceOP
Hey i was trying to get an isAdmin from a user's session in order for the user to access the admin page if given clearance, the code seems fine but it returns an error saying
Here is my page.js code
my layout.js code
note : I also have an another client component who is just as similar but have no issues with it
Unhandled Runtime Error
Error: async/await is not yet supported in Client Components, only Server Components.Here is my page.js code
'use client'
import AdminNav from "@/components/admincomponents/adminnavbar";
import Dashboard from "@/components/admincomponents/dashboard";
import LoadingPage from "@/components/loading";
import { useSession } from "next-auth/react";
import { useRouter } from "next/navigation";
import { useEffect } from "react";
export default function Admin() {
const router = useRouter()
const {data: session, status} = useSession()
const adminRole = session?.user.isadmin
useEffect(() => {
if (status === 'loading') return
if (!adminRole) {
router.push('/')
}
}, [adminRole, status])
if (status === 'loading') {
return (
<LoadingPage />
)
}
return (
<>
<AdminNav/>
</>
)
}my layout.js code
import '../globals.css'
import Favicon from '../../public/favicon.ico'
import localFont from 'next/font/local'
import { config } from '@fortawesome/fontawesome-svg-core'
import '@fortawesome/fontawesome-svg-core/styles.css'
import NextAuthSessionProvider from '@/components/SessionProvider'
require('dotenv').config()
config.autoAddCss = false
const myFont = localFont({ src: 'font.ttf' })
export const metadata = {
//
}
export default async function AdminLayout({ children }) {
return (
<html lang="en">
<body className={myFont.className}>
<NextAuthSessionProvider>{children}</NextAuthSessionProvider>
</body>
</html>
)
}note : I also have an another client component who is just as similar but have no issues with it