From a97106be6434cda79889621ee60bf8febd93d6dc Mon Sep 17 00:00:00 2001 From: amel Date: Tue, 24 Dec 2024 10:50:13 +0800 Subject: [PATCH] upd: calender divisi Deskripsi: - update akses user yg bukan anggota divisi pada fitur calender No Issues --- .../calender/ui/dawer_division_calender.tsx | 28 +++++++++++-------- .../calender/ui/detail_event_division.tsx | 14 +++++++--- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/module/calender/ui/dawer_division_calender.tsx b/src/module/calender/ui/dawer_division_calender.tsx index 909a278..5f210e6 100644 --- a/src/module/calender/ui/dawer_division_calender.tsx +++ b/src/module/calender/ui/dawer_division_calender.tsx @@ -1,4 +1,5 @@ -import { TEMA } from '@/module/_global'; +import { globalRole, TEMA } from '@/module/_global'; +import { globalIsMemberDivision } from '@/module/division_new'; import { useHookstate } from '@hookstate/core'; import { Box, Flex, SimpleGrid, Stack, Text } from '@mantine/core'; import { useParams } from 'next/navigation'; @@ -7,22 +8,25 @@ import { AiOutlineFileSearch } from 'react-icons/ai'; import { IoAddCircle } from 'react-icons/io5'; export default function DawerDivisionCalender() { + const roleLogin = useHookstate(globalRole) + const memberDivision = useHookstate(globalIsMemberDivision) const param = useParams<{ id: string }>() const tema = useHookstate(TEMA) return ( - - window.location.href = `/division/${param.id}/calender/create`} justify={'center'} align={'center'} direction={'column'} > - - - - - Tambah Acara - - + + { + (roleLogin.get() == "user" || roleLogin.get() == "coadmin") && !memberDivision.get() ? <> : + window.location.href = `/division/${param.id}/calender/create`} justify={'center'} align={'center'} direction={'column'} > + + + + + Tambah Acara + + + } window.location.href = `/division/${param.id}/calender/history`} justify={'center'} align={'center'} direction={'column'} > diff --git a/src/module/calender/ui/detail_event_division.tsx b/src/module/calender/ui/detail_event_division.tsx index d7db21b..a118117 100644 --- a/src/module/calender/ui/detail_event_division.tsx +++ b/src/module/calender/ui/detail_event_division.tsx @@ -1,5 +1,5 @@ 'use client' -import { keyWibu, LayoutDrawer, LayoutNavbarNew, SkeletonList, TEMA } from '@/module/_global'; +import { globalRole, keyWibu, LayoutDrawer, LayoutNavbarNew, SkeletonList, TEMA } from '@/module/_global'; import LayoutModal from '@/module/_global/layout/layout_modal'; import { useHookstate } from '@hookstate/core'; import { ActionIcon, Avatar, Box, Center, CopyButton, Divider, Flex, Grid, Group, SimpleGrid, Spoiler, Stack, Text, Tooltip } from '@mantine/core'; @@ -21,6 +21,7 @@ import { funDeleteMemberCalender, funGetOneCalender } from '../lib/api_calender' import { IDataDetailByIdCalender, IDataDetailByIdMember } from '../lib/type_calender'; import DrawerDetailEvent from './drawer_detail_event'; import SkeletonDetailEvent from './skeleton_detail_event'; +import { globalIsMemberDivision } from '@/module/division_new'; export default function DetailEventDivision() { const param = useParams<{ id: string, detail: string }>() @@ -34,6 +35,8 @@ export default function DetailEventDivision() { const router = useRouter() const [dataChoose, setDataChoose] = useState({ id: '', name: '' }) const tema = useHookstate(TEMA) + const roleLogin = useHookstate(globalRole) + const memberDivision = useHookstate(globalIsMemberDivision) const isMobile2 = useMediaQuery("(max-width: 460px)"); const isMobile = useMediaQuery('(max-width: 369px)'); const [loadingDelete, setLoadingDelete] = useState(false) @@ -105,9 +108,12 @@ export default function DetailEventDivision() { return ( setOpenDrawer(true)} bg={tema.get().bgIcon} size="lg" radius="lg" aria-label="Settings"> - - } /> + menu={ + (roleLogin.get() == "user" || roleLogin.get() == "coadmin") && !memberDivision.get() ? <> + : + setOpenDrawer(true)} bg={tema.get().bgIcon} size="lg" radius="lg" aria-label="Settings"> + + } /> {loading ?