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?