diff --git a/apps/frontend-v3/lib/components/navs/BuildNavLink.tsx b/apps/frontend-v3/lib/components/navs/BuildNavLink.tsx index 898036209f..bcb8c63426 100644 --- a/apps/frontend-v3/lib/components/navs/BuildNavLink.tsx +++ b/apps/frontend-v3/lib/components/navs/BuildNavLink.tsx @@ -10,6 +10,7 @@ import { useDisclosure, } from '@chakra-ui/react' import { BuildPopover } from './BuildPopover' +import { AnalyticsEvent, trackEvent } from '@repo/lib/shared/services/fathom/Fathom' export function BuildNavLink() { const { isOpen, onOpen, onClose } = useDisclosure() @@ -43,6 +44,7 @@ export function BuildNavLink() { }, [isOpen, onClose]) const handleToggle = () => { + trackEvent(AnalyticsEvent.ClickNavBuild) if (isOpen) { onClose() } else { diff --git a/apps/frontend-v3/lib/components/navs/NavLogo.tsx b/apps/frontend-v3/lib/components/navs/NavLogo.tsx index 4375c4caed..33d8aa0199 100644 --- a/apps/frontend-v3/lib/components/navs/NavLogo.tsx +++ b/apps/frontend-v3/lib/components/navs/NavLogo.tsx @@ -6,11 +6,16 @@ import { BalancerLogoType } from '../imgs/BalancerLogoType' import { Box, Link } from '@chakra-ui/react' import { motion } from 'framer-motion' import NextLink from 'next/link' +import { AnalyticsEvent, trackEvent } from '@repo/lib/shared/services/fathom/Fathom' export function NavLogo() { + const handleLogoClick = () => { + trackEvent(AnalyticsEvent.ClickNavBalancerLogo) + } + return ( - + diff --git a/packages/lib/config/projects/balancer.ts b/packages/lib/config/projects/balancer.ts index b4a56241b0..a530af6925 100644 --- a/packages/lib/config/projects/balancer.ts +++ b/packages/lib/config/projects/balancer.ts @@ -53,7 +53,7 @@ export const ProjectConfigBalancer: ProjectConfig = { isOnSafeAppList: true, }, links: { - appLinks: [{ href: '/vebal', label: 'veBAL' }], + appLinks: [{ analyticsEvent: 'ClickNavVeBal', href: '/vebal', label: 'veBAL' }], ecosystemLinks: [ { label: 'Pool creator', href: 'https://pool-creator.balancer.fi/' }, { label: 'Blog', href: 'https://medium.com/balancer-protocol' }, diff --git a/packages/lib/modules/pool/PoolList/PoolListFilters.tsx b/packages/lib/modules/pool/PoolList/PoolListFilters.tsx index 14eb480b5e..c4d8b8ab60 100644 --- a/packages/lib/modules/pool/PoolList/PoolListFilters.tsx +++ b/packages/lib/modules/pool/PoolList/PoolListFilters.tsx @@ -53,6 +53,7 @@ import { isCowAmm, isBalancer, PROJECT_CONFIG } from '@repo/lib/config/getProjec import { poolTypeLabel } from '../pool.helpers' import { AnimatedTag } from '@repo/lib/shared/components/other/AnimatedTag' import { PoolMinTvlFilter } from './PoolMinTvlFilter' +import { AnalyticsEvent, trackEvent } from '@repo/lib/shared/services/fathom/Fathom' export function useFilterTagsVisible() { const { @@ -378,12 +379,24 @@ export function FilterTags({ } export const FilterButton = forwardRef( - ({ totalFilterCount, ...props }, ref) => { + ({ totalFilterCount, onClick, ...props }, ref) => { const { isMobile } = useBreakpoints() const textColor = useColorModeValue('#fff', 'font.dark') + const handleFilterClick = (e: React.MouseEvent) => { + trackEvent(AnalyticsEvent.ClickPoolListFilter) + onClick?.(e) + } + return ( - ) diff --git a/packages/lib/modules/user/settings/UserSettings.tsx b/packages/lib/modules/user/settings/UserSettings.tsx index 8a2b2a8fcf..fa43dd75ec 100644 --- a/packages/lib/modules/user/settings/UserSettings.tsx +++ b/packages/lib/modules/user/settings/UserSettings.tsx @@ -23,6 +23,8 @@ import { blockInvalidNumberInput } from '@repo/lib/shared/utils/numbers' import { Percent, Settings } from 'react-feather' import { CurrencySelect } from './CurrencySelect' import { EnableTxBundleSetting } from './EnableTxBundlesSetting' +import { AnalyticsEvent, trackEvent } from '@repo/lib/shared/services/fathom/Fathom' +import { isBalancer } from '@repo/lib/config/getProjectConfig' interface SlippageInputProps { slippage: string @@ -96,10 +98,14 @@ function ToggleAllowSounds() { export function UserSettings() { const { slippage, setSlippage } = useUserSettings() + const handleSettingsClick = () => { + if (isBalancer) trackEvent(AnalyticsEvent.ClickNavUtilitiesSettings) + } + return ( - diff --git a/packages/lib/modules/web3/ConnectWallet.tsx b/packages/lib/modules/web3/ConnectWallet.tsx index c5b518badf..d696bc3849 100644 --- a/packages/lib/modules/web3/ConnectWallet.tsx +++ b/packages/lib/modules/web3/ConnectWallet.tsx @@ -3,6 +3,8 @@ import { Box, Button, ButtonProps, HStack, Img, Show } from '@chakra-ui/react' import { CustomAvatar } from './CustomAvatar' import { useUserAccount } from './UserAccountProvider' import { useIsSafeApp } from './safe.hooks' +import { AnalyticsEvent, trackEvent } from '@repo/lib/shared/services/fathom/Fathom' +import { isBalancer } from '@repo/lib/config/getProjectConfig' export function ConnectWallet({ connectLabel = 'Connect wallet', @@ -33,6 +35,11 @@ export function ConnectWallet({ (!authenticationStatus || authenticationStatus === 'authenticated') if (!isConnected) { + const handleConnectClick = () => { + if (isBalancer) trackEvent(AnalyticsEvent.ClickNavUtilitiesWalletConnect) + openConnectModal() + } + return ( {showCreateWalletButton && ( @@ -54,7 +61,7 @@ export function ConnectWallet({ -