import { API_ADDRESS, LayoutDrawer, WARNA } from "@/module/_global" import LayoutModal from "@/module/_global/layout/layout_modal" import { funGetAllGroup, IDataGroup } from "@/module/group" import { Box, Stack, SimpleGrid, Flex, Text, Select, TextInput, Button } from "@mantine/core" import { useShallowEffect } from "@mantine/hooks" import { useEffect, useState } from "react" import toast from "react-hot-toast" import { FaPencil, FaToggleOff } from "react-icons/fa6" import { funEditPosition, funEditStatusPosition, funGetOnePosition } from "../lib/api_position" import { IDataPosition } from "../lib/type_position" export default function DrawerDetailPosition({ onUpdated, id, isActive }: { onUpdated: (val: boolean) => void, id: string, isActive: boolean; }) { const [openDrawerGroup, setOpenDrawerGroup] = useState(false) const [isModal, setModal] = useState(false) const [data, setData] = useState({ id: id, name: "", idGroup: "" }) const [listGroup, setListGorup] = useState([]) function onCLose() { onUpdated(true) setOpenDrawerGroup(false) } async function getAllGroup() { try { const response = await funGetAllGroup('?active=true') if (response.success) { setListGorup(response.data); } else { toast.error(response.message); } } catch (error) { console.error(error) toast.error("Gagal mendapatkan grup, coba lagi nanti"); } } async function getOneData() { try { const res = await funGetOnePosition(id) if (res.success) { setData(res.data) } else { toast.error(res.message) } } catch (error) { console.error(error) toast.error("Gagal mendapatkan jabatan, coba lagi nanti"); } } async function onSubmit() { try { const res = await funEditPosition(id, { name: data.name, idGroup: data.idGroup }) if (res.success) { toast.success(res.message); onUpdated(true); onCLose(); } else { onUpdated(false); toast.error(res.message) } } catch (error) { toast.error('Error'); toast.error("Edit jabatan gagal, coba lagi nanti"); } } useShallowEffect(() => { getAllGroup() getOneData() }, []) async function nonActive(val: boolean) { try { if (val) { const res = await funEditStatusPosition(id, { isActive: isActive }) if (res.success) { toast.success(res.message); onUpdated(true); } else { onUpdated(false); toast.error(res.message) } } setModal(false); } catch (error) { console.log(error); setModal(false); toast.error("Edit jabatan gagal, coba lagi nanti"); onUpdated(false); } } return ( setModal(true)} > {isActive == false ? "Aktifkan" : "Non Aktifkan"} setOpenDrawerGroup(true)} > Edit setOpenDrawerGroup(false)} title={'Edit Jabatan'} size="lg">