From e5985e7bc46fd494b5de37084a0b0fa01cb28285 Mon Sep 17 00:00:00 2001 From: Kai Date: Wed, 11 Jun 2025 11:26:43 -0700 Subject: [PATCH] fix: event properties bug --- src/components/EnhancedPromotionModal/index.tsx | 6 +++--- src/pages/Gallery-N/DictRequest.tsx | 6 +++--- src/utils/trackEvent.ts | 5 ++++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/components/EnhancedPromotionModal/index.tsx b/src/components/EnhancedPromotionModal/index.tsx index 3d7d1442..37474d00 100644 --- a/src/components/EnhancedPromotionModal/index.tsx +++ b/src/components/EnhancedPromotionModal/index.tsx @@ -1,6 +1,6 @@ import noop from '../../utils/noop' import { hasSeenEnhancedPromotionAtom } from '@/store' -import { trackEvent } from '@/utils/trackEvent' +import { trackPromotionEvent } from '@/utils/trackEvent' import { Dialog, Transition } from '@headlessui/react' import { useAtom } from 'jotai' import type React from 'react' @@ -24,7 +24,7 @@ const EnhancedPromotionModal: React.FC = () => { }, [hasSeenPromotion]) const handleTryNow = () => { - trackEvent('promotion_event', { + trackPromotionEvent('promotion_event', { from: 'promotion_modal', action: 'open', action_detail: 'promotion_modal_open', @@ -36,7 +36,7 @@ const EnhancedPromotionModal: React.FC = () => { } const handleDismiss = () => { - trackEvent('promotion_event', { + trackPromotionEvent('promotion_event', { from: 'promotion_modal', action: 'close', action_detail: 'promotion_modal_close', diff --git a/src/pages/Gallery-N/DictRequest.tsx b/src/pages/Gallery-N/DictRequest.tsx index e6c782c7..a425cf23 100644 --- a/src/pages/Gallery-N/DictRequest.tsx +++ b/src/pages/Gallery-N/DictRequest.tsx @@ -1,5 +1,5 @@ import InfoPanel from '@/components/InfoPanel' -import { trackEvent } from '@/utils/trackEvent' +import { trackPromotionEvent } from '@/utils/trackEvent' import { useCallback, useState } from 'react' import IconBook2 from '~icons/tabler/book-2' @@ -8,7 +8,7 @@ export default function DictRequest() { const onOpenPanel = useCallback(() => { setShowPanel(true) - trackEvent('promotion_event', { + trackPromotionEvent('promotion_event', { from: 'dict_request_button', action: 'open', action_detail: 'dict_request_button_open', @@ -17,7 +17,7 @@ export default function DictRequest() { const onClosePanel = useCallback(() => { setShowPanel(false) - trackEvent('promotion_event', { + trackPromotionEvent('promotion_event', { from: 'dict_request_panel', action: 'close', action_detail: 'dict_request_panel_close', diff --git a/src/utils/trackEvent.ts b/src/utils/trackEvent.ts index 0450d9f8..5fa4469a 100644 --- a/src/utils/trackEvent.ts +++ b/src/utils/trackEvent.ts @@ -1,12 +1,15 @@ import { track } from '@vercel/analytics' -export const trackEvent = (event: string, properties: Record) => { +export const trackPromotionEvent = (event: string, properties: Record) => { track(event, properties) // @ts-expect-error gtag is not defined in the window object if (typeof window !== 'undefined' && window?.gtag) { try { window.gtag('event', event, { ...properties }) + if (properties.action_detail) { + window.gtag('event', properties.action_detail) + } } catch (error) { console.error(error) }