"use client" import { useGlobalContext } from '@/app/context/globalContext' import { kelvinToFarenheit } from '@/app/utils/Misc'; import { CloudIcon, CloudRainIcon, SnowflakeIcon, SunIcon, Zap } from 'lucide-react'; import { IoNavigateOutline } from "react-icons/io5"; import React, { useEffect, useState } from 'react' import moment from 'moment'; const Temperature = () => { const {forecast} = useGlobalContext(); const {main, timezone, name, weather} = forecast; if(!forecast || !weather){ return
Loading...
} const temp = kelvinToFarenheit(main?.temp); const minTemp = kelvinToFarenheit(main?.temp_min); const maxTemp = kelvinToFarenheit(main?.temp_max); //set time, day, weather const [localTime, setLocalTime] = useState(""); const [currentDay, setCurrentDay] = useState(""); const {main: weatherMain, description} = weather[0]; const getIcon = () => { switch (weatherMain){ case "Snow": return ; case "Rain": return ; case "Clear": return ; case "Clouds": return ; case "Thunderstorm": return ; } }; //real time update useEffect(() => { const interval = setInterval(() => { const localMoment = moment().utcOffset(timezone / 60); const formatedTime = localMoment.format("hh:mm:ss"); const day = localMoment.format("dddd") setLocalTime(formatedTime); setCurrentDay(day); }, 1000); }, []); return (

{currentDay} {localTime}

{name}

{temp}°F

{getIcon()}

{description}

Low: {minTemp}°F Hight: {maxTemp}°F

) } export default Temperature