umami/src/app/(main)/profile/DateRangeSetting.tsx

31 lines
985 B
TypeScript
Raw Normal View History

2023-02-15 11:27:18 +01:00
import DateFilter from 'components/input/DateFilter';
import { Button, Flexbox } from 'react-basics';
import { useDateRange, useMessages } from 'components/hooks';
import { DEFAULT_DATE_RANGE } from 'lib/constants';
2024-01-14 11:21:39 +01:00
import { DateRange } from 'lib/types';
import styles from './DateRangeSetting.module.css';
2023-04-21 17:00:42 +02:00
export function DateRangeSetting() {
2023-03-22 22:05:55 +01:00
const { formatMessage, labels } = useMessages();
const [dateRange, setDateRange] = useDateRange();
2023-05-12 01:42:58 +02:00
const { value } = dateRange;
2024-01-14 11:21:39 +01:00
const handleChange = (value: string | DateRange) => setDateRange(value);
const handleReset = () => setDateRange(DEFAULT_DATE_RANGE);
return (
<Flexbox gap={10} width={300}>
<DateFilter
className={styles.field}
value={value}
startDate={dateRange.startDate}
endDate={dateRange.endDate}
onChange={handleChange}
/>
2023-01-25 16:42:46 +01:00
<Button onClick={handleReset}>{formatMessage(labels.reset)}</Button>
</Flexbox>
);
}
2023-04-21 17:00:42 +02:00
export default DateRangeSetting;