diff --git a/components/metrics/EventsTable.js b/components/metrics/EventsTable.js index 57e8e6b4..5599bc2e 100644 --- a/components/metrics/EventsTable.js +++ b/components/metrics/EventsTable.js @@ -4,11 +4,6 @@ import MetricsTable from './MetricsTable'; import Tag from 'components/common/Tag'; import DropDown from 'components/common/DropDown'; import { eventTypeFilter } from 'lib/filters'; -import useDateRange from 'hooks/useDateRange'; -import useFetch from 'hooks/useFetch'; -import usePageQuery from 'hooks/usePageQuery'; -import useShareToken from 'hooks/useShareToken'; -import { TOKEN_HEADER } from 'lib/constants'; import styles from './EventsTable.module.css'; const EVENT_FILTER_DEFAULT = { @@ -18,34 +13,18 @@ const EVENT_FILTER_DEFAULT = { export default function EventsTable({ websiteId, ...props }) { const [eventType, setEventType] = useState(EVENT_FILTER_DEFAULT.value); + const [eventTypes, setEventTypes] = useState([]); - const { - query: { url }, - } = usePageQuery(); - - const shareToken = useShareToken(); - const [dateRange] = useDateRange(websiteId); - - const { startDate, endDate, modified } = dateRange; - const { data, loading, error } = useFetch( - `/api/website/${websiteId}/event-types`, - { - params: { - start_at: +startDate, - end_at: +endDate, - url, - }, - headers: { [TOKEN_HEADER]: shareToken?.token }, - }, - [modified], - ); - - const eventTypes = data ? [...new Set(data.map(({ x }) => x))] : []; const dropDownOptions = [EVENT_FILTER_DEFAULT, ...eventTypes.map(t => ({ value: t, label: t }))]; + function handleDataLoad(data) { + setEventTypes([...new Set(data.map(({ x }) => x.split('\t')[0]))]); + props.onDataLoad(data); + } + return ( <> - {!loading && !error && eventTypes.length > 1 && ( + {eventTypes?.length > 1 && (
@@ -59,6 +38,7 @@ export default function EventsTable({ websiteId, ...props }) { dataFilter={eventTypeFilter} filterOptions={eventType === EVENT_FILTER_DEFAULT.value ? [] : [eventType]} renderLabel={({ x }) =>