import React, {useEffect, useState} from "react"; import { BarChart } from "react-native-gifted-charts"; import { UserProfile } from "@/hooks/firebase/types/profileTypes"; import {chartDayMap} from "@/constants/common"; const FamilyChart = ({ children }: { children: Array; }) => { const [dataList, setDataList] = useState([]); useEffect(() => { let dayPointsMap = { Monday: {}, Tuesday: {}, Wednesday: {}, Thursday: {}, Friday: {}, Saturday: {}, Sunday: {}, }; children?.forEach((child) => { let weeklyDayPoints = child.weeklyDayPoints || { Monday: 0, Tuesday: 0, Wednesday: 0, Thursday: 0, Friday: 0, Saturday: 0, Sunday: 0, }; Object.keys(weeklyDayPoints).forEach((day) => { dayPointsMap = { ...dayPointsMap, [day]: { ...dayPointsMap[day], [child.uid]: weeklyDayPoints[day] } } }) }) const data = Object.keys(dayPointsMap).map((day) => { const userMap = dayPointsMap[day]; let stacks = Object.keys(userMap).map((userId) => { let userProfile = children?.find((child) => child.uid === userId); return { value: userMap[userId], color: userProfile.eventColor } }); return { stacks: stacks, label: chartDayMap[day], } }); setDataList(data); }, [children]) return ( ); }; export default FamilyChart;