2023-07-10 11:35:19 +00:00
|
|
|
import { useMemo } from 'react';
|
|
|
|
|
import PageviewsChart from 'components/metrics/PageviewsChart';
|
2023-07-26 20:42:55 +00:00
|
|
|
import { getDateArray } from 'lib/date';
|
2024-02-15 22:45:07 +00:00
|
|
|
import useWebsitePageviews from 'components/hooks/queries/useWebsitePageviews';
|
|
|
|
|
import { useDateRange } from 'components/hooks';
|
2023-07-10 11:35:19 +00:00
|
|
|
|
2023-12-03 11:07:03 +00:00
|
|
|
export function WebsiteChart({ websiteId }: { websiteId: string }) {
|
2023-07-10 11:35:19 +00:00
|
|
|
const [dateRange] = useDateRange(websiteId);
|
2024-02-03 01:49:17 +00:00
|
|
|
const { startDate, endDate, unit } = dateRange;
|
2024-02-15 22:45:07 +00:00
|
|
|
const { data, isLoading } = useWebsitePageviews(websiteId);
|
2023-07-10 11:35:19 +00:00
|
|
|
|
|
|
|
|
const chartData = useMemo(() => {
|
|
|
|
|
if (data) {
|
|
|
|
|
return {
|
|
|
|
|
pageviews: getDateArray(data.pageviews, startDate, endDate, unit),
|
|
|
|
|
sessions: getDateArray(data.sessions, startDate, endDate, unit),
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
return { pageviews: [], sessions: [] };
|
2023-07-26 20:42:55 +00:00
|
|
|
}, [data, startDate, endDate, unit]);
|
2023-07-10 11:35:19 +00:00
|
|
|
|
2023-12-03 11:07:03 +00:00
|
|
|
return <PageviewsChart data={chartData} unit={unit} isLoading={isLoading} />;
|
2023-07-10 11:35:19 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default WebsiteChart;
|