refactor: centralize hotel name fallback via FALLBACK_HOTEL_NAME
Route all user-facing Atom hotel defaults through resolveHotelName (settings then HOTEL_NAME env then brand constant). Exclude Playwright e2e from tsconfig until deps are installed. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
1 parent
6b2819aa20
commit
e00e9ca2dc
31 files changed
+113
-56
No files matched your search
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* Single hardcoded fallback hotel brand.
|
||||
* Override order at runtime:
|
||||
* 1. website_settings.hotel_name
|
||||
* 2. HOTEL_NAME env
|
||||
* 3. this constant
|
||||
*
|
||||
* Safe for client components (no env / DB imports).
|
||||
*/
|
||||
export const FALLBACK_HOTEL_NAME = "Atom";
|
||||
@@ -0,0 +1,26 @@
|
||||
import "server-only";
|
||||
|
||||
import { env } from "@/env";
|
||||
import { FALLBACK_HOTEL_NAME } from "@/lib/brand";
|
||||
import { siteSettings } from "@/lib/services/site-settings";
|
||||
|
||||
/**
|
||||
* Resolve the public hotel name: CMS setting → HOTEL_NAME env → FALLBACK_HOTEL_NAME.
|
||||
*/
|
||||
export async function resolveHotelName(): Promise<string> {
|
||||
const fromSettings = await siteSettings.get("hotel_name", env.HOTEL_NAME);
|
||||
const trimmed = fromSettings?.trim();
|
||||
if (trimmed) return trimmed;
|
||||
const fromEnv = env.HOTEL_NAME?.trim();
|
||||
if (fromEnv) return fromEnv;
|
||||
return FALLBACK_HOTEL_NAME;
|
||||
}
|
||||
|
||||
/** Coalesce an already-fetched hotel name string. */
|
||||
export function coalesceHotelName(value: string | null | undefined): string {
|
||||
const trimmed = value?.trim();
|
||||
if (trimmed) return trimmed;
|
||||
const fromEnv = env.HOTEL_NAME?.trim();
|
||||
if (fromEnv) return fromEnv;
|
||||
return FALLBACK_HOTEL_NAME;
|
||||
}
|
||||
@@ -1,10 +1,11 @@
|
||||
import "server-only";
|
||||
|
||||
import { FALLBACK_HOTEL_NAME } from "@/lib/brand";
|
||||
import { prisma } from "@/lib/prisma";
|
||||
import { redis } from "@/lib/redis";
|
||||
|
||||
const DEFAULTS: Record<string, string> = {
|
||||
hotel_name: "Atom",
|
||||
hotel_name: FALLBACK_HOTEL_NAME,
|
||||
habbo_imaging_url: "/imaging",
|
||||
logo_url: "",
|
||||
nitro_client_url: "",
|
||||
|
||||
Reference in new issue
Block a user