"use client"; import { DashboardCommentIcon, DashboardConnectIcon, DashboardShareIcon, DashboardSpeecIcon, DashboardTopLeftPointIcon, DashboardUserIcon, } from "@/components/icons/dashboard-icon"; import { Submenu1Icon } from "@/components/icons/sidebar-icon"; import { Button, Checkbox, CheckboxGroup, Pagination, Select, SelectItem, SelectSection, } from "@nextui-org/react"; import ApexChartColumn from "./chart/column-chart"; import ApexChartDonut from "./chart/donut-chart"; import ApexChartLineArea from "./chart/line-area-chart"; import Cookies from "js-cookie"; import Link from "next/link"; import { useEffect, useState } from "react"; import { getListArticle } from "@/service/article"; import { Article } from "@/types/globals"; import { convertDateFormat, textEllipsis } from "@/utils/global"; import Datepicker from "react-tailwindcss-datepicker"; type ArticleData = Article & { no: number; createdAt: string; }; export default function DashboardContainer() { const username = Cookies.get("username"); const fullname = Cookies.get("ufne"); const [page, setPage] = useState(1); const [totalPage, setTotalPage] = useState(1); const [article, setArticle] = useState([]); const [analyticsView, setAnalyticView] = useState([ "visit", "view", "share", ]); const [startDateValue, setStartDateValue] = useState({ startDate: new Date(), endDate: new Date(), }); const [typeDate, setTypeDate] = useState("monthly"); useEffect(() => { initState(); }, [page]); async function initState() { const req = { limit: "4", page: page, search: "", }; const res = await getListArticle(req); setArticle(res.data?.data); setTotalPage(res?.data?.meta?.totalPage); } const getMonthYear = (date: Date | string) => { const newDate = new Date(date); const months = [ "january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december", ]; const year = newDate.getFullYear(); const month = months[newDate.getMonth()]; return month + " " + year; }; return (

{fullname}

{username}

4 Post Hari ini

12 Post Minggu ini

Total post
121
Total views
154
Total share
154
Total comment
530
Analytics
Visit View Share
setStartDateValue(e)} inputClassName="z-50 w-full text-sm bg-transparent border-1 border-gray-200 px-2 py-[6px] rounded-xl h-[40px] text-gray-600 dark:text-gray-300" />

Recent Article

{article?.map((list: any) => (

{textEllipsis(list?.title, 40)}

{convertDateFormat(list?.createdAt)}

))}
setPage(page)} />
); }