diff --git a/src/utils/auth.ts b/src/utils/auth.ts index 90bb7e7..be7afbf 100644 --- a/src/utils/auth.ts +++ b/src/utils/auth.ts @@ -1,16 +1,11 @@ import { betterAuth } from "better-auth"; import { prismaAdapter } from "better-auth/adapters/prisma"; import { PrismaClient } from "../../generated/prisma"; -import logger from "./logger"; +import { VITE_PUBLIC_URL } from "./env"; -const baseUrl = process.env.VITE_PUBLIC_URL; +const baseUrl = VITE_PUBLIC_URL; const prisma = new PrismaClient(); -if (!baseUrl) { - logger.error("VITE_PUBLIC_URL is not defined"); - throw new Error("VITE_PUBLIC_URL is not defined"); -} - // logger.info('Initializing Better Auth with Prisma adapter'); export const auth = betterAuth({ baseURL: baseUrl, diff --git a/src/utils/env.ts b/src/utils/env.ts index 7cf12dd..132b90c 100644 --- a/src/utils/env.ts +++ b/src/utils/env.ts @@ -20,10 +20,17 @@ export const getEnv = (key: string, defaultValue = ""): string => { return defaultValue; }; -export const VITE_PUBLIC_URL = getEnv( - "VITE_PUBLIC_URL", - "http://localhost:3000", -); +export const VITE_PUBLIC_URL = (() => { + const envUrl = getEnv("VITE_PUBLIC_URL"); + if (envUrl) return envUrl; + + // Fallback for browser + if (typeof window !== "undefined") { + return window.location.origin; + } + + return "http://localhost:3000"; +})(); export const IS_DEV = (() => { try {