Skip to content

Commit 0114795

Browse files
fix(frontend): CSR builds were missing env vars due to import.meta.env not being used (#657)
Co-authored-by: Dave Earley <[email protected]>
1 parent e11c426 commit 0114795

File tree

2 files changed

+40
-10
lines changed

2 files changed

+40
-10
lines changed

frontend/src/types.ts

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,25 @@
33
*/
44
import {SupportedLocales} from "./locales.ts";
55

6-
export type ConfigKeys = 'VITE_FRONTEND_URL'
7-
| 'VITE_API_URL_CLIENT'
8-
| 'VITE_STRIPE_PUBLISHABLE_KEY'
6+
export type ConfigKeys =
97
| 'VITE_API_URL_SERVER'
10-
| 'VITE_CHATWOOT_WEBSITE_TOKEN'
11-
| 'VITE_CHATWOOT_BASE_URL'
8+
| 'VITE_API_URL_CLIENT'
9+
| 'VITE_FRONTEND_URL'
10+
| 'VITE_APP_PRIMARY_COLOR'
11+
| 'VITE_APP_SECONDARY_COLOR'
1212
| 'VITE_APP_NAME'
13-
| 'VITE_PLATFORM_SUPPORT_EMAIL'
13+
| 'VITE_APP_FAVICON'
14+
| 'VITE_APP_LOGO_DARK'
15+
| 'VITE_APP_LOGO_LIGHT'
16+
| 'VITE_CHATWOOT_BASE_URL'
17+
| 'VITE_CHATWOOT_WEBSITE_TOKEN'
18+
| 'VITE_HIDE_ABOUT_LINK'
1419
| 'VITE_TOS_URL'
1520
| 'VITE_PRIVACY_URL'
16-
| string;
21+
| 'VITE_PLATFORM_SUPPORT_EMAIL'
22+
| 'VITE_STRIPE_PUBLISHABLE_KEY'
23+
| 'VITE_I_HAVE_PURCHASED_A_LICENCE'
24+
| 'VITE_DEFAULT_IMAGE_URL';
1725

1826
export type IdParam = string | undefined | number;
1927

frontend/src/utilites/config.ts

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,34 @@ import { ConfigKeys } from "../types.ts";
22
import { isSsr } from "./helpers.ts";
33
import process from "process";
44

5-
export const getConfig = ( key: ConfigKeys, fallback?: string ): string | undefined => {
5+
6+
export const clientBuildEnv: { [K in ConfigKeys]: string } = {
7+
'VITE_APP_PRIMARY_COLOR': import.meta.env.VITE_APP_PRIMARY_COLOR,
8+
'VITE_APP_SECONDARY_COLOR': import.meta.env.VITE_APP_SECONDARY_COLOR,
9+
'VITE_APP_NAME': import.meta.env.VITE_APP_NAME,
10+
'VITE_APP_FAVICON': import.meta.env.VITE_APP_FAVICON,
11+
'VITE_APP_LOGO_DARK': import.meta.env.VITE_APP_LOGO_DARK,
12+
'VITE_APP_LOGO_LIGHT': import.meta.env.VITE_APP_LOGO_LIGHT,
13+
'VITE_CHATWOOT_BASE_URL': import.meta.env.VITE_CHATWOOT_BASE_URL,
14+
'VITE_CHATWOOT_WEBSITE_TOKEN': import.meta.env.VITE_CHATWOOT_WEBSITE_TOKEN,
15+
'VITE_HIDE_ABOUT_LINK': import.meta.env.VITE_HIDE_ABOUT_LINK,
16+
'VITE_TOS_URL': import.meta.env.VITE_TOS_URL,
17+
'VITE_PRIVACY_URL': import.meta.env.VITE_PRIVACY_URL,
18+
'VITE_PLATFORM_SUPPORT_EMAIL': import.meta.env.VITE_PLATFORM_SUPPORT_EMAIL,
19+
'VITE_STRIPE_PUBLISHABLE_KEY': import.meta.env.VITE_STRIPE_PUBLISHABLE_KEY,
20+
'VITE_I_HAVE_PURCHASED_A_LICENCE': import.meta.env.VITE_I_HAVE_PURCHASED_A_LICENCE,
21+
'VITE_FRONTEND_URL': import.meta.env.VITE_FRONTEND_URL,
22+
'VITE_DEFAULT_IMAGE_URL': import.meta.env.VITE_DEFAULT_IMAGE_URL,
23+
'VITE_API_URL_SERVER': import.meta.env.VITE_API_URL_SERVER,
24+
'VITE_API_URL_CLIENT': import.meta.env.VITE_API_URL_CLIENT
25+
}
26+
27+
export const getConfig = (key: ConfigKeys, fallback?: string): string | undefined => {
628
if (isSsr()) {
729
const serverEnv = typeof process !== "undefined" && process.env ? process.env : {};
8-
return serverEnv[ key ] as string | undefined || fallback;
30+
return serverEnv[key] as string | undefined || fallback;
931
}
1032

1133
const clientEnv = typeof window !== "undefined" && window.hievents ? window.hievents : {};
12-
return clientEnv[key] || fallback;
34+
return clientEnv[key] || clientBuildEnv[key] || fallback;
1335
};

0 commit comments

Comments
 (0)