"use client"
import { useGlobalContext } from '@/app/context/globalContext';
import { kelvinToFarenheit, unixToDay, unixToTime } from '@/app/utils/Misc';
import { Skeleton } from '@/components/ui/skeleton';
import React from 'react'
import { FaCalendarAlt } from "react-icons/fa";
const FiveDaysForecast = () => {
const {dailyForecast} = useGlobalContext();
const {city, list} = dailyForecast;
if(!dailyForecast || !city || !list){
return
}
const processData = (
dailyData: {
dt:number;
main:{temp_min: number,temp_max: number};
}[]
) => {
let minTemp = Number.MAX_VALUE;
let maxTemp = Number.MIN_VALUE;
dailyData.forEach((
day: {
dt: number;
main: {temp_min: number, temp_max: number};
}
) => {
if(day.main.temp_min < minTemp){
minTemp = day.main.temp_min;
}
if(day.main.temp_max > maxTemp){
maxTemp = day.main.temp_max;
}
});
return {
day: unixToDay(dailyData[0].dt),
minTemp: kelvinToFarenheit(minTemp),
maxTemp: kelvinToFarenheit(maxTemp),
}
};
const dailyForecasts = []
for(let i = 0; i < 40; i += 8){
const dailyData = list.slice(i, i+8);
dailyForecasts.push(processData(dailyData));
}
return (
5 Days Forecast for {city.name}
{dailyForecasts.map((day, i) => {
return
{day.day}
(Low)
(High)
{day.minTemp.toFixed(0)}°F
{day.maxTemp.toFixed(0)}°F
})}
)
}
export default FiveDaysForecast