mirror of
https://github.com/umami-software/umami.git
synced 2026-02-07 22:27:16 +01:00
Add website/reports to top nav.
This commit is contained in:
parent
c2de8e4c0a
commit
f7eeaa622b
19 changed files with 361 additions and 66 deletions
38
hooks/useWebsiteReports.js
Normal file
38
hooks/useWebsiteReports.js
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
import { useState } from 'react';
|
||||
import useApi from './useApi';
|
||||
import useApiFilter from 'hooks/useApiFilter';
|
||||
|
||||
export function useWebsiteReports(websiteId) {
|
||||
const [modified, setModified] = useState(Date.now());
|
||||
const { get, useQuery, del, useMutation } = useApi();
|
||||
const { mutate } = useMutation(reportId => del(`/reports/${reportId}`));
|
||||
const { filter, page, pageSize, handleFilterChange, handlePageChange, handlePageSizeChange } =
|
||||
useApiFilter();
|
||||
const { data, error, isLoading } = useQuery(
|
||||
['reports:website', { websiteId, modified, filter, page, pageSize }],
|
||||
() => get(`/websites/${websiteId}/reports`, { websiteId, filter, page, pageSize }),
|
||||
);
|
||||
|
||||
const deleteReport = id => {
|
||||
mutate(id, {
|
||||
onSuccess: () => {
|
||||
setModified(Date.now());
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
return {
|
||||
reports: data,
|
||||
error,
|
||||
isLoading,
|
||||
deleteReport,
|
||||
filter,
|
||||
page,
|
||||
pageSize,
|
||||
handleFilterChange,
|
||||
handlePageChange,
|
||||
handlePageSizeChange,
|
||||
};
|
||||
}
|
||||
|
||||
export default useWebsiteReports;
|
||||
Loading…
Add table
Add a link
Reference in a new issue