import React, { useState, useEffect } from "react"; import Chart from "react-apexcharts"; import styles from "./BarChart.module.css"; // Import the CSS module const DailyCharts = ({ transactionGraph, colors, type }) => { const [selectedIndex, setSelectedIndex] = useState(-1); useEffect(() => { setSelectedIndex(-1); }, [transactionGraph]); const processData = (graphData) => { if (!graphData) return null; return graphData.map((dayData) => { const categories = [ "0-3", "3-6", "6-9", "9-12", "12-15", "15-18", "18-21", "21-24", ]; const seriesData = [ dayData.hour0To3Transactions.reduce((acc, t) => acc + t.sold, 0), dayData.hour3To6Transactions.reduce((acc, t) => acc + t.sold, 0), dayData.hour6To9Transactions.reduce((acc, t) => acc + t.sold, 0), dayData.hour9To12Transactions.reduce((acc, t) => acc + t.sold, 0), dayData.hour12To15Transactions.reduce((acc, t) => acc + t.sold, 0), dayData.hour15To18Transactions.reduce((acc, t) => acc + t.sold, 0), dayData.hour18To21Transactions.reduce((acc, t) => acc + t.sold, 0), dayData.hour21To24Transactions.reduce((acc, t) => acc + t.sold, 0), ]; return { date: new Date(dayData.date).toLocaleDateString(), categories, series: [ { name: `Transactions on ${new Date(dayData.date).toLocaleDateString()}`, data: seriesData, }, ], }; }); }; const chartData = processData(transactionGraph); let globalMax = null; if (chartData) globalMax = chartData.reduce( (max, data) => { const localMax = Math.max(...data.series[0].data); return localMax > max ? localMax : max; }, 0 ); const formatDate = (dateString) => { const date = new Date(dateString); const monthNames = [ "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des" ]; const month = monthNames[date.getUTCMonth()]; // Use getUTCMonth() for UTC month const day = date.getUTCDate(); // Use getUTCDate() for UTC day return { month, day }; }; return (