umami/src/app/(main)/reports/retention/RetentionReport.tsx

34 lines
1 KiB
TypeScript
Raw Normal View History

2023-08-04 20:10:03 +00:00
import RetentionTable from './RetentionTable';
import RetentionParameters from './RetentionParameters';
2024-02-06 07:59:33 +00:00
import ReportPage from '../[reportId]/ReportPage';
2024-01-29 22:47:52 +00:00
import ReportHeader from '../[reportId]/ReportHeader';
import ReportMenu from '../[reportId]/ReportMenu';
import ReportBody from '../[reportId]/ReportBody';
2023-08-13 03:13:11 +00:00
import Magnet from 'assets/magnet.svg';
import { REPORT_TYPES } from 'lib/constants';
2023-08-17 10:21:20 +00:00
import { parseDateRange } from 'lib/date';
import { endOfMonth, startOfMonth } from 'date-fns';
2023-08-04 20:10:03 +00:00
const defaultParameters = {
2023-08-13 03:13:11 +00:00
type: REPORT_TYPES.retention,
2023-08-17 10:21:20 +00:00
parameters: {
dateRange: parseDateRange(
`range:${startOfMonth(new Date()).getTime()}:${endOfMonth(new Date()).getTime()}`,
),
},
2023-08-04 20:10:03 +00:00
};
2024-02-03 01:49:17 +00:00
export default function RetentionReport({ reportId }: { reportId?: string }) {
2023-08-04 20:10:03 +00:00
return (
2024-02-06 07:59:33 +00:00
<ReportPage reportId={reportId} defaultParameters={defaultParameters}>
2023-08-13 03:13:11 +00:00
<ReportHeader icon={<Magnet />} />
2023-08-04 20:10:03 +00:00
<ReportMenu>
<RetentionParameters />
</ReportMenu>
<ReportBody>
<RetentionTable />
</ReportBody>
2024-02-06 07:59:33 +00:00
</ReportPage>
2023-08-04 20:10:03 +00:00
);
}