'use client' import { TEMA, } from "@/module/_global"; import { Carousel } from "@mantine/carousel"; import { Box, Image, Text, Center, Paper, Stack, UnstyledButton, Skeleton, Group } from "@mantine/core"; import * as ICON from '../lib/file_icon' import { useParams, useRouter } from "next/navigation"; import { useShallowEffect } from "@mantine/hooks"; import toast from "react-hot-toast"; import { funGetDetailDivisionById } from "../lib/api_division"; import { IDataKalenderOnDetailDivision } from "../lib/type_division"; import { useState } from "react"; import { useHookstate } from "@hookstate/core"; const iconContainer = (icon: string) => 'data:image/svg+xml;base64,' + btoa(icon) export default function ListDocumentOnDetailDivision() { const router = useRouter() const param = useParams<{ id: string }>() const [data, setData] = useState([]) const [loading, setLoading] = useState(true); const tema = useHookstate(TEMA) async function fetchData() { try { setLoading(true); const res = await funGetDetailDivisionById(param.id, 'new-file'); if (res.success) { setData(res.data) } else { toast.error(res.message); } setLoading(false); } catch (error) { console.error(error); toast.error("Gagal mendapatkan divisi, coba lagi nanti"); } finally { setLoading(false); } } useShallowEffect(() => { fetchData() }, [param.id]) return ( Dokumen Terbaru { loading ? Array(4) .fill(null) .map((_, i) => ( )) : (data.length === 0) ? Belum ada file : <> } { data.map((v) => router.push(`/division/${param.id}/document`)}>
image
{v.name + '.' + v.extension}
)}
) }