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() {
|
async rewrites() {
|
||||||
return [
|
return [
|
||||||
{
|
...(!!env.POSTHOG_PROXY_PATH && !env.NEXT_PUBLIC_POSTHOG_HOST ? [{
|
||||||
source: "/" + env.POSTHOG_PROXY_PATH + "/:path*",
|
source: "/" + env.POSTHOG_PROXY_PATH + "/:path*",
|
||||||
destination: env.NEXT_PUBLIC_POSTHOG_HOST + "/:path*",
|
destination: env.NEXT_PUBLIC_POSTHOG_HOST + "/:path*",
|
||||||
},
|
}]: []),
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ const server = z.object({
|
||||||
STRIPE_WEBHOOK_SECRET: z.string().nullish(),
|
STRIPE_WEBHOOK_SECRET: z.string().nullish(),
|
||||||
STRIPE_MONTHLY_PRICE_ID: z.string().nullish(),
|
STRIPE_MONTHLY_PRICE_ID: z.string().nullish(),
|
||||||
STRIPE_ANNUAL_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_URL: z.string().nullish(),
|
||||||
UPSTASH_REDIS_REST_TOKEN: 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_STRIPE_PUBLISHABLE_KEY: z.string().nullish(),
|
||||||
NEXT_PUBLIC_CRISP_WEBSITE_ID: z.string().nullish(),
|
NEXT_PUBLIC_CRISP_WEBSITE_ID: z.string().nullish(),
|
||||||
NEXT_PUBLIC_POSTHOG_KEY: z.string().nullish(),
|
NEXT_PUBLIC_POSTHOG_KEY: z.string().nullish(),
|
||||||
NEXT_PUBLIC_POSTHOG_HOST: z.string(),
|
NEXT_PUBLIC_POSTHOG_HOST: z.string().nullish(),
|
||||||
NEXT_PUBLIC_POSTHOG_PROXY_HOST: z.string(),
|
NEXT_PUBLIC_POSTHOG_PROXY_HOST: z.string().nullish(),
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,11 @@ import { env } from "~/env.mjs";
|
||||||
import { type ReactNode, useEffect } from "react";
|
import { type ReactNode, useEffect } from "react";
|
||||||
|
|
||||||
// Check that PostHog is client-side (used to handle Next.js SSR)
|
// 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, {
|
posthog.init(env.NEXT_PUBLIC_POSTHOG_KEY, {
|
||||||
api_host: env.NEXT_PUBLIC_POSTHOG_PROXY_HOST,
|
api_host: env.NEXT_PUBLIC_POSTHOG_PROXY_HOST,
|
||||||
// Enable debug mode in development
|
// Enable debug mode in development
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ export const authOptions: NextAuthOptions = {
|
||||||
],
|
],
|
||||||
events: {
|
events: {
|
||||||
async signIn(message) {
|
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, {
|
const client = new PostHog(env.NEXT_PUBLIC_POSTHOG_KEY, {
|
||||||
host: env.NEXT_PUBLIC_POSTHOG_HOST,
|
host: env.NEXT_PUBLIC_POSTHOG_HOST,
|
||||||
});
|
});
|
||||||
|
|
@ -92,7 +92,7 @@ export const authOptions: NextAuthOptions = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async signOut(message) {
|
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 {
|
const session = message.session as unknown as {
|
||||||
id: string;
|
id: string;
|
||||||
sessionToken: string;
|
sessionToken: string;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
import { PostHog } from "posthog-node";
|
import { PostHog } from "posthog-node";
|
||||||
import { env } from "~/env.mjs";
|
import { env } from "~/env.mjs";
|
||||||
|
|
||||||
export const posthog = !!env.NEXT_PUBLIC_POSTHOG_KEY
|
export const posthog =
|
||||||
? new PostHog(env.NEXT_PUBLIC_POSTHOG_KEY, {
|
!!env.NEXT_PUBLIC_POSTHOG_KEY && !!env.NEXT_PUBLIC_POSTHOG_HOST
|
||||||
host: env.NEXT_PUBLIC_POSTHOG_HOST,
|
? new PostHog(env.NEXT_PUBLIC_POSTHOG_KEY, {
|
||||||
})
|
host: env.NEXT_PUBLIC_POSTHOG_HOST,
|
||||||
: null;
|
})
|
||||||
|
: null;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue