'use client' import { TEMA, WARNA } from "@/module/_global"; import { Carousel } from "@mantine/carousel"; import { Box, Card, Flex, Title, Text, Progress, Stack, Skeleton } from "@mantine/core"; import { useShallowEffect } from "@mantine/hooks"; import { useRouter } from "next/navigation"; import { useState } from "react"; import toast from "react-hot-toast"; import { funGetHome } from "../lib/api_home"; import { IDataHomeKegiatan } from "../lib/type_home"; import _ from "lodash"; import { useHookstate } from "@hookstate/core"; export default function ListProjects() { const router = useRouter() const [isData, setData] = useState([]) const [loading, setLoading] = useState(true); const tema = useHookstate(TEMA) const fetchData = async () => { try { setData([]); setLoading(true); const response = await funGetHome('?cat=kegiatan') if (response.success) { setData(response.data) } else { toast.error(response.message); } setLoading(false); } catch (error) { toast.error("Gagal mendapatkan data, coba lagi nanti"); console.error(error); } finally { setLoading(false); } }; useShallowEffect(() => { fetchData(); }, []); return ( <> Kegiatan Terbaru {loading ? : _.isEmpty(isData) ? Tidak ada kegiatan terbaru : {isData.map((v) => router.push(`/project/${v.id}`)}> {v.title} {v.progress}% {v.createdAt} )} } ) }