@@ -27,7 +27,7 @@ import {
27
27
TemplateParameterValue ,
28
28
UserLatencyInsightsResponse ,
29
29
} from "api/typesGenerated" ;
30
- import { ComponentProps , ReactNode , useState } from "react" ;
30
+ import { ComponentProps , ReactNode } from "react" ;
31
31
import {
32
32
subDays ,
33
33
subWeeks ,
@@ -57,7 +57,7 @@ export default function TemplateInsightsPage() {
57
57
const [ searchParams , setSearchParams ] = useSearchParams ( ) ;
58
58
59
59
const defaultWeeklyPreset = 4 ;
60
- const defaultDateRangeValue = {
60
+ const defaultDailyRange = {
61
61
startDate : subDays ( now , 6 ) ,
62
62
endDate : now ,
63
63
} ;
@@ -74,12 +74,21 @@ export default function TemplateInsightsPage() {
74
74
setSearchParams ( searchParams ) ;
75
75
} ;
76
76
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
+ } ;
80
89
81
90
const dateRange =
82
- interval === "day" ? dateRangeValue : getWeeklyRange ( weeklyPreset ) ;
91
+ interval === "day" ? dailyRange : getWeeklyRange ( weeklyPreset ) ;
83
92
const commonFilters = {
84
93
template_ids : template . id ,
85
94
...getDateRangeFilter ( dateRange ) ,
@@ -102,15 +111,15 @@ export default function TemplateInsightsPage() {
102
111
if ( interval === "week" ) {
103
112
setWeeklyPreset ( defaultWeeklyPreset ) ;
104
113
} else {
105
- setDateRangeValue ( defaultDateRangeValue ) ;
114
+ setDailyRange ( defaultDailyRange ) ;
106
115
}
107
116
108
117
searchParams . set ( "interval" , interval ) ;
109
118
setSearchParams ( searchParams ) ;
110
119
} }
111
120
/>
112
121
{ interval === "day" ? (
113
- < DateRange value = { dateRangeValue } onChange = { setDateRangeValue } />
122
+ < DateRange value = { dailyRange } onChange = { setDailyRange } />
114
123
) : (
115
124
< WeeklyPresetsMenu
116
125
value = { weeklyPreset }
0 commit comments