Skip to content

Commit 6d33f90

Browse files
committed
Move date range to search params
1 parent cf79978 commit 6d33f90

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

site/src/pages/TemplatePage/TemplateInsightsPage/TemplateInsightsPage.tsx

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import {
2727
TemplateParameterValue,
2828
UserLatencyInsightsResponse,
2929
} from "api/typesGenerated";
30-
import { ComponentProps, ReactNode, useState } from "react";
30+
import { ComponentProps, ReactNode } from "react";
3131
import {
3232
subDays,
3333
subWeeks,
@@ -57,7 +57,7 @@ export default function TemplateInsightsPage() {
5757
const [searchParams, setSearchParams] = useSearchParams();
5858

5959
const defaultWeeklyPreset = 4;
60-
const defaultDateRangeValue = {
60+
const defaultDailyRange = {
6161
startDate: subDays(now, 6),
6262
endDate: now,
6363
};
@@ -74,12 +74,21 @@ export default function TemplateInsightsPage() {
7474
setSearchParams(searchParams);
7575
};
7676

77-
const [dateRangeValue, setDateRangeValue] = useState<DateRangeValue>(
78-
defaultDateRangeValue,
79-
);
77+
const dailyRange =
78+
searchParams.has("startDate") && searchParams.has("endDate")
79+
? {
80+
startDate: new Date(searchParams.get("startDate")!),
81+
endDate: new Date(searchParams.get("endDate")!),
82+
}
83+
: defaultDailyRange;
84+
const setDailyRange = (newDailyRange: DateRangeValue) => {
85+
searchParams.set("startDate", newDailyRange.startDate.toISOString());
86+
searchParams.set("endDate", newDailyRange.endDate.toISOString());
87+
setSearchParams(searchParams);
88+
};
8089

8190
const dateRange =
82-
interval === "day" ? dateRangeValue : getWeeklyRange(weeklyPreset);
91+
interval === "day" ? dailyRange : getWeeklyRange(weeklyPreset);
8392
const commonFilters = {
8493
template_ids: template.id,
8594
...getDateRangeFilter(dateRange),
@@ -102,15 +111,15 @@ export default function TemplateInsightsPage() {
102111
if (interval === "week") {
103112
setWeeklyPreset(defaultWeeklyPreset);
104113
} else {
105-
setDateRangeValue(defaultDateRangeValue);
114+
setDailyRange(defaultDailyRange);
106115
}
107116

108117
searchParams.set("interval", interval);
109118
setSearchParams(searchParams);
110119
}}
111120
/>
112121
{interval === "day" ? (
113-
<DateRange value={dateRangeValue} onChange={setDateRangeValue} />
122+
<DateRange value={dailyRange} onChange={setDailyRange} />
114123
) : (
115124
<WeeklyPresetsMenu
116125
value={weeklyPreset}

0 commit comments

Comments
 (0)