pembatasan jika bukan member divisi pada fitur tugas divisi

No Issues
This commit is contained in:
amel
2024-12-23 16:49:38 +08:00
parent 799fe8c9f2
commit 756c2248fe
6 changed files with 72 additions and 38 deletions

View File

@@ -15,7 +15,7 @@ import EditDivision from './ui/edit_division';
import CreateReport from './ui/create_report';
import ReportDivisionId from './ui/report_division_id';
import { funGetDivisionById, funGetListDivisionByIdDivision, funGetSearchMemberDivision } from './lib/api_division';
import { globalIsAdminDivision } from './lib/val_division';
import { globalIsAdminDivision, globalIsMemberDivision } from './lib/val_division';
import WrapLayoutDivision from './ui/wrap_division';
import TabListDivision from './ui/tab_list_division';
import NavbarListDivision from './ui/navbar_list_division';
@@ -39,7 +39,7 @@ export { ReportDivisionId }
export { funGetDivisionById }
export { funGetListDivisionByIdDivision }
export { funGetSearchMemberDivision }
export { globalIsAdminDivision }
export { globalIsAdminDivision, globalIsMemberDivision }
export { WrapLayoutDivision }
export { TabListDivision }
export { NavbarListDivision }

View File

@@ -2,4 +2,5 @@ import { hookstate } from "@hookstate/core";
import { IFormMemberDivision } from "./type_division";
export const globalMemberDivision = hookstate<IFormMemberDivision[]>([]);
export const globalIsAdminDivision = hookstate<boolean>(false)
export const globalIsAdminDivision = hookstate<boolean>(false)
export const globalIsMemberDivision = hookstate<boolean>(false)

View File

@@ -1,20 +1,23 @@
'use client'
import { useHookstate } from "@hookstate/core";
import { useShallowEffect } from "@mantine/hooks";
import { globalIsAdminDivision } from "../lib/val_division";
import { globalIsAdminDivision, globalIsMemberDivision } from "../lib/val_division";
import { funGetDivisionById } from "../lib/api_division";
import { useParams } from "next/navigation";
import { funGetUserByCookies } from "@/module/auth";
export default function WrapLayoutDivision({ children }: { children: React.ReactNode }) {
const isAdmin = useHookstate(globalIsAdminDivision)
const isMember = useHookstate(globalIsMemberDivision)
const param = useParams<{ id: string }>()
const getData = async () => {
const res = await funGetDivisionById(param.id);
const login = await funGetUserByCookies()
const cek = res.data.member.some((i: any) => i.idUser == login.id && i.isAdmin == true)
const cekMember = res.data.member.some((i: any) => i.idUser == login.id)
isAdmin.set(cek)
isMember.set(cekMember)
}
useShallowEffect(() => {