From b49005880320ee2eaf709fbd5a107f0b79a95d8f Mon Sep 17 00:00:00 2001 From: amel Date: Mon, 8 Jul 2024 17:24:35 +0800 Subject: [PATCH] upd: jabatan Deskripsi: - mengganti header new - mengganti global state dg local state - memberi modal konfirmasi NO Issues --- .../component/ui/drawer_detail_position.tsx | 28 +++++++++++-- .../component/ui/drawer_list_position.tsx | 6 +-- .../component/ui/list_position_active.tsx | 14 +++++-- .../component/ui/list_position_nonactive.tsx | 14 +++++-- .../component/ui/navbar_list_position.tsx | 40 ++++++++----------- 5 files changed, 65 insertions(+), 37 deletions(-) diff --git a/src/module/position/component/ui/drawer_detail_position.tsx b/src/module/position/component/ui/drawer_detail_position.tsx index f7e031c..3c4a5d3 100644 --- a/src/module/position/component/ui/drawer_detail_position.tsx +++ b/src/module/position/component/ui/drawer_detail_position.tsx @@ -1,25 +1,39 @@ import { isDrawer, LayoutDrawer, WARNA } from "@/module/_global" +import LayoutModal from "@/module/_global/layout/layout_modal" import { useHookstate } from "@hookstate/core" import { Box, Stack, SimpleGrid, Flex, Text, Select, TextInput, Button } from "@mantine/core" import router from "next/router" import { useState } from "react" +import toast from "react-hot-toast" import { FaPencil } from "react-icons/fa6" import { ImUserCheck } from "react-icons/im" -export default function DrawerDetailPosition() { +export default function DrawerDetailPosition({ onUpdated }: { onUpdated: (val: boolean) => void }) { const [openDrawerGroup, setOpenDrawerGroup] = useState(false) - const openDrawer = useHookstate(isDrawer) + const [isModal, setModal] = useState(false) + function onCLose() { + onUpdated(true) setOpenDrawerGroup(false) - openDrawer.set(false) } + + function onTrue(val: boolean) { + if (val) { + onUpdated(true) + } + setModal(false) + } + return ( - + setModal(true)} + > @@ -29,6 +43,7 @@ export default function DrawerDetailPosition() { setOpenDrawerGroup(true)} > @@ -87,6 +102,11 @@ export default function DrawerDetailPosition() { + + + setModal(false)} + description="Apakah Anda yakin ingin mengubah status aktifasi data?" + onYes={(val) => { onTrue(val) }} /> ) } \ No newline at end of file diff --git a/src/module/position/component/ui/drawer_list_position.tsx b/src/module/position/component/ui/drawer_list_position.tsx index 2db3397..f4282b8 100644 --- a/src/module/position/component/ui/drawer_list_position.tsx +++ b/src/module/position/component/ui/drawer_list_position.tsx @@ -1,16 +1,14 @@ import { isDrawer, WARNA, LayoutDrawer } from "@/module/_global"; -import { useHookstate } from "@hookstate/core"; import { Box, Stack, SimpleGrid, Flex, TextInput, Button, Text, Select } from "@mantine/core"; import { useState } from "react"; import { IoAddCircle } from "react-icons/io5"; -export default function DrawerListPosition() { +export default function DrawerListPosition({ onCreated }: { onCreated: (val: boolean) => void }) { const [openDrawerGroup, setOpenDrawerGroup] = useState(false) - const openDrawer = useHookstate(isDrawer) function onCLose() { setOpenDrawerGroup(false) - openDrawer.set(false) + onCreated(true) } return ( diff --git a/src/module/position/component/ui/list_position_active.tsx b/src/module/position/component/ui/list_position_active.tsx index e6eb15f..f862e6e 100644 --- a/src/module/position/component/ui/list_position_active.tsx +++ b/src/module/position/component/ui/list_position_active.tsx @@ -4,6 +4,7 @@ import React, { useState } from 'react'; import { FaUserTie } from 'react-icons/fa6'; import { HiMagnifyingGlass } from 'react-icons/hi2'; import DrawerDetailPosition from './drawer_detail_position'; +import toast from 'react-hot-toast'; const dataGroup = [ { @@ -42,6 +43,7 @@ const dataGroup = [ export default function ListPositionActive() { const [openDrawer, setOpenDrawer] = useState(false) + const [isData, setData] = useState("") return ( setOpenDrawer(true)} > + }} onClick={() => { + setData(v.name) + setOpenDrawer(true) + }} > @@ -77,8 +82,11 @@ export default function ListPositionActive() { ) })} - setOpenDrawer(false)} title="LEMBAGA PENGKREDITAN DESA"> - + setOpenDrawer(false)} title={isData}> + { + setOpenDrawer(false) + toast.success('Sukses! data tersimpan') + }} /> ); diff --git a/src/module/position/component/ui/list_position_nonactive.tsx b/src/module/position/component/ui/list_position_nonactive.tsx index 3f73178..92072b4 100644 --- a/src/module/position/component/ui/list_position_nonactive.tsx +++ b/src/module/position/component/ui/list_position_nonactive.tsx @@ -4,6 +4,7 @@ import React, { useState } from 'react'; import { FaUserTie } from 'react-icons/fa6'; import { HiMagnifyingGlass } from 'react-icons/hi2'; import DrawerDetailPosition from './drawer_detail_position'; +import toast from 'react-hot-toast'; const dataGroup = [ { @@ -42,6 +43,7 @@ const dataGroup = [ export default function ListPositionNonActive() { const [openDrawer, setOpenDrawer] = useState(false) + const [isData, setData] = useState("") return ( setOpenDrawer(true)}> + }} onClick={() => { + setData(v.name) + setOpenDrawer(true) + }}> @@ -77,8 +82,11 @@ export default function ListPositionNonActive() { ) })} - setOpenDrawer(false)} title="LEMBAGA PENGKREDITAN DESA"> - + setOpenDrawer(false)} title={isData}> + { + setOpenDrawer(false) + toast.success('Sukses! data tersimpan') + }} /> ); diff --git a/src/module/position/component/ui/navbar_list_position.tsx b/src/module/position/component/ui/navbar_list_position.tsx index b77285a..cb9191e 100644 --- a/src/module/position/component/ui/navbar_list_position.tsx +++ b/src/module/position/component/ui/navbar_list_position.tsx @@ -1,33 +1,27 @@ 'use client' -import { LayoutNavbarHome, LayoutIconBack, WARNA, LayoutDrawer, isDrawer } from "@/module/_global"; -import { useHookstate } from "@hookstate/core"; -import { Grid, Group, ActionIcon, Box, Text } from "@mantine/core"; +import { WARNA, LayoutDrawer, LayoutNavbarNew } from "@/module/_global"; +import { ActionIcon, Box } from "@mantine/core"; import { HiMenu } from "react-icons/hi"; import DrawerListPosition from "./drawer_list_position"; +import { useState } from "react"; +import toast from "react-hot-toast"; export default function NavbarListPosition() { - const openDrawerMenu = useHookstate(isDrawer) + const [isOpen, setOpen] = useState(false) return ( - - - - - - - Jabatan - - - - openDrawerMenu.set(true)} variant="light" bg={WARNA.bgIcon} size="lg" radius="lg" aria-label="Settings"> - - - - - - - openDrawerMenu.set(false)}> - + setOpen(true)} variant="light" bg={WARNA.bgIcon} size="lg" radius="lg" aria-label="Settings"> + + + } + /> + setOpen(false)}> + { + setOpen(false) + toast.success('Sukses! data tersimpan') + }} /> );