import { OpenPanel, type TrackProperties } from "@openpanel/nextjs"; import { waitUntil } from "@vercel/functions"; export const setupAnalytics = async () => { const client = new OpenPanel({ clientId: process.env.NEXT_PUBLIC_OPENPANEL_CLIENT_ID!, clientSecret: process.env.OPENPANEL_SECRET_KEY!, }); return { track: (options: { event: string } & TrackProperties) => { if (process.env.NODE_ENV !== "production") { console.log("Track", options); return; } const { event, ...rest } = options; waitUntil(client.track(event, rest)); }, }; };