123456789101112131415161718192021222324252627282930313233 |
- import {useEffect} from 'react';
- import {trackAnalytics} from 'sentry/utils/analytics';
- import type {MutableSearch} from 'sentry/utils/tokenizeSearch';
- import useOrganization from 'sentry/utils/useOrganization';
- import usePageFilters from 'sentry/utils/usePageFilters';
- import {useHasData} from 'sentry/views/performance/onboarding/useHasData';
- export function useHasDataTrackAnalytics(
- mutableSearch: MutableSearch,
- referrer: string,
- analyticEvent: string
- ) {
- const organization = useOrganization();
- const pageFilters = usePageFilters();
- const {hasData, isLoading: isHasDataLoading} = useHasData(mutableSearch, referrer);
- useEffect(() => {
- if (!isHasDataLoading) {
- trackAnalytics(analyticEvent, {
- organization,
- has_data: hasData,
- });
- }
- }, [
- organization,
- hasData,
- isHasDataLoading,
- analyticEvent,
- // Treat different project selections as unique analytic events
- pageFilters.selection.projects,
- ]);
- }
|