Added permission to codes

This commit is contained in:
Joao Ramos
2024-08-07 10:03:17 +01:00
parent cf91f1812d
commit 0fc2df1070
6 changed files with 97 additions and 67 deletions

View File

@@ -7,6 +7,7 @@ import ExamList from "./ExamList";
import GroupList from "./GroupList";
import PackageList from "./PackageList";
import UserList from "./UserList";
import { checkAccess } from "@/utils/permissions";
export default function Lists({ user }: { user: User }) {
return (
@@ -20,13 +21,13 @@ export default function Lists({ user }: { user: User }) {
"transition duration-300 ease-in-out",
selected
? "bg-white shadow"
: "text-blue-100 hover:bg-white/[0.12] hover:text-mti-purple-dark",
: "text-blue-100 hover:bg-white/[0.12] hover:text-mti-purple-dark"
)
}
>
User List
</Tab>
{user?.type === "developer" && (
{checkAccess(user, ["developer"]) && (
<Tab
className={({ selected }) =>
clsx(
@@ -35,7 +36,7 @@ export default function Lists({ user }: { user: User }) {
"transition duration-300 ease-in-out",
selected
? "bg-white shadow"
: "text-blue-100 hover:bg-white/[0.12] hover:text-mti-purple-dark",
: "text-blue-100 hover:bg-white/[0.12] hover:text-mti-purple-dark"
)
}
>
@@ -50,13 +51,13 @@ export default function Lists({ user }: { user: User }) {
"transition duration-300 ease-in-out",
selected
? "bg-white shadow"
: "text-blue-100 hover:bg-white/[0.12] hover:text-mti-purple-dark",
: "text-blue-100 hover:bg-white/[0.12] hover:text-mti-purple-dark"
)
}
>
Group List
</Tab>
{user && ["developer", "admin", "corporate"].includes(user.type) && (
{checkAccess(user, ["developer", "admin", "corporate"]) && (
<Tab
className={({ selected }) =>
clsx(
@@ -65,14 +66,14 @@ export default function Lists({ user }: { user: User }) {
"transition duration-300 ease-in-out",
selected
? "bg-white shadow"
: "text-blue-100 hover:bg-white/[0.12] hover:text-mti-purple-dark",
: "text-blue-100 hover:bg-white/[0.12] hover:text-mti-purple-dark"
)
}
>
Code List
</Tab>
)}
{user && ["developer", "admin"].includes(user.type) && (
{checkAccess(user, ["developer", "admin"]) && (
<Tab
className={({ selected }) =>
clsx(
@@ -81,14 +82,14 @@ export default function Lists({ user }: { user: User }) {
"transition duration-300 ease-in-out",
selected
? "bg-white shadow"
: "text-blue-100 hover:bg-white/[0.12] hover:text-mti-purple-dark",
: "text-blue-100 hover:bg-white/[0.12] hover:text-mti-purple-dark"
)
}
>
Package List
</Tab>
)}
{user && ["developer", "admin"].includes(user.type) && (
{checkAccess(user, ["developer", "admin"]) && (
<Tab
className={({ selected }) =>
clsx(
@@ -97,7 +98,7 @@ export default function Lists({ user }: { user: User }) {
"transition duration-300 ease-in-out",
selected
? "bg-white shadow"
: "text-blue-100 hover:bg-white/[0.12] hover:text-mti-purple-dark",
: "text-blue-100 hover:bg-white/[0.12] hover:text-mti-purple-dark"
)
}
>
@@ -109,7 +110,7 @@ export default function Lists({ user }: { user: User }) {
<Tab.Panel className="overflow-y-scroll max-h-[600px] rounded-xl scrollbar-hide">
<UserList user={user} />
</Tab.Panel>
{user?.type === "developer" && (
{checkAccess(user, ["developer"]) && (
<Tab.Panel className="overflow-y-scroll max-h-[600px] rounded-xl scrollbar-hide">
<ExamList user={user} />
</Tab.Panel>
@@ -117,17 +118,21 @@ export default function Lists({ user }: { user: User }) {
<Tab.Panel className="overflow-y-scroll max-h-[600px] rounded-xl scrollbar-hide">
<GroupList user={user} />
</Tab.Panel>
{user && ["developer", "admin", "corporate"].includes(user.type) && (
{checkAccess(
user,
["developer", "admin", "corporate", "mastercorporate"],
"viewCodes"
) && (
<Tab.Panel className="overflow-y-scroll max-h-[600px] rounded-xl scrollbar-hide">
<CodeList user={user} />
</Tab.Panel>
)}
{user && ["developer", "admin"].includes(user.type) && (
{checkAccess(user, ["developer", "admin"]) && (
<Tab.Panel className="overflow-y-scroll max-h-[600px] rounded-xl scrollbar-hide">
<PackageList user={user} />
</Tab.Panel>
)}
{user && ["developer", "admin"].includes(user.type) && (
{checkAccess(user, ["developer", "admin"]) && (
<Tab.Panel className="overflow-y-scroll max-h-[600px] rounded-xl scrollbar-hide">
<DiscountList user={user} />
</Tab.Panel>