"use client"; import { AccentColor, AdminColor, MainColor } from "@/app_modules/_global/color/color_pallet"; import { Divider, Flex, Grid, Group, Paper, Stack, Text, ThemeIcon, Title } from "@mantine/core"; import { IconFileText, IconUsers } from "@tabler/icons-react"; import ComponentAdminGlobal_HeaderTamplate from "../../_admin_global/header_tamplate"; import { useState } from "react"; import { useShallowEffect } from "@mantine/hooks"; import { apiGetCountPortofolio, apiGetCountUserActive } from "../lib/api_fetch_main_dashboard"; import { NextResponse } from "next/server"; import { clientLogger } from "@/util/clientLogger"; import MainDashboardSkeleton from "../../_admin_global/_component/skeleton/main_dashboard_skeleton"; export default function AdminMain() { const [countUser, setCountUser] = useState(null); const [countPortofolio, setCountPortofolio] = useState(null); useShallowEffect(() => { onLoadDataUser(); onLoadDataPortofolio(); }, []); async function onLoadDataUser() { try { const response = await apiGetCountUserActive(); if (response) { // console.log(response.data); // console.log(typeof response.data); // console.log( response); setCountUser(response.data); } } catch (error) { clientLogger.error("Error get count user data", error); } } async function onLoadDataPortofolio() { try { const response = await apiGetCountPortofolio(); if (response) { // console.log("Response Portofolio",response); setCountPortofolio(response.data); } } catch (error) { clientLogger.error("Error get count portofolio data", error); } } const listBox = [ { id: 1, name: "User", jumlah: countUser, link: "", icon: }, { id: 2, name: "Portofolio", jumlah: countPortofolio, link: "", icon: }, ]; return ( <> {!countUser && !countPortofolio ? ( ) : ( {/* Main Dashboard */} {listBox.map((e) => ( {e.name} {e.jumlah} {e.icon} ))} {/* */} )} ); }