"use client" import { WARNA } from "@/module/_global"; import { Box, Group, Skeleton, Stack, Text } from "@mantine/core"; import { useShallowEffect } from "@mantine/hooks"; import { useParams, useRouter } from "next/navigation"; import { useState } from "react"; import toast from "react-hot-toast"; import { CiUser, CiClock2 } from "react-icons/ci"; import { GoDiscussionClosed } from "react-icons/go"; import { funGetDetailDivisionById } from "../lib/api_division"; import { IDataDiscussionOnDetailDivision } from "../lib/type_division"; export default function ListDiscussionOnDetailDivision() { const router = useRouter(); const param = useParams<{ id: string }>() const [data, setData] = useState([]) const [loading, setLoading] = useState(true); async function fetchData() { try { setLoading(true); const res = await funGetDetailDivisionById(param.id, 'new-discussion'); 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 ( <> Diskusi Terbaru { loading ? Array(2) .fill(null) .map((_, i) => ( )) : (data.length === 0) ? Belum ada diskusi : <> } {data.map((v, i) => { return ( router.push(`${param.id}/discussion/${v.id}`)} > {v.desc} {v.user} {v.date} ); })} ); }