diff --git a/src/module/task/ui/detail_list_anggota_task.tsx b/src/module/task/ui/detail_list_anggota_task.tsx index 1f303e4..b1fc81b 100644 --- a/src/module/task/ui/detail_list_anggota_task.tsx +++ b/src/module/task/ui/detail_list_anggota_task.tsx @@ -1,5 +1,5 @@ 'use client' -import { LayoutDrawer, SkeletonSingle, WARNA } from "@/module/_global"; +import { globalRole, LayoutDrawer, SkeletonSingle, WARNA } from "@/module/_global"; import { Box, Group, Flex, Avatar, Text, SimpleGrid, Stack, Grid } from "@mantine/core"; import { useShallowEffect } from "@mantine/hooks"; import { useParams, useRouter } from "next/navigation"; @@ -10,6 +10,8 @@ import { IDataMemberTaskDivision } from "../lib/type_task"; import { FaUser } from "react-icons/fa6"; import { IoIosCloseCircle } from "react-icons/io"; import LayoutModal from "@/module/_global/layout/layout_modal"; +import { useHookstate } from "@hookstate/core"; +import { globalIsAdminDivision } from "@/module/division_new"; export default function ListAnggotaDetailTask() { @@ -20,6 +22,8 @@ export default function ListAnggotaDetailTask() { const [isOpenModal, setOpenModal] = useState(false) const [dataChoose, setDataChoose] = useState({ id: '', name: '' }) const router = useRouter() + const roleLogin = useHookstate(globalRole) + const adminLogin = useHookstate(globalIsAdminDivision) async function getOneData() { try { @@ -140,15 +144,18 @@ export default function ListAnggotaDetailTask() { Lihat profil - - { setOpenModal(true) }} justify={'center'} align={'center'} direction={'column'} > - - - - - Keluarkan anggota - - + { + (roleLogin.get() != "user" && roleLogin.get() != "coadmin") || adminLogin.get() ? + { setOpenModal(true) }} justify={'center'} align={'center'} direction={'column'} > + + + + + Keluarkan anggota + + + : <> + } diff --git a/src/module/task/ui/list_division_task.tsx b/src/module/task/ui/list_division_task.tsx index 76130c1..02bbea4 100644 --- a/src/module/task/ui/list_division_task.tsx +++ b/src/module/task/ui/list_division_task.tsx @@ -1,5 +1,5 @@ import { WARNA } from "@/module/_global"; -import { ActionIcon, Avatar, Badge, Box, Card, Center, Divider, Flex, Grid, Group, Progress, Skeleton, Text, TextInput, Title } from "@mantine/core"; +import { ActionIcon, Avatar, Box, Card, Center, Divider, Flex, Grid, Group, Progress, Skeleton, Text, TextInput, Title } from "@mantine/core"; import { useParams, useRouter, useSearchParams } from "next/navigation"; import { useState } from "react"; import { HiMagnifyingGlass, HiMiniPresentationChartBar, HiOutlineListBullet, HiSquares2X2 } from "react-icons/hi2"; @@ -67,6 +67,7 @@ export default function ListDivisionTask() { radius={30} leftSection={} placeholder="Pencarian" + onChange={(val) => setSearchQuery(val.target.value)} /> @@ -181,7 +182,7 @@ export default function ListDivisionTask() { - +{v.member - 1} + {(v.member == 0) ? "0" : "+" + (v.member - 1)} diff --git a/src/module/task/ui/navbar_detail_division_task.tsx b/src/module/task/ui/navbar_detail_division_task.tsx index f7f2356..3159ec9 100644 --- a/src/module/task/ui/navbar_detail_division_task.tsx +++ b/src/module/task/ui/navbar_detail_division_task.tsx @@ -1,5 +1,5 @@ 'use client' -import { LayoutDrawer, LayoutNavbarNew, WARNA } from "@/module/_global"; +import { globalRole, LayoutDrawer, LayoutNavbarNew, WARNA } from "@/module/_global"; import { ActionIcon, Box, Flex, SimpleGrid, Stack, Text } from "@mantine/core"; import { useParams, useRouter } from "next/navigation"; import { useState } from "react"; @@ -10,12 +10,16 @@ import { HiMenu } from "react-icons/hi"; import { IoAddCircle } from "react-icons/io5"; import { FaFileCirclePlus, FaPencil, FaUsers } from "react-icons/fa6"; import { MdCancel } from "react-icons/md"; +import { globalIsAdminDivision } from "@/module/division_new"; +import { useHookstate } from "@hookstate/core"; export default function NavbarDetailDivisionTask() { const router = useRouter() const param = useParams<{ id: string, detail: string }>() const [name, setName] = useState('') const [isOpen, setOpen] = useState(false) + const roleLogin = useHookstate(globalRole) + const adminLogin = useHookstate(globalIsAdminDivision) async function getOneData() { try { @@ -75,22 +79,6 @@ export default function NavbarDetailDivisionTask() { - { - router.push(param.detail + '/add-member') - }} - > - - - - - Tambah anggota - - - - { router.push(param.detail + '/edit') }} - > - - - - - Edit - - + { + (roleLogin.get() != "user" && roleLogin.get() != "coadmin") || adminLogin.get() ? + <> + { router.push(param.detail + '/add-member') }} > + + + + + Tambah anggota + + + + { router.push(param.detail + '/edit') }} > + + + + + Edit + + + + { router.push(param.detail + '/cancel') }} > + + + + + Batal + + + : <> + + } - { router.push(param.detail + '/cancel') }} - > - - - - - Batal - - diff --git a/src/module/task/ui/navbar_division_task.tsx b/src/module/task/ui/navbar_division_task.tsx index 1fbcbe4..dee616f 100644 --- a/src/module/task/ui/navbar_division_task.tsx +++ b/src/module/task/ui/navbar_division_task.tsx @@ -1,21 +1,27 @@ 'use client' -import { LayoutDrawer, LayoutNavbarNew, WARNA } from "@/module/_global"; +import { globalRole, LayoutDrawer, LayoutNavbarNew, WARNA } from "@/module/_global"; import { ActionIcon } from "@mantine/core"; import { useState } from "react"; import { HiMenu } from "react-icons/hi"; import DrawerDivisionTask from "./drawer_division_task"; import { useParams } from "next/navigation"; +import { useHookstate } from "@hookstate/core"; +import { globalIsAdminDivision } from "@/module/division_new"; export default function NavbarDivisionTask() { const [openDrawer, setOpenDrawer] = useState(false) - const param = useParams<{ id: string}>() + const param = useParams<{ id: string }>() + const roleLogin = useHookstate(globalRole) + const adminLogin = useHookstate(globalIsAdminDivision) + return ( <> setOpenDrawer(true)} bg={WARNA.bgIcon} size="lg" radius="lg" aria-label="Settings"> + : <> } /> setOpenDrawer(false)}> diff --git a/src/module/task/ui/tabs_division_task.tsx b/src/module/task/ui/tabs_division_task.tsx index 1519ae6..69b2c48 100644 --- a/src/module/task/ui/tabs_division_task.tsx +++ b/src/module/task/ui/tabs_division_task.tsx @@ -17,26 +17,26 @@ export default function TabsDivisionTask() { const dataStatus = [ { - id: "0", - title: "Segera", - icon: + id: "0", + title: "Segera", + icon: }, { - id: "1", - title: "Dikerjakan", - icon: + id: "1", + title: "Dikerjakan", + icon: }, { - id: "2", - title: "Selesai", - icon: + id: "2", + title: "Selesai", + icon: }, { - id: "3", - title: "Batal", - icon: + id: "3", + title: "Batal", + icon: } - ] + ] return ( @@ -77,7 +77,7 @@ export default function TabsDivisionTask() { color={ status == item.id ? "white" - : WARNA.biruTua + : (status == null && item.id == "0") ? "white" : WARNA.biruTua } onClick={() => { router.push("?status=" + item.id) }} defaultValue={(status == "1" || status == "2" || status == "3") ? status : "0"} @@ -85,7 +85,7 @@ export default function TabsDivisionTask() { bg={ status == item.id ? "#FF9861" - : "transparent" + : (status == null && item.id == "0") ? "#FF9861" : "transparent" } > {item.icon}