diff --git a/src/app/api/calender/route.ts b/src/app/api/calender/route.ts index 7b12fb2..1d0c7d9 100644 --- a/src/app/api/calender/route.ts +++ b/src/app/api/calender/route.ts @@ -102,22 +102,6 @@ export async function POST(request: Request) { return NextResponse.json({ success: false, message: "Gagal mendapatkan divisi, data tidak ditemukan" }, { status: 404 }); } - if (timeStart > timeEnd) { - return NextResponse.json({ success: false, message: "Gagal mendapatkan calender, waktu mulai harus lebih kecil dari waktu berakhir" }, { status: 404 }); - } - - if (dateStart > dateEnd) { - return NextResponse.json({ success: false, message: "Gagal mendapatkan calender, Tanggal mulai harus lebih kecil dari Tanggal berakhir" }, { status: 404 }); - } - - if (dateStart < moment().format("YYYY-MM-DD")) { - return NextResponse.json({ success: false, message: "Gagal mendapatkan calender, Tanggal mulai harus lebih kecil dari Tanggal sekarang" }, { status: 404 }); - } - - if (dateEnd < moment().format("YYYY-MM-DD")) { - return NextResponse.json({ success: false, message: "Gagal mendapatkan calender, Tanggal berakhir harus lebih kecil dari Tanggal sekarang" }, { status: 404 }); - } - const statusCalender = 0 const y = new Date('1970-01-01 ' + timeStart) diff --git a/src/module/calender/ui/create_user_calender.tsx b/src/module/calender/ui/create_user_calender.tsx index ced9764..66a2351 100644 --- a/src/module/calender/ui/create_user_calender.tsx +++ b/src/module/calender/ui/create_user_calender.tsx @@ -5,7 +5,7 @@ import { funGetDivisionById, IDataMemberDivision } from '@/module/division_new'; import { useHookstate } from '@hookstate/core'; import toast from 'react-hot-toast'; import { useShallowEffect } from '@mantine/hooks'; -import { LayoutNavbarNew, WARNA } from '@/module/_global'; +import { LayoutNavbarNew, SkeletonSingle, WARNA } from '@/module/_global'; import { Avatar, Box, Button, Divider, Flex, Group, Text } from '@mantine/core'; import { FaCheck } from 'react-icons/fa6'; @@ -16,21 +16,27 @@ export default function CreateUserCalender({ onClose }: { onClose: (val: any) => const [isData, setData] = useState([]) const member = useHookstate(globalCalender) const [selectAll, setSelectAll] = useState(false) + const [loading, setLoading] = useState(true) async function getData() { try { + setLoading(true) const response = await funGetDivisionById(param.id) if (response.success) { setData(response.data.member) if (member.length > 0) { setSelectedFiles(JSON.parse(JSON.stringify(member.get()))) } + setLoading(false) } else { toast.error(response.message) } + } catch (error) { console.log(error) toast.error("Gagal mendapatkan anggota, coba lagi nanti"); + } finally { + setLoading(false) } } @@ -88,8 +94,17 @@ export default function CreateUserCalender({ onClose }: { onClose: (val: any) => Pilih Semua Anggota {selectAll ? : ""} - - + + {loading ? + Array(4) + .fill(null) + .map((_, i) => ( + + + + )) + : + {isData.map((v, i) => { const isSelected = selectedFiles.some((i: any) => i?.idUser == v.idUser); return ( @@ -121,6 +136,7 @@ export default function CreateUserCalender({ onClose }: { onClose: (val: any) => ); })} + } + + + + + Pilih Semua Anggota + + {selectAll ? : ""} + + {loading ? + Array(4) + .fill(null) + .map((_, i) => ( + + + + )) + : + + {isData.map((v, i) => { + const isSelected = selectedFiles.some((i: any) => i?.idUser == v.idUser); + return ( + handleFileClick(i)}> + + + + + {v.name} + + + + {isSelected ? : ""} + + + + + ); + })} + + } + + + - ); } diff --git a/src/module/user/member/ui/create_member.tsx b/src/module/user/member/ui/create_member.tsx index b07d12b..9d2fc3d 100644 --- a/src/module/user/member/ui/create_member.tsx +++ b/src/module/user/member/ui/create_member.tsx @@ -343,7 +343,7 @@ export default function CreateMember() { size="md" type="number" radius={30} - placeholder="87701795778" + placeholder="xxx xxxx xxxx" leftSection={+62} withAsterisk label="Nomor Telepon" diff --git a/src/module/user/member/ui/edit_member.tsx b/src/module/user/member/ui/edit_member.tsx index ba64dbc..1bf2ae7 100644 --- a/src/module/user/member/ui/edit_member.tsx +++ b/src/module/user/member/ui/edit_member.tsx @@ -307,7 +307,7 @@ export default function EditMember({ id }: { id: string }) { borderColor: WARNA.biruTua, }, }} - placeholder="6287701795778" + placeholder="62xxx xxxx xxxx" onChange={(e) => { setData({ ...data, phone: e.target.value }) setTouched({ ...touched, phone: false }) diff --git a/src/module/user/member/ui/navbar_detail_member.tsx b/src/module/user/member/ui/navbar_detail_member.tsx index 7ea36c7..d990f2a 100644 --- a/src/module/user/member/ui/navbar_detail_member.tsx +++ b/src/module/user/member/ui/navbar_detail_member.tsx @@ -98,7 +98,7 @@ export default function NavbarDetailMember({ id }: IMember) { No Telepon - {dataOne?.phone} + +{dataOne?.phone} diff --git a/src/module/user/member/ui/tab_list_member.tsx b/src/module/user/member/ui/tab_list_member.tsx index b6a470e..f724052 100644 --- a/src/module/user/member/ui/tab_list_member.tsx +++ b/src/module/user/member/ui/tab_list_member.tsx @@ -1,6 +1,6 @@ import { SkeletonSingle, WARNA } from "@/module/_global" -import { Box, Group, ActionIcon, Text, TextInput } from "@mantine/core" +import { Box, Group, ActionIcon, Text, TextInput, Divider } from "@mantine/core" import { useShallowEffect } from "@mantine/hooks" import { useRouter, useSearchParams } from "next/navigation" import { useEffect, useState } from "react" @@ -65,28 +65,30 @@ export default function TabListMember() { : dataMember.length == 0 ? - Tidak ada anggota + Tidak ada anggota : dataMember.map((v, i) => { return ( - { - router.push(`/member/${v.id}`) - }}> - - - - - - - - {v.name} - {v.group + ' - ' + v.position} - - + + { + router.push(`/member/${v.id}`) + }}> + + + + + + + + {v.name} + {v.group + ' - ' + v.position} + + + + ) })