Analytics
Architecture
Component
└── useAnalytics() ← single hook, no provider knowledge
└── AnalyticsContext
└── AnalyticsProvider (interface)
├── FirebaseProvider (VITE_ANALYTICS_PROVIDER=firebase)
├── PostHogProvider (VITE_ANALYTICS_PROVIDER=posthog)
└── NoopProvider (default / dev)Tracking an Event in a Component
import { useAnalytics, AnalyticsEvents } from '@analytics';
function MyComponent() {
const { track } = useAnalytics();
const handleClaim = () => {
track(AnalyticsEvents.CLAIM_BOOST, {
method: 'Claim Modal',
boostType: 'Achievement',
});
};
}Adding a New Event
Providers
Local development
PostHog (when configured)
Screen / Page Tracking
Age Gating (useAnalyticsAgeGate)
useAnalyticsAgeGate)Event Catalog
Constant
Event string
Description
Last updated
Was this helpful?