upd: kalender

Deskripsi:
- mengeluarkan anggota
- edit api acara kalender
- log user

No Issues
This commit is contained in:
amel
2024-09-09 10:48:53 +08:00
parent f18f41292f
commit a538d88ec1
12 changed files with 132 additions and 55 deletions

View File

@@ -10,7 +10,7 @@ import { TbCopy } from 'react-icons/tb';
import { HiMenu } from 'react-icons/hi';
import DrawerDetailEvent from './drawer_detail_event';
import { useParams, useRouter } from 'next/navigation';
import { funGetOneCalender } from '../lib/api_calender';
import { funDeleteMemberCalender, funGetOneCalender } from '../lib/api_calender';
import { useShallowEffect } from '@mantine/hooks';
import moment from "moment";
import "moment/locale/id";
@@ -18,6 +18,7 @@ import { IDataDetailByIdCalender, IDataDetailByIdMember } from '../lib/type_cale
import SkeletonDetailEvent from './skeleton_detail_event';
import { IoIosCloseCircle } from 'react-icons/io';
import LayoutModal from '@/module/_global/layout/layout_modal';
import toast from 'react-hot-toast';
export default function DetailEventDivision() {
const param = useParams<{ id: string, detail: string }>()
@@ -29,6 +30,7 @@ export default function DetailEventDivision() {
const [openDrawerUser, setOpenDrawerUser] = useState(false)
const [isOpenModal, setOpenModal] = useState(false)
const router = useRouter()
const [dataChoose, setDataChoose] = useState({ id: '', name: '' })
const getData = async () => {
@@ -50,9 +52,27 @@ export default function DetailEventDivision() {
getData()
}, [])
async function onSubmit() {
try {
const res = await funDeleteMemberCalender(param.detail, { idUser: dataChoose.id });
if (res.success) {
toast.success(res.message)
setDataChoose({ id: '', name: '' })
getData()
setOpenDrawer(false)
setOpenDrawerUser(false)
} else {
toast.error(res.message)
}
} catch (error) {
console.error(error);
toast.error("Gagal mengeluarkan anggota, coba lagi nanti");
}
}
return (
<Box>
<LayoutNavbarNew back={`/division/${param.id}/calender/`} title="Detail Kalender"
<LayoutNavbarNew back={`/division/${param.id}/calender/`} title="Detail Acara"
menu={<ActionIcon variant="light" onClick={() => setOpenDrawer(true)} bg={WARNA.bgIcon} size="lg" radius="lg" aria-label="Settings">
<HiMenu size={20} color='white' />
</ActionIcon>} />
@@ -242,7 +262,10 @@ export default function DetailEventDivision() {
{
isDataAnggota.map((v, i) => {
return (
<Box onClick={() => setOpenDrawerUser(true)} key={i}>
<Box onClick={() => {
setDataChoose({ id: v.idUser, name: v.name })
setOpenDrawerUser(true)
}} key={i}>
<Box my={10}>
<Grid align='center' gutter={"lg"}>
<Grid.Col span={{
@@ -283,14 +306,14 @@ export default function DetailEventDivision() {
<LayoutDrawer opened={openDrawerUser} title={<Text lineClamp={1}>Menu</Text>} onClose={() => setOpenDrawerUser(false)}>
<LayoutDrawer opened={openDrawerUser} title={<Text lineClamp={1}>{dataChoose.name}</Text>} onClose={() => setOpenDrawerUser(false)}>
<Box>
<Stack pt={10}>
<SimpleGrid
cols={{ base: 2, sm: 3, lg: 3 }}
>
<Flex
// onClick={() => { router.push('/member/' + ) }}
onClick={() => { router.push('/member/' + dataChoose.id) }}
justify={'center'} align={'center'} direction={'column'} >
<Box>
<FaUser size={30} color={WARNA.biruTua} />
@@ -317,7 +340,7 @@ export default function DetailEventDivision() {
description="Apakah Anda yakin ingin mengeluarkan anggota?"
onYes={(val) => {
if (val) {
// onSubmit()
onSubmit()
}
setOpenModal(false)
}} />