MCPcopy Create free account
hub / github.com/OpenPipe/OpenPipe / LogsDateFilter

Function LogsDateFilter

app/src/components/Filters/LogsDateFilter.tsx:21–60  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

19import { getDefaultDateFilter, useDateFilter } from "./useDateFilter";
20
21const LogsDateFilter = () => {
22 const { filters, updateFilter, addFilter, deleteFilter } = useDateFilter();
23 const filter = filters[0];
24
25 const updateOrAddFilter = useCallback(
26 (comparator: FilterData["comparator"]) => {
27 filter ? updateFilter({ ...filter, comparator: comparator }) : addFilter(comparator);
28 },
29 [filter, updateFilter, addFilter],
30 );
31
32 return (
33 <ButtonGroup size="sm" isAttached variant="outline">
34 {["LAST 15M", "LAST 24H", "LAST 7D"].map((timeFrame) => (
35 <Button
36 key={timeFrame}
37 backgroundColor={"white"}
38 isActive={filter?.comparator === timeFrame}
39 onClick={() => updateOrAddFilter(timeFrame as FilterData["comparator"])}
40 >
41 {timeFrame.split(" ")[1]?.toLowerCase()}
42 </Button>
43 ))}
44 <Button backgroundColor={"white"} isActive={!filter} onClick={deleteFilter}>
45 All
46 </Button>
47
48 <Popover>
49 {({ onClose }) => (
50 <>
51 <PopoverTrigger>
52 <Button isActive={filter?.comparator === "RANGE"}>Custom</Button>
53 </PopoverTrigger>
54 <DateRange filter={filter} close={onClose} />
55 </>
56 )}
57 </Popover>
58 </ButtonGroup>
59 );
60};
61
62const DateRange = ({ filter, close }: { filter?: FilterData; close: () => void }) => {
63 const updateFilter = useDateFilter().updateFilter;

Callers

nothing calls this directly

Calls 3

useDateFilterFunction · 0.90
updateFilterFunction · 0.70
addFilterFunction · 0.70

Tested by

no test coverage detected