From bc3f331b685ae4120738a5d83f99be7b59e01e20 Mon Sep 17 00:00:00 2001 From: Nizzy Date: Mon, 31 Mar 2025 23:22:11 -0700 Subject: [PATCH] posthog --- apps/mail/app/(auth)/login/login-client.tsx | 5 ++--- apps/mail/lib/posthog-provider.tsx | 17 +++++++++++++++++ apps/mail/lib/providers.tsx | 5 ++++- apps/mail/providers/providers.tsx | 0 bun.lock | 11 +++++++++++ package.json | 3 ++- 6 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 apps/mail/lib/posthog-provider.tsx delete mode 100644 apps/mail/providers/providers.tsx diff --git a/apps/mail/app/(auth)/login/login-client.tsx b/apps/mail/app/(auth)/login/login-client.tsx index 882941271..cf8cff0e0 100644 --- a/apps/mail/app/(auth)/login/login-client.tsx +++ b/apps/mail/app/(auth)/login/login-client.tsx @@ -1,7 +1,7 @@ 'use client'; import { useEffect, type ReactNode, useState } from 'react'; -import { GitHub, Google } from '@/components/icons/icons'; +import { Google } from '@/components/icons/icons'; import { type EnvVarInfo } from '@/lib/auth-providers'; import { signIn, useSession } from '@/lib/auth-client'; import { Button } from '@/components/ui/button'; @@ -39,8 +39,7 @@ const getProviderIcon = (providerId: string, className?: string): ReactNode => { switch (providerId) { case 'google': return ; - case 'github': - return ; + case 'zero': return ( { + posthog.init(process.env.NEXT_PUBLIC_POSTHOG_KEY as string, { + api_host: process.env.NEXT_PUBLIC_POSTHOG_HOST, + capture_pageview: true, + }); + }, []); + + return {children}; +} diff --git a/apps/mail/lib/providers.tsx b/apps/mail/lib/providers.tsx index db91dcee6..222395607 100644 --- a/apps/mail/lib/providers.tsx +++ b/apps/mail/lib/providers.tsx @@ -4,6 +4,7 @@ import { ThemeProvider as NextThemesProvider } from 'next-themes'; import { AISidebarProvider } from '@/components/ui/ai-sidebar'; import { SidebarProvider } from '@/components/ui/sidebar'; import { NuqsAdapter } from 'nuqs/adapters/next/app'; +import { PostHogProvider } from './posthog-provider'; import { Provider as JotaiProvider } from 'jotai'; export function Providers({ children, ...props }: React.ComponentProps) { @@ -12,7 +13,9 @@ export function Providers({ children, ...props }: React.ComponentProps - {children} + + {children} + diff --git a/apps/mail/providers/providers.tsx b/apps/mail/providers/providers.tsx deleted file mode 100644 index e69de29bb..000000000 diff --git a/bun.lock b/bun.lock index 961e30eac..2edf0b4c9 100644 --- a/bun.lock +++ b/bun.lock @@ -5,6 +5,7 @@ "name": "zero", "dependencies": { "openai": "^4.90.0", + "posthog-js": "^1.234.4", }, "devDependencies": { "@types/node": "22.13.8", @@ -889,6 +890,8 @@ "copy-to-clipboard": ["copy-to-clipboard@3.3.3", "", { "dependencies": { "toggle-selection": "^1.0.6" } }, "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA=="], + "core-js": ["core-js@3.41.0", "", {}, "sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA=="], + "crelt": ["crelt@1.0.6", "", {}, "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g=="], "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], @@ -1097,6 +1100,8 @@ "fdir": ["fdir@6.4.3", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw=="], + "fflate": ["fflate@0.4.8", "", {}, "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA=="], + "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], @@ -1591,6 +1596,10 @@ "postgres": ["postgres@3.4.5", "", {}, "sha512-cDWgoah1Gez9rN3H4165peY9qfpEo+SA61oQv65O3cRUE1pOEoJWwddwcqKE8XZYjbblOJlYDlLV4h67HrEVDg=="], + "posthog-js": ["posthog-js@1.234.4", "", { "dependencies": { "core-js": "^3.38.1", "fflate": "^0.4.8", "preact": "^10.19.3", "web-vitals": "^4.2.4" }, "peerDependencies": { "@rrweb/types": "2.0.0-alpha.17", "rrweb-snapshot": "2.0.0-alpha.17" }, "optionalPeers": ["@rrweb/types", "rrweb-snapshot"] }, "sha512-IH7ISmm7SP+GYeCJ+RjlBnA9AtmbT6W/mZUW/ca/erHNb1EE1K3//IzDGyGYs7dT26b/HH9Z9kdO51h7PVSi6w=="], + + "preact": ["preact@10.26.4", "", {}, "sha512-KJhO7LBFTjP71d83trW+Ilnjbo+ySsaAgCfXOXUlmGzJ4ygYPWmysm77yg4emwfmoz3b22yvH5IsVFHbhUaH5w=="], + "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], "prettier": ["prettier@3.5.3", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw=="], @@ -1975,6 +1984,8 @@ "web-streams-polyfill": ["web-streams-polyfill@4.0.0-beta.3", "", {}, "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug=="], + "web-vitals": ["web-vitals@4.2.4", "", {}, "sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw=="], + "webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="], "whatwg-encoding": ["whatwg-encoding@3.1.1", "", { "dependencies": { "iconv-lite": "0.6.3" } }, "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ=="], diff --git a/package.json b/package.json index 721f46bc4..b4c402113 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "packages/*" ], "dependencies": { - "openai": "^4.90.0" + "openai": "^4.90.0", + "posthog-js": "^1.234.4" } }