Skip to main content
Glama
usePostHog.ts1.05 kB
import { usePostHog as usePostHogOriginal } from "posthog-js/react"; // Map of event names to their properties (use `never` if no properties). export type PostHogEventMap = { created_project: never; deleted_projects: never; created_table: never; add_documents: { count: number; }; added_environment_variables: { count: number; }; uploaded_files: { count: number; }; }; export type PostHogEvent = keyof PostHogEventMap; // Type-safe wrapper around PostHog's capture function, only allows capturing // events with predefined event names and their specific properties. export function usePostHog() { const posthog = usePostHogOriginal(); // Captures a custom event by name, with properties as required. function capture<E extends PostHogEvent>( event: E, ...args: PostHogEventMap[E] extends never ? [] : [properties: PostHogEventMap[E]] ) { posthog?.capture(event, args[0]); } return { capture, posthog, // Expose the original PostHog instance for advanced use cases. }; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/get-convex/convex-backend'

If you have feedback or need assistance with the MCP directory API, please join our Discord server