add client/admin pages, show info and created admin api and server actions

This commit is contained in:
2024-04-28 19:32:31 +03:00
parent db66161d81
commit d6b259d71c
33 changed files with 458 additions and 91 deletions

View File

@@ -0,0 +1,23 @@
'use client'
import { UserRole } from '@prisma/client'
import { useCurrentRole } from '@/hooks/useCurrentRole'
import FormError from '@/components/form-error'
interface RoleGateProps {
children: React.ReactNode
allowedRole: UserRole
}
export const RoleGate = ({
children,
allowedRole,
}: RoleGateProps) => {
const role = useCurrentRole()
if (role !== allowedRole) {
return <FormError message="You do not have permission to view this content!"/>
}
return <>{children}</>
}