make posthog variables optional
This commit is contained in:
parent
705a07b9ca
commit
0aee54bd10
5 changed files with 18 additions and 13 deletions
|
|
@ -26,10 +26,10 @@ const config = {
|
|||
|
||||
async rewrites() {
|
||||
return [
|
||||
{
|
||||
...(!!env.POSTHOG_PROXY_PATH && !env.NEXT_PUBLIC_POSTHOG_HOST ? [{
|
||||
source: "/" + env.POSTHOG_PROXY_PATH + "/:path*",
|
||||
destination: env.NEXT_PUBLIC_POSTHOG_HOST + "/:path*",
|
||||
},
|
||||
}]: []),
|
||||
];
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ const server = z.object({
|
|||
STRIPE_WEBHOOK_SECRET: z.string().nullish(),
|
||||
STRIPE_MONTHLY_PRICE_ID: z.string().nullish(),
|
||||
STRIPE_ANNUAL_PRICE_ID: z.string().nullish(),
|
||||
POSTHOG_PROXY_PATH: z.string(),
|
||||
POSTHOG_PROXY_PATH: z.string().nullish(),
|
||||
UPSTASH_REDIS_REST_URL: z.string().nullish(),
|
||||
UPSTASH_REDIS_REST_TOKEN: z.string().nullish(),
|
||||
});
|
||||
|
|
@ -46,8 +46,8 @@ const client = z.object({
|
|||
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY: z.string().nullish(),
|
||||
NEXT_PUBLIC_CRISP_WEBSITE_ID: z.string().nullish(),
|
||||
NEXT_PUBLIC_POSTHOG_KEY: z.string().nullish(),
|
||||
NEXT_PUBLIC_POSTHOG_HOST: z.string(),
|
||||
NEXT_PUBLIC_POSTHOG_PROXY_HOST: z.string(),
|
||||
NEXT_PUBLIC_POSTHOG_HOST: z.string().nullish(),
|
||||
NEXT_PUBLIC_POSTHOG_PROXY_HOST: z.string().nullish(),
|
||||
});
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -12,7 +12,11 @@ import { env } from "~/env.mjs";
|
|||
import { type ReactNode, useEffect } from "react";
|
||||
|
||||
// Check that PostHog is client-side (used to handle Next.js SSR)
|
||||
if (typeof window !== "undefined" && !!env.NEXT_PUBLIC_POSTHOG_KEY) {
|
||||
if (
|
||||
typeof window !== "undefined" &&
|
||||
!!env.NEXT_PUBLIC_POSTHOG_KEY &&
|
||||
!!env.NEXT_PUBLIC_POSTHOG_PROXY_HOST
|
||||
) {
|
||||
posthog.init(env.NEXT_PUBLIC_POSTHOG_KEY, {
|
||||
api_host: env.NEXT_PUBLIC_POSTHOG_PROXY_HOST,
|
||||
// Enable debug mode in development
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ export const authOptions: NextAuthOptions = {
|
|||
],
|
||||
events: {
|
||||
async signIn(message) {
|
||||
if (!!env.NEXT_PUBLIC_POSTHOG_KEY) {
|
||||
if (!!env.NEXT_PUBLIC_POSTHOG_KEY && !!env.NEXT_PUBLIC_POSTHOG_HOST) {
|
||||
const client = new PostHog(env.NEXT_PUBLIC_POSTHOG_KEY, {
|
||||
host: env.NEXT_PUBLIC_POSTHOG_HOST,
|
||||
});
|
||||
|
|
@ -92,7 +92,7 @@ export const authOptions: NextAuthOptions = {
|
|||
}
|
||||
},
|
||||
async signOut(message) {
|
||||
if (!!env.NEXT_PUBLIC_POSTHOG_KEY) {
|
||||
if (!!env.NEXT_PUBLIC_POSTHOG_KEY && !!env.NEXT_PUBLIC_POSTHOG_HOST) {
|
||||
const session = message.session as unknown as {
|
||||
id: string;
|
||||
sessionToken: string;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
import { PostHog } from "posthog-node";
|
||||
import { env } from "~/env.mjs";
|
||||
|
||||
export const posthog = !!env.NEXT_PUBLIC_POSTHOG_KEY
|
||||
? new PostHog(env.NEXT_PUBLIC_POSTHOG_KEY, {
|
||||
host: env.NEXT_PUBLIC_POSTHOG_HOST,
|
||||
})
|
||||
: null;
|
||||
export const posthog =
|
||||
!!env.NEXT_PUBLIC_POSTHOG_KEY && !!env.NEXT_PUBLIC_POSTHOG_HOST
|
||||
? new PostHog(env.NEXT_PUBLIC_POSTHOG_KEY, {
|
||||
host: env.NEXT_PUBLIC_POSTHOG_HOST,
|
||||
})
|
||||
: null;
|
||||
|
|
|
|||
Loading…
Reference in a new issue