Created a simple permissions system for users

This commit is contained in:
Tiago Ribeiro
2023-05-17 16:32:52 +01:00
parent 4b5c99c654
commit f579b244bf
7 changed files with 12 additions and 10 deletions

View File

@@ -190,7 +190,7 @@ export default function Page() {
<ToastContainer />
{user && (
<main className="w-full h-full min-h-[100vh] flex flex-col items-center bg-neutral-100 text-black pb-4 gap-4">
<Navbar profilePicture={user.profilePicture} timer={exam ? timer : undefined} />
<Navbar userType={user.type} profilePicture={user.profilePicture} timer={exam ? timer : undefined} />
{renderScreen()}
</main>
)}

View File

@@ -94,9 +94,9 @@ export default function History({user}: {user: User}) {
<link rel="icon" href="/favicon.ico" />
</Head>
<main className="w-full h-full min-h-[100vh] flex flex-col bg-neutral-100 text-black">
<Navbar profilePicture={user.profilePicture} />
<Navbar userType={user.type} profilePicture={user.profilePicture} />
<div className="w-fit self-center">
{!isUsersLoading && (
{!isUsersLoading && user.type !== "student" && (
<Dropdown value={selectedUser} options={users} optionLabel="name" onChange={(e) => setSelectedUser(e.target.value)} />
)}
</div>

View File

@@ -54,7 +54,7 @@ export default function Home() {
</Head>
{user && (
<main className="w-full h-full min-h-[100vh] flex flex-col items-center bg-neutral-100 text-black">
<Navbar profilePicture={user.profilePicture} showExamEnd={showEndExam} />
<Navbar userType={user.type} profilePicture={user.profilePicture} showExamEnd={showEndExam} />
<div className="w-full h-full p-4 relative flex flex-col gap-8">
<section className="h-full w-full flex lg:gap-8 flex-col lg:flex-row justify-center md:justify-start md:items-start">
<section className="w-full h-full flex items-center">

View File

@@ -37,7 +37,7 @@ export default function Profile({user}: {user: User}) {
<link rel="icon" href="/favicon.ico" />
</Head>
<main className="w-full h-screen flex flex-col items-center bg-neutral-100">
<Navbar profilePicture={user.profilePicture} />
<Navbar userType={user.type} profilePicture={user.profilePicture} />
<div className="w-full h-full flex flex-col items-center justify-center p-4 relative">
<section className="bg-white drop-shadow-xl p-4 rounded-xl w-96 flex flex-col items-center">
<Avatar image={user.profilePicture} size="xlarge" shape="circle" />

View File

@@ -56,9 +56,9 @@ export default function Stats({user}: {user: User}) {
<link rel="icon" href="/favicon.ico" />
</Head>
<main className="w-full h-full min-h-[100vh] flex flex-col items-center bg-neutral-100 text-neutral-600">
<Navbar profilePicture={user.profilePicture} />
<Navbar userType={user.type} profilePicture={user.profilePicture} />
<div className="w-full h-full flex flex-col items-center justify-center p-4 relative gap-8">
{!isLoading && (
{!isLoading && user.type !== "student" && (
<AutoComplete
value={autocompleteValue}
suggestions={items}

View File

@@ -67,7 +67,7 @@ export default function Users({user}: {user: User}) {
<link rel="icon" href="/favicon.ico" />
</Head>
<main className="w-full h-full min-h-[100vh] flex flex-col items-center bg-neutral-100">
<Navbar profilePicture={user.profilePicture} />
<Navbar userType={user.type} profilePicture={user.profilePicture} />
<div className="w-full h-full flex flex-col items-center justify-center p-4 relative">
<DataTable
dataKey="id"