From 780794c53fa908b8d5581759dd4e7631a5d42434 Mon Sep 17 00:00:00 2001 From: vchikalkin Date: Sat, 23 Dec 2023 15:28:46 +0300 Subject: [PATCH] apps/web: fix pass USE_DEV_COLORS to client --- apps/web/components/layout/logo.tsx | 4 ++-- apps/web/config/env.js | 7 ++++--- apps/web/config/schema/env.js | 10 +++++++++- apps/web/config/urls.ts | 4 ++-- apps/web/constants/colors.ts | 4 ++-- apps/web/next.config.js | 2 +- 6 files changed, 20 insertions(+), 11 deletions(-) diff --git a/apps/web/components/layout/logo.tsx b/apps/web/components/layout/logo.tsx index a7266c5..ce83e41 100644 --- a/apps/web/components/layout/logo.tsx +++ b/apps/web/components/layout/logo.tsx @@ -1,9 +1,9 @@ -import { getEnv } from '@/config/env'; +import { getClientEnv } from '@/config/env'; import Image from 'next/image'; import logo from 'public/assets/images/logo-primary.svg'; import logoDev from 'public/assets/images/logo-primary-dev.svg'; -const env = getEnv(); +const env = getClientEnv(); export function Logo() { return ( diff --git a/apps/web/config/env.js b/apps/web/config/env.js index 16c3105..40c001e 100644 --- a/apps/web/config/env.js +++ b/apps/web/config/env.js @@ -1,5 +1,6 @@ -const envSchema = require('./schema/env.js'); +const { clientEnvSchema, serverEnvSchema } = require('./schema/env'); -const getEnv = () => envSchema.parse(process.env); +const getClientEnv = () => clientEnvSchema.parse(process.env); +const getServerEnv = () => serverEnvSchema.parse(process.env); -module.exports = { getEnv }; +module.exports = { getClientEnv, getServerEnv }; diff --git a/apps/web/config/schema/env.js b/apps/web/config/schema/env.js index d39c687..8aa1981 100644 --- a/apps/web/config/schema/env.js +++ b/apps/web/config/schema/env.js @@ -5,4 +5,12 @@ const envSchema = z.object({ NEXT_PUBLIC_USE_DEV_COLORS: z.string().optional(), }); -module.exports = envSchema; +const serverEnvSchema = envSchema.pick({ + URL_IUS_DIRECT: true, +}); + +const clientEnvSchema = envSchema.pick({ + NEXT_PUBLIC_USE_DEV_COLORS: true, +}); + +module.exports = { envSchema, serverEnvSchema, clientEnvSchema }; diff --git a/apps/web/config/urls.ts b/apps/web/config/urls.ts index 2d8c869..5eedd52 100644 --- a/apps/web/config/urls.ts +++ b/apps/web/config/urls.ts @@ -1,10 +1,10 @@ -import { getEnv } from './env'; +import { getServerEnv } from './env'; import proxyUrls from '@/constants/urls'; import { isServer } from '@/utils/common'; export function getUrls() { if (isServer()) { - const env = getEnv(); + const env = getServerEnv(); const { URL_IUS_DIRECT } = env; return { diff --git a/apps/web/constants/colors.ts b/apps/web/constants/colors.ts index 0e3ba29..b6338ce 100644 --- a/apps/web/constants/colors.ts +++ b/apps/web/constants/colors.ts @@ -1,4 +1,4 @@ -import { getEnv } from '../config/env'; +import { getClientEnv } from '../config/env'; export const COLORS_PROD = { COLOR_DANGER: '#B20004', @@ -12,5 +12,5 @@ export const COLORS_DEV = { COLOR_SECONDARY: '#c54a84', COLOR_TERTIARTY: '#FF9112', }; -const env = getEnv(); +const env = getClientEnv(); export const COLORS = env.NEXT_PUBLIC_USE_DEV_COLORS ? COLORS_DEV : COLORS_PROD; diff --git a/apps/web/next.config.js b/apps/web/next.config.js index ade435b..76167ec 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -1,6 +1,6 @@ const fs = require('fs'); const path = require('path'); -const envSchema = require('./config/schema/env'); +const { envSchema } = require('./config/schema/env'); const urls = require('./constants/urls'); const env = envSchema.parse(process.env);