Merge pull request #185 from bipproduction/amalia/03-september-24

Amalia/03 september 24
This commit is contained in:
Amalia
2024-09-03 17:27:01 +08:00
committed by GitHub
4 changed files with 29 additions and 6 deletions

View File

@@ -87,6 +87,7 @@ export async function GET(request: Request, context: { params: { id: string } })
id: true, id: true,
ContainerFileDivision: { ContainerFileDivision: {
select: { select: {
id: true,
name: true, name: true,
extension: true extension: true
} }
@@ -96,6 +97,7 @@ export async function GET(request: Request, context: { params: { id: string } })
const fix = dataFile.map((v: any) => ({ const fix = dataFile.map((v: any) => ({
..._.omit(v, ["ContainerFileDivision"]), ..._.omit(v, ["ContainerFileDivision"]),
nameInStorage: v.ContainerFileDivision.id,
name: v.ContainerFileDivision.name, name: v.ContainerFileDivision.name,
extension: v.ContainerFileDivision.extension, extension: v.ContainerFileDivision.extension,
})) }))

View File

@@ -1,5 +1,5 @@
'use client' 'use client'
import { LayoutDrawer, LayoutNavbarNew, WARNA } from '@/module/_global'; import { LayoutDrawer, LayoutModalViewFile, LayoutNavbarNew, WARNA } from '@/module/_global';
import { ActionIcon, Anchor, Box, Breadcrumbs, Button, Checkbox, Divider, Flex, Grid, Group, Indicator, Modal, rem, Select, SimpleGrid, Text, TextInput } from '@mantine/core'; import { ActionIcon, Anchor, Box, Breadcrumbs, Button, Checkbox, Divider, Flex, Grid, Group, Indicator, Modal, rem, Select, SimpleGrid, Text, TextInput } from '@mantine/core';
import React, { useState } from 'react'; import React, { useState } from 'react';
import { HiMenu } from 'react-icons/hi'; import { HiMenu } from 'react-icons/hi';
@@ -28,6 +28,9 @@ import { FaShare } from 'react-icons/fa6';
export default function NavbarDocumentDivision() { export default function NavbarDocumentDivision() {
const router = useRouter() const router = useRouter()
const param = useParams<{ id: string }>() const param = useParams<{ id: string }>()
const [isOpenModalView, setOpenModalView] = useState(false)
const [isExtension, setExtension] = useState('')
const [idData, setIdData] = useState('')
const [name, setName] = useState('') const [name, setName] = useState('')
const [isOpen, setOpen] = useState(false) const [isOpen, setOpen] = useState(false)
const [isDelete, setIsDelete] = useState(false) const [isDelete, setIsDelete] = useState(false)
@@ -327,8 +330,14 @@ export default function NavbarDocumentDivision() {
<Grid align='center' > <Grid align='center' >
<Grid.Col span={10} <Grid.Col span={10}
onClick={() => { onClick={() => {
if (v.category == "FOLDER" && selectedFiles.length == 0 && !dariSelectAll) if (v.category == "FOLDER" && selectedFiles.length == 0 && !dariSelectAll) {
router.push('?path=' + v.id) router.push('?path=' + v.id)
} else if(v.category == "FILE" && selectedFiles.length == 0 && !dariSelectAll){
setExtension(v.extension)
setIdData(v.id)
setOpenModalView(true)
}
}} }}
> >
<Group gap={20}> <Group gap={20}>
@@ -452,6 +461,9 @@ export default function NavbarDocumentDivision() {
<LayoutDrawer opened={more} title={''} onClose={() => setMore(false)}> <LayoutDrawer opened={more} title={''} onClose={() => setMore(false)}>
<DrawerMore data={selectedFiles} /> <DrawerMore data={selectedFiles} />
</LayoutDrawer> </LayoutDrawer>
<LayoutModalViewFile opened={isOpenModalView} onClose={() => setOpenModalView(false)} file={idData + '.' + isExtension} extension={isExtension} fitur='dokumen' />
</Box> </Box>
); );
} }

View File

@@ -67,5 +67,6 @@ export interface IDataMemberTaskDivision {
export interface IDataFileTaskDivision { export interface IDataFileTaskDivision {
id: string id: string
name: string name: string
extension: string extension: string,
nameInStorage: string
} }

View File

@@ -1,5 +1,5 @@
'use client' 'use client'
import { LayoutDrawer, SkeletonDetailListTugasTask, WARNA } from "@/module/_global"; import { LayoutDrawer, LayoutModalViewFile, SkeletonDetailListTugasTask, WARNA } from "@/module/_global";
import { Box, Center, Flex, Grid, Group, SimpleGrid, Skeleton, Stack, Text } from "@mantine/core"; import { Box, Center, Flex, Grid, Group, SimpleGrid, Skeleton, Stack, Text } from "@mantine/core";
import { useShallowEffect } from "@mantine/hooks"; import { useShallowEffect } from "@mantine/hooks";
import { useParams } from "next/navigation"; import { useParams } from "next/navigation";
@@ -18,7 +18,11 @@ export default function ListFileDetailTask() {
const [openDrawer, setOpenDrawer] = useState(false) const [openDrawer, setOpenDrawer] = useState(false)
const [isOpenModal, setOpenModal] = useState(false) const [isOpenModal, setOpenModal] = useState(false)
const [idData, setIdData] = useState('') const [idData, setIdData] = useState('')
const [nameStorage, setNameStorage] = useState('')
const [nameData, setNameData] = useState('') const [nameData, setNameData] = useState('')
const [isOpenModalView, setOpenModalView] = useState(false)
const [isExtension, setExtension] = useState('')
async function getOneData() { async function getOneData() {
try { try {
setLoading(true) setLoading(true)
@@ -95,6 +99,8 @@ export default function ListFileDetailTask() {
onClick={() => { onClick={() => {
setNameData(item.name + '.' + item.extension) setNameData(item.name + '.' + item.extension)
setExtension(item.extension)
setNameStorage(item.nameInStorage)
setIdData(item.id) setIdData(item.id)
setOpenDrawer(true) setOpenDrawer(true)
}} }}
@@ -105,7 +111,7 @@ export default function ListFileDetailTask() {
{item.extension == "pdf" && <BsFiletypePdf size={25} />} {item.extension == "pdf" && <BsFiletypePdf size={25} />}
{item.extension == "csv" && <BsFiletypeCsv size={25} />} {item.extension == "csv" && <BsFiletypeCsv size={25} />}
{item.extension == "png" && <BsFiletypePng size={25} />} {item.extension == "png" && <BsFiletypePng size={25} />}
{item.extension == "jpg" || item.extension == "jpeg" && <BsFiletypeJpg size={25} />} {(item.extension == "jpg" || item.extension == "jpeg") && <BsFiletypeJpg size={25} />}
{item.extension == "heic" && <BsFiletypeHeic size={25} />} {item.extension == "heic" && <BsFiletypeHeic size={25} />}
</Center> </Center>
</Grid.Col> </Grid.Col>
@@ -129,7 +135,7 @@ export default function ListFileDetailTask() {
<SimpleGrid <SimpleGrid
cols={{ base: 3, sm: 3, lg: 3 }} cols={{ base: 3, sm: 3, lg: 3 }}
> >
<Flex onClick={() => { }} justify={'center'} align={'center'} direction={'column'} > <Flex onClick={() => { setOpenModalView(true) }} justify={'center'} align={'center'} direction={'column'} >
<Box> <Box>
<BsFileTextFill size={30} color={WARNA.biruTua} /> <BsFileTextFill size={30} color={WARNA.biruTua} />
</Box> </Box>
@@ -160,6 +166,8 @@ export default function ListFileDetailTask() {
} }
setOpenModal(false) setOpenModal(false)
}} /> }} />
<LayoutModalViewFile opened={isOpenModalView} onClose={() => setOpenModalView(false)} file={nameStorage + '.' + isExtension} extension={isExtension} fitur='task' />
</Box> </Box>
) )
} }