"use client"; const dummy = [ { name: "Chrome", value: 42 }, { name: "Firefox", value: 23 }, { name: "Edge", value: 15 }, { name: "Safari", value: 37 }, { name: "Opera", value: 8 }, { name: "Brave", value: 29 }, ]; import { convertDateFormatNoTime, convertDateFormatNoTimeV2, } from "@/utils/global"; import { Calendar, Popover, PopoverContent, PopoverTrigger, } from "@heroui/react"; import { parseDate } from "@internationalized/date"; import { Fragment, useEffect, useState } from "react"; import ReactApexChart from "react-apexcharts"; export default function PieChartLoginBrowser() { const [series, setSeries] = useState([]); const [labels, setLabels] = useState([]); const [data, setData] = useState([]); const [total, setTotal] = useState(0); const [selectedLabel, setSelectedLabel] = useState(""); const [topContentDate, setTopContentDate] = useState({ startDate: parseDate( convertDateFormatNoTimeV2( new Date(new Date().setDate(new Date().getDate() - 7)) ) ), endDate: parseDate(convertDateFormatNoTimeV2(new Date())), }); useEffect(() => { fetchData(); }, [topContentDate.startDate, topContentDate.endDate]); const fetchData = async () => { const data = dummy; setData(data); const label = data.map((a) => a.name); const seriesNow = data.map((a) => a.value); const totalNow = seriesNow.reduce((a, c) => a + c, 0); setTotal(totalNow); setLabels(label); setSeries(seriesNow); }; const getPersentage = (value: number) => { const count = ((value / total) * 100).toFixed(1); return `${count}%`; }; return (

Browser Statistics

Browser Statistics from

{convertDateFormatNoTime(topContentDate.startDate)} setTopContentDate({ startDate: e, endDate: topContentDate.endDate, }) } maxValue={topContentDate.endDate} />

to

{convertDateFormatNoTime(topContentDate.endDate)} setTopContentDate({ startDate: topContentDate.startDate, endDate: e, }) } minValue={topContentDate.startDate} />

Browser

Visitors

Persentage

{data && data?.map((list: any, index: number) => (

{list.name}

{list.value}

{getPersentage(list.value)}

))}
); }