diff --git a/src/app/api/project/[id]/route.ts b/src/app/api/project/[id]/route.ts index cb52b0a..792bdf2 100644 --- a/src/app/api/project/[id]/route.ts +++ b/src/app/api/project/[id]/route.ts @@ -73,8 +73,8 @@ export async function GET(request: Request, context: { params: { id: string } }) const formatData = dataProgress.map((v: any) => ({ ..._.omit(v, ["dateStart", "dateEnd"]), - dateStart: moment(v.dateStart).format("DD MMMM YYYY"), - dateEnd: moment(v.dateEnd).format("DD MMMM YYYY"), + dateStart: moment(v.dateStart).format("DD-MM-YYYY"), + dateEnd: moment(v.dateEnd).format("DD-MM-YYYY"), })) allData = formatData diff --git a/src/module/project/ui/add_member_detail_project.tsx b/src/module/project/ui/add_member_detail_project.tsx index 952de33..16b1f83 100644 --- a/src/module/project/ui/add_member_detail_project.tsx +++ b/src/module/project/ui/add_member_detail_project.tsx @@ -4,7 +4,7 @@ import React, { useState } from 'react'; import { IDataMemberProject, IDataMemberProjectDetail } from '../lib/type_project'; import toast from 'react-hot-toast'; import { funAddMemberProject, funGetAllMemberById, funGetOneProjectById } from '../lib/api_project'; -import { useShallowEffect } from '@mantine/hooks'; +import { useMediaQuery, useShallowEffect } from '@mantine/hooks'; import { ActionIcon, Avatar, Box, Button, Center, Divider, Flex, Grid, Group, Indicator, rem, Skeleton, Stack, Text, TextInput } from '@mantine/core'; import { LayoutNavbarNew, SkeletonSingle, TEMA, WARNA } from '@/module/_global'; import { FaCheck } from 'react-icons/fa6'; @@ -26,6 +26,7 @@ export default function AddMemberDetailProject() { const [onClickSearch, setOnClickSearch] = useState(false) const [searchQuery, setSearchQuery] = useState('') const tema = useHookstate(TEMA) + const isMobile2 = useMediaQuery("(max-width: 438px)"); async function getData() { @@ -231,20 +232,32 @@ export default function AddMemberDetailProject() { return ( (!found) ? handleFileClick(i) : null}> - + - + - {v.name} - {(found) ? "sudah menjadi anggota" : ""} + {v.name} + {(found) ? "sudah menjadi anggota" : ""} {isSelected ? : null} diff --git a/src/module/project/ui/create_users_project.tsx b/src/module/project/ui/create_users_project.tsx index 45cf376..7359613 100644 --- a/src/module/project/ui/create_users_project.tsx +++ b/src/module/project/ui/create_users_project.tsx @@ -137,7 +137,7 @@ export default function CreateUsersProject({ grup, onClose }: { grup?: string, o borderBottom: `1px solid ${"#E0DFDF"}` }}> {selectedFiles.length > 0 ? ( - + {selectedFiles.map((v: any, i: any) => { return ( @@ -180,12 +180,17 @@ export default function CreateUsersProject({ grup, onClose }: { grup?: string, o )) : - dataMember.map((v, index) => { - const isSelected = selectedFiles.some((i: any) => i.idUser == dataMember[index].id); - return ( - handleFileClick(index)}> - - + Tidak ada anggota + + : + dataMember.map((v, index) => { + const isSelected = selectedFiles.some((i: any) => i.idUser == dataMember[index].id); + return ( + handleFileClick(index)}> + + - - - + + - - - {v.name} + + + {v.name} + + {isSelected ? : null} - {isSelected ? : null} - - - - - + + + + + - - ); - }) + ); + }) } diff --git a/src/module/project/ui/edit_detail_task_project.tsx b/src/module/project/ui/edit_detail_task_project.tsx index 22b6a92..ce8c9a9 100644 --- a/src/module/project/ui/edit_detail_task_project.tsx +++ b/src/module/project/ui/edit_detail_task_project.tsx @@ -76,7 +76,7 @@ export default function EditDetailTaskProject() { return ( - + setTouched({ ...touched, title: true })} error={ touched.title && ( - name == "" ? "Judul Tidak Boleh Kosong" : null + name == "" ? "Judul Tahapan Tidak Boleh Kosong" : null ) } /> diff --git a/src/module/project/ui/list_file_detail_project.tsx b/src/module/project/ui/list_file_detail_project.tsx index 85c5292..380dad1 100644 --- a/src/module/project/ui/list_file_detail_project.tsx +++ b/src/module/project/ui/list_file_detail_project.tsx @@ -5,7 +5,7 @@ import React, { useState } from 'react'; import toast from 'react-hot-toast'; import { funDeleteFileProject, funGetOneProjectById } from '../lib/api_project'; import { useParams } from 'next/navigation'; -import { useShallowEffect } from '@mantine/hooks'; +import { useMediaQuery, useShallowEffect } from '@mantine/hooks'; import { IDataFileProject } from '../lib/type_project'; import { BsFileTextFill, BsFiletypeCsv, BsFiletypeHeic, BsFiletypeJpg, BsFiletypePdf, BsFiletypePng } from 'react-icons/bs'; import LayoutModal from '@/module/_global/layout/layout_modal'; @@ -24,6 +24,7 @@ export default function ListFileDetailProject() { const [isOpenModalView, setOpenModalView] = useState(false) const [isExtension, setExtension] = useState('') const tema = useHookstate(TEMA) + const isMobile = useMediaQuery("(max-width: 350px)"); async function getOneData() { try { @@ -110,20 +111,35 @@ export default function ListFileDetailProject() { setOpenDrawer(true) }} > - - -
- {item.extension == "pdf" && } - {item.extension == "csv" && } - {item.extension == "png" && } - {item.extension == "jpg" || item.extension == "jpeg" && } - {item.extension == "heic" && } -
+ + + {item.extension == "pdf" && } + {item.extension == "csv" && } + {item.extension == "png" && } + {item.extension == "jpg" && } + {item.extension == "jpeg" && } + {item.extension == "heic" && } - + {item.name + '.' + item.extension} + }} pl={isMobile ? 10 : 0} truncate="end">{item.name + '.' + item.extension} @@ -136,7 +152,7 @@ export default function ListFileDetailProject() { - {nameData}} onClose={() => setOpenDrawer(false)}> + {nameData}} onClose={() => setOpenDrawer(false)}> -
- diff --git a/src/module/project/ui/list_tugas_detail_project.tsx b/src/module/project/ui/list_tugas_detail_project.tsx index 1adc62c..a335b12 100644 --- a/src/module/project/ui/list_tugas_detail_project.tsx +++ b/src/module/project/ui/list_tugas_detail_project.tsx @@ -96,23 +96,27 @@ export default function ListTugasDetailProject() { style={{ borderRadius: 10, border: `1px solid ${"#D6D8F6"}`, - padding: 20, + // padding: 10, }} + pl={20} + pr={20} > { loading ? <> + + : isData.length === 0 ? Tidak ada tugas : isData.map((item, index) => { return ( - + { setIdData(item.id) setStatusData(item.status) setOpenDrawer(true) - }}> - + @@ -134,7 +138,7 @@ export default function ListTugasDetailProject() { - + Tanggal Mulai - + ) }) @@ -209,7 +213,7 @@ export default function ListTugasDetailProject() { setOpenModal(false)} - description="Apakah Anda yakin ingin menghapus Kegiatan ini?" + description="Apakah Anda yakin ingin menghapus Tahapan Tugas ini?" onYes={(val) => { if (val) { onDelete() @@ -219,11 +223,10 @@ export default function ListTugasDetailProject() { setOpenDrawerStatus(false)}> - { valStatusDetailProject.map((item, index) => { return ( - { onUpdateStatus(item.value) }}> + { onUpdateStatus(item.value) }}> : ""} - + ) }) } - -