Skip to content

Commit 224bbb9

Browse files
committed
Add custom filters
1 parent f947530 commit 224bbb9

File tree

1 file changed

+46
-2
lines changed

1 file changed

+46
-2
lines changed

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

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,15 @@ import "react-date-range/dist/theme/default.css"
66
import Button from "@mui/material/Button"
77
import ArrowRightAltOutlined from "@mui/icons-material/ArrowRightAltOutlined"
88
import Popover from "@mui/material/Popover"
9-
import { DateRangePicker } from "react-date-range"
10-
import { format } from "date-fns"
9+
import { DateRangePicker, createStaticRanges } from "react-date-range"
10+
import { format, subDays } from "date-fns"
11+
12+
// The type definition from @types is wrong
13+
declare module "react-date-range" {
14+
export function createStaticRanges(
15+
ranges: Omit<StaticRange, "isSelected">[],
16+
): StaticRange[]
17+
}
1118

1219
export type DateRangeValue = {
1320
startDate: Date
@@ -92,6 +99,43 @@ export const DateRange = ({
9299
ranges={ranges}
93100
maxDate={new Date()}
94101
direction="horizontal"
102+
staticRanges={createStaticRanges([
103+
{
104+
label: "Today",
105+
range: () => ({
106+
startDate: new Date(),
107+
endDate: new Date(),
108+
}),
109+
},
110+
{
111+
label: "Yesterday",
112+
range: () => ({
113+
startDate: subDays(new Date(), 1),
114+
endDate: subDays(new Date(), 1),
115+
}),
116+
},
117+
{
118+
label: "Last 7 days",
119+
range: () => ({
120+
startDate: subDays(new Date(), 6),
121+
endDate: new Date(),
122+
}),
123+
},
124+
{
125+
label: "Last 15 days",
126+
range: () => ({
127+
startDate: subDays(new Date(), 14),
128+
endDate: new Date(),
129+
}),
130+
},
131+
{
132+
label: "Last 30 days",
133+
range: () => ({
134+
startDate: subDays(new Date(), 29),
135+
endDate: new Date(),
136+
}),
137+
},
138+
])}
95139
/>
96140
</Popover>
97141
</>

0 commit comments

Comments
 (0)