From 1be25af353b5039503ece4e45010e1a1f7436288 Mon Sep 17 00:00:00 2001 From: Florian Schroedl Date: Tue, 23 Jan 2024 17:47:10 +0100 Subject: [PATCH] Use date from option --- src/components/main/routes/Dashboard.tsx | 13 +++++++++---- src/components/ui/DatePicker.tsx | 1 + 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/components/main/routes/Dashboard.tsx b/src/components/main/routes/Dashboard.tsx index b94e7af..c9111f7 100644 --- a/src/components/main/routes/Dashboard.tsx +++ b/src/components/main/routes/Dashboard.tsx @@ -1,6 +1,6 @@ import React, { useState, useEffect } from "react"; import { LineChart, Line, CartesianGrid, XAxis, YAxis } from "recharts"; -import { format, addDays } from "date-fns"; +import { format, addDays, getUnixDays } from "date-fns"; import { formatDate, minDate, @@ -52,9 +52,14 @@ const WeatherChart = function ({ data }) { }; export const Dashboard = function ({ state, updateState }) { - const [dateTime, setDateTime] = useState( - minDate(state?.options?.startDate || new Date()), - ); + const defaultDate = path(["options", "defaultDate"], state); + const minimumDate = minDate(new Date()); + + // Make sure the default date entered by the user is bigger than the minimum date that the API allows. + const initialDate = + defaultDate && defaultDate > minimumDate ? defaultDate : minimumDate; + + const [dateTime, setDateTime] = useState(initialDate); const dateKey = formatDate(dateTime); const data = path(["dataCache", dateKey], state); diff --git a/src/components/ui/DatePicker.tsx b/src/components/ui/DatePicker.tsx index 916bb45..6e1c537 100644 --- a/src/components/ui/DatePicker.tsx +++ b/src/components/ui/DatePicker.tsx @@ -28,6 +28,7 @@ export const ForecastDatePicker = function ({ Forecast date (min. of 14 days in advance)