Merged in feature/SW-2320-languagebased-hide-for-next-release (pull request #1937)
Language based alternative to HIDE_FOR_NEXT_RELEASE Approved-by: Anton Gunnarsson
This commit is contained in:
29
apps/scandic-web/env/client.ts
vendored
29
apps/scandic-web/env/client.ts
vendored
@@ -1,18 +1,24 @@
|
||||
import { createEnv } from "@t3-oss/env-nextjs"
|
||||
import { z } from "zod"
|
||||
|
||||
export const env = createEnv({
|
||||
import { getLiveStatus } from "./getLiveStatus"
|
||||
import { isLangLive } from "./isLangLive"
|
||||
|
||||
import type { Lang } from "@/constants/languages"
|
||||
|
||||
const _env = createEnv({
|
||||
client: {
|
||||
NEXT_PUBLIC_NODE_ENV: z.enum(["development", "test", "production"]),
|
||||
NEXT_PUBLIC_PORT: z.string().default("3000"),
|
||||
NEXT_PUBLIC_SENTRY_ENVIRONMENT: z.string().default("development"),
|
||||
NEXT_PUBLIC_SENTRY_CLIENT_SAMPLERATE: z.coerce.number().default(0.001),
|
||||
NEXT_PUBLIC_HIDE_FOR_NEXT_RELEASE: z
|
||||
NEXT_PUBLIC_NEW_SITE_LIVE_FOR_LANGS: z
|
||||
.string()
|
||||
// only allow "true" or "false"
|
||||
.refine((s) => s === "true" || s === "false")
|
||||
// transform to boolean
|
||||
.transform((s) => s === "true"),
|
||||
.regex(/^([a-z]{2},)*([a-z]{2}){0,1}$/)
|
||||
.transform((val) => {
|
||||
return val.split(",")
|
||||
})
|
||||
.default(""),
|
||||
NEXT_PUBLIC_PUBLIC_URL: z.string().optional(),
|
||||
},
|
||||
emptyStringAsUndefined: true,
|
||||
@@ -22,8 +28,15 @@ export const env = createEnv({
|
||||
NEXT_PUBLIC_SENTRY_ENVIRONMENT: process.env.NEXT_PUBLIC_SENTRY_ENVIRONMENT,
|
||||
NEXT_PUBLIC_SENTRY_CLIENT_SAMPLERATE:
|
||||
process.env.NEXT_PUBLIC_SENTRY_CLIENT_SAMPLERATE,
|
||||
NEXT_PUBLIC_HIDE_FOR_NEXT_RELEASE:
|
||||
process.env.NEXT_PUBLIC_HIDE_FOR_NEXT_RELEASE,
|
||||
NEXT_PUBLIC_NEW_SITE_LIVE_FOR_LANGS:
|
||||
process.env.NEXT_PUBLIC_NEW_SITE_LIVE_FOR_LANGS,
|
||||
NEXT_PUBLIC_PUBLIC_URL: process.env.NEXT_PUBLIC_PUBLIC_URL,
|
||||
},
|
||||
})
|
||||
|
||||
export const env = {
|
||||
..._env,
|
||||
NEW_SITE_LIVE_STATUS: getLiveStatus(_env),
|
||||
isLangLive: (lang: Lang) =>
|
||||
isLangLive(lang, _env.NEXT_PUBLIC_NEW_SITE_LIVE_FOR_LANGS),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user