Point production login/checkout at customer.sanihome.ir.

Stop baking the local Vite URL into storefront builds when CUSTOMER_ORIGIN is unset.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-08-25 16:53:19 +03:30
co-authored by Cursor
parent f0d8276c3e
commit 10c70359aa
2 changed files with 30 additions and 9 deletions
+6
View File
@@ -0,0 +1,6 @@
# Used by `next build` on the websites VM (production).
# Local `next dev` still prefers `.env.local`.
NEXT_PUBLIC_API_BASE_URL=https://api.meshkee.com/api/v1
NEXT_PUBLIC_DOMAIN=sanihome.ir
NEXT_PUBLIC_CUSTOMER_ORIGIN=https://customer.sanihome.ir
NEXT_PUBLIC_BUSINESS_ORIGIN=https://business.sanihome.ir
+24 -9
View File
@@ -4,27 +4,42 @@ import { DOMAIN } from "@/lib/meshkee";
/** /**
* Shared checkout lives on the customer dashboard (all websites). * Shared checkout lives on the customer dashboard (all websites).
* Local: http://customer.sanihome.com:5175 * Local: http://customer.{domain}:5175
* Prod: https://customer.sanihome.com * Prod: https://customer.{domain}
*
* Prefer NEXT_PUBLIC_CUSTOMER_ORIGIN. Otherwise derive from DOMAIN + build mode
* so production deploys never bake in the local Vite URL.
*/ */
export const CUSTOMER_ORIGIN = function resolveCustomerOrigin(): string {
process.env.NEXT_PUBLIC_CUSTOMER_ORIGIN?.replace(/\/$/, "") || const configured = process.env.NEXT_PUBLIC_CUSTOMER_ORIGIN?.replace(/\/$/, "");
"http://customer.sanihome.com:5175"; if (configured) return configured;
if (process.env.NODE_ENV === "production") {
return `https://customer.${DOMAIN}`;
}
return `http://customer.${DOMAIN}:5175`;
}
export const CUSTOMER_ORIGIN = resolveCustomerOrigin();
/** /**
* Business dashboard for website admins. * Business dashboard for website admins.
* Local: http://business.sanihome.com:5173 * Local: http://business.{domain}:5173
* Prod: https://business.{domain} * Prod: https://business.{domain}
*/ */
export function businessDashboardUrl(): string { export function businessDashboardUrl(): string {
const configured = process.env.NEXT_PUBLIC_BUSINESS_ORIGIN?.replace(/\/$/, ""); const configured = process.env.NEXT_PUBLIC_BUSINESS_ORIGIN?.replace(/\/$/, "");
if (configured) return `${configured}/`; if (configured) return `${configured}/`;
if (process.env.NODE_ENV === "production") {
return `https://business.${DOMAIN}/`;
}
if (typeof window !== "undefined") { if (typeof window !== "undefined") {
const { protocol, port } = window.location; const { protocol, port } = window.location;
if (port === "3000" || port === "3001" || port === "") { if (port === "3000" || port === "3001") {
const portSuffix = port === "3000" || port === "3001" ? ":5173" : ""; return `${protocol}//business.${DOMAIN}:5173/`;
return `${protocol}//business.${DOMAIN}${portSuffix}/`;
} }
} }