'use client' import { TEMA } from "@/module/_global"; import { Carousel } from "@mantine/carousel"; import { Avatar, Box, Group, Skeleton, Stack, Text } from "@mantine/core"; import { useMediaQuery, useShallowEffect } from "@mantine/hooks"; import { useParams, useRouter } from "next/navigation"; import toast from "react-hot-toast"; import { CiClock2 } from "react-icons/ci"; import { funGetDetailDivisionById } from "../lib/api_division"; import { useState } from "react"; import { IDataTaskOnDetailDivision } from "../lib/type_division"; import _ from "lodash"; import { useHookstate } from "@hookstate/core"; export default function ListTaskOnDetailDivision() { 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, 'today-task'); 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]) const isMobile = useMediaQuery('(max-width: 369px)'); return ( Tugas Hari Ini { loading ? Array(2) .fill(null) .map((_, i) => ( )) : (data.length === 0) ? Belum ada tugas hari ini : <> } {data.map((v, i) => router.push(`/task/${v.id}`)} bg={tema.get().utama} style={{ borderRadius: 10, border: `1px solid ${"#D6D8F6"}` }}> {_.startCase(v.title)} {v.dateStart} )} ) }