@@ -27,40 +27,39 @@ export default function SidebarPanel({
2727 minWidth = 280,
2828}) {
2929 const DEFAULT_PRESET_DAYS = "14";
30+ const today = new Date();
31+ const todayStr = today.toISOString().slice(0, 10);
3032 const [selectedPreset, setSelectedPreset] = useState(DEFAULT_PRESET_DAYS);
3133
3234 useEffect(() => {
33- const today = new Date();
3435 const from = new Date(today);
3536 from.setDate(today.getDate() - Number(DEFAULT_PRESET_DAYS));
3637 const startStr = from.toISOString().slice(0, 10);
37- const endStr = today.toISOString().slice(0, 10) ;
38+ const endStr = todayStr ;
3839 setDateStart(startStr);
3940 setDateEnd(endStr);
4041 // eslint-disable-next-line
4142 }, []);
4243
4344 const handlePreset = (daysStr) => {
4445 const days = Number(daysStr);
45- const today = new Date();
4646 const from = new Date(today);
4747 from.setDate(today.getDate() - days);
4848 setDateStart(from.toISOString().slice(0, 10));
49- setDateEnd(today.toISOString().slice(0, 10) );
49+ setDateEnd(todayStr );
5050 setSelectedPreset(daysStr);
5151 };
5252
5353 useEffect(() => {
5454 if (!selectedPreset) return;
55- const today = new Date().toISOString().slice(0, 10);
5655 const preset = PRESETS.find((p) => p.days === selectedPreset);
5756 if (preset) {
5857 const expectedStart = (() => {
5958 const d = new Date(today);
60- d.setDate(d .getDate() - Number(preset.days));
59+ d.setDate(today .getDate() - Number(preset.days));
6160 return d.toISOString().slice(0, 10);
6261 })();
63- if (dateStart !== expectedStart || dateEnd !== today ) {
62+ if (dateStart !== expectedStart || dateEnd !== todayStr ) {
6463 setSelectedPreset("");
6564 }
6665 }
@@ -104,6 +103,7 @@ export default function SidebarPanel({
104103 setDateStart(e.target.value);
105104 setSelectedPreset("");
106105 }}
106+ max={todayStr}
107107 className="sidebar-panel-date-input"
108108 />
109109 <span className="sidebar-panel-date-separator">–</span>
@@ -114,7 +114,7 @@ export default function SidebarPanel({
114114 setDateEnd(e.target.value);
115115 setSelectedPreset("");
116116 }}
117- max={new Date().toISOString().slice(0, 10) }
117+ max={todayStr }
118118 className="sidebar-panel-date-input"
119119 />
120120 </div>
0 commit comments