import { Button, ButtonSize, Dialog, ProgressBar, Text, TouchableOpacity, View, } from "react-native-ui-lib"; import React, { useEffect, useState } from "react"; import {Alert, StyleSheet } from "react-native"; import UserChart from "./UserChart"; import ProgressCard, {transformNumber} from "../ProgressCard"; import { AntDesign, Ionicons } from "@expo/vector-icons"; import { ScrollView } from "react-native-gesture-handler"; import FireworksOrangeIcon from "@/assets/svgs/FireworksOrangeIcon"; import { useAuthContext } from "@/contexts/AuthContext"; import { useSpendPoints } from "@/hooks/firebase/useUpdateUserData"; const PROGRESS_LIMIT = 5000; const UserChoresProgress = ({ setPageIndex }: { setPageIndex: (value: number) => void; }) => { const [modalVisible, setModalVisible] = useState(false); const { profileData, refreshProfileData } = useAuthContext(); const { mutateAsync: spendPoints } = useSpendPoints(); const allTimePoints = profileData?.allTimePoints ?? 0; let transformedAllTimePoints = transformNumber(allTimePoints, PROGRESS_LIMIT); useEffect(() => { refreshProfileData(); }, []) const onClickSpendPoints = (pointsToSpend: number) => { if (allTimePoints < pointsToSpend) { Alert.alert("Not Enough Points", "You do not have enough points to spend."); return; } else { spendPoints(pointsToSpend).then(() => setModalVisible(false)).then(refreshProfileData); } } return ( setPageIndex(0)}> Return to To Dos Your To Dos Progress Report Daily Goal Points Earned This Week Total Reward Points