mirror of
https://github.com/umami-software/umami.git
synced 2026-02-11 16:17:13 +01:00
Added reports section.
This commit is contained in:
parent
ad918c5bba
commit
a5700d4a25
36 changed files with 422 additions and 43 deletions
42
components/pages/reports/ReportHeader.js
Normal file
42
components/pages/reports/ReportHeader.js
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
import { useState } from 'react';
|
||||
import { Flexbox, Icon, Text } from 'react-basics';
|
||||
import WebsiteSelect from 'components/input/WebsiteSelect';
|
||||
import PageHeader from 'components/layout/PageHeader';
|
||||
import DateFilter from 'components/input/DateFilter';
|
||||
import { parseDateRange } from 'lib/date';
|
||||
|
||||
export default function ReportHeader({ title, icon }) {
|
||||
const [websiteId, setWebsiteId] = useState();
|
||||
const [dateRange, setDateRange] = useState({});
|
||||
const { value, startDate, endDate } = dateRange;
|
||||
|
||||
const handleSelect = id => {
|
||||
setWebsiteId(id);
|
||||
};
|
||||
|
||||
const handleDateChange = value => setDateRange(parseDateRange(value));
|
||||
|
||||
const Title = () => {
|
||||
return (
|
||||
<>
|
||||
<Icon size="xl">{icon}</Icon>
|
||||
<Text>{title}</Text>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
return (
|
||||
<PageHeader title={<Title />}>
|
||||
<Flexbox gap={20}>
|
||||
<DateFilter
|
||||
value={value}
|
||||
startDate={startDate}
|
||||
endDate={endDate}
|
||||
onChange={handleDateChange}
|
||||
showAllTime
|
||||
/>
|
||||
<WebsiteSelect websiteId={websiteId} onSelect={handleSelect} />
|
||||
</Flexbox>
|
||||
</PageHeader>
|
||||
);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue