diff --git a/resources/js/pages/Rainfall/RainfallGraph.tsx b/resources/js/pages/Rainfall/RainfallGraph.tsx index 89c8dab..b97d0df 100644 --- a/resources/js/pages/Rainfall/RainfallGraph.tsx +++ b/resources/js/pages/Rainfall/RainfallGraph.tsx @@ -39,7 +39,7 @@ const RainfallGraph = () => { return {errorLabel()} -
+
{ - const [currentWeather, setCurrentWeather] = useState(null) + const [currentWeather, setCurrentWeather] = useState(null) const [fetchTime, setFetchTime] = useState(0) - const [weatherDays, setWeatherDays] = useState<[string, WeatherValue[]][]|null>(null) + const [weatherDays, setWeatherDays] = useState<[string, WeatherValue[]][] | null>(null) const {loading, setLoading, errorLabel, errorCatch, cleanErrors, axiosGet} = useAxiosTools() useEffect(() => { @@ -21,7 +21,7 @@ const Weather = () => { return () => clearInterval(timer) }, [fetchTime]) - const getCurrentTime = () => Number(((new Date).getTime() /1000).toFixed()) + const getCurrentTime = () => Number(((new Date).getTime() / 1000).toFixed()) const fetchWeather = async () => { try { @@ -71,18 +71,21 @@ const Weather = () => {
{currentWeather?.main.temp.toFixed() ?? '--'} °C - {currentWeather?.weather[0].description} + {currentWeather?.weather[0].description}
{/*{currentWeather && {currentWeather?.weather[0].main}}*/} {currentWeather && {currentWeather?.weather[0].main}} + alt={currentWeather?.weather[0].main} width="120px"/>}
- {currentWeather?.main.temp_max.toFixed() ?? '--'} °C - {currentWeather?.main.temp_min.toFixed() ?? '--'} °C + {currentWeather?.main.temp_max.toFixed() ?? '--'} °C + {currentWeather?.main.temp_min.toFixed() ?? '--'} °C
@@ -95,9 +98,15 @@ const Weather = () => { export default Weather -const WeatherCard: FC<{date: string, values: WeatherValue[]}> = ({date, values= []}) => { +const WeatherCard: FC<{ date: string, values: WeatherValue[] }> = ({date, values = []}) => { - const [weatherState, setWeatherState] = useState<{main: string, description: string, icon: string, min: number, max: number}|null>(null) + const [weatherState, setWeatherState] = useState<{ + main: string, + description: string, + icon: string, + min: number, + max: number + } | null>(null) const [showDetails, setShowDetails] = useState(false) useEffect(() => { @@ -119,15 +128,15 @@ const WeatherCard: FC<{date: string, values: WeatherValue[]}> = ({date, values= } const tag = value.weather[0].main - if (! result[tag]) { + if (!result[tag]) { result[tag] = 0 } result[tag]++ }) - let itemToReturn: {name:string, value: number}|null = null + let itemToReturn: { name: string, value: number } | null = null for (const item in result) { - if (! itemToReturn || itemToReturn.value < result[item]) { + if (!itemToReturn || itemToReturn.value < result[item]) { itemToReturn = {name: item, value: result[item]} } } @@ -162,14 +171,14 @@ const WeatherCard: FC<{date: string, values: WeatherValue[]}> = ({date, values= {weatherState?.min.toFixed()} °C
- showDetails(false)} values={values} /> + showDetails(false)} values={values}/> } -const WeatherDetails: FC<{showDetails: boolean, closeDetails: () => void, values: WeatherValue[]}> = ({showDetails, closeDetails, values}) => { +const WeatherDetails: FC = ({showDetails, closeDetails, values}) => { return
    + className={`${showDetails ? 'h-44 opacity-100' : 'h-0 opacity-0'} flex gap-2 overflow-hidden overflow-x-auto transition-all`}> {values.map(value =>
  • {Number(value.dt_txt.split(' ')[1].split(':')[0])} h
    @@ -186,3 +195,9 @@ const WeatherDetails: FC<{showDetails: boolean, closeDetails: () => void, values
  • )}
} + +interface WeatherDetailsProps { + showDetails: boolean, + closeDetails: Dispatch>, + values: WeatherValue[], +}