diff --git a/packages/desktop/package.json b/packages/desktop/package.json index 141b915..5908bde 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -19,7 +19,9 @@ "license": "MIT", "config": { "forge": { - "packagerConfig": {}, + "packagerConfig": { + "test": "test" + }, "makers": [ { "name": "@electron-forge/maker-squirrel", diff --git a/packages/desktop/src/electron/config/index.ts b/packages/desktop/src/electron/config/index.ts new file mode 100644 index 0000000..2f799f7 --- /dev/null +++ b/packages/desktop/src/electron/config/index.ts @@ -0,0 +1,25 @@ +interface EnvironmentConfig { + API_SERVER_URL: string; +} + +// keep private +const getEnvironmentVariables = (): EnvironmentConfig => { + // TODO + if (process.env.NODE_ENV === 'production') { + // + return { + API_SERVER_URL: 'https://api-a4b4we4n4q-wm.a.run.app/', + }; + } + + if (process.env.NODE_ENV === 'development') { + // + return { + API_SERVER_URL: 'https://localhost:8080', + }; + } + + throw Error('No environment variables found!'); +}; + +export const environmentVariables: EnvironmentConfig = getEnvironmentVariables(); diff --git a/packages/desktop/src/index.ts b/packages/desktop/src/index.ts index 056ce5a..07347d4 100644 --- a/packages/desktop/src/index.ts +++ b/packages/desktop/src/index.ts @@ -1,6 +1,7 @@ import { BrowserWindow, Display, app, ipcMain, screen, systemPreferences } from 'electron'; import Channels, { DEFAULT_APP_PRESET, DimensionChangeRequest } from './electron/constants'; +import { environmentVariables } from './electron/config'; import { handleGoogleLogin } from './electron/handleLogin'; import store from './electron/store'; @@ -10,11 +11,15 @@ import store from './electron/store'; declare const MAIN_WINDOW_WEBPACK_ENTRY: string; declare const MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY: string; -// Handle creating/removing shortcuts on Windows when installing/uninstalling. -if (require('electron-squirrel-startup')) { - // eslint-disable-line global-require - app.quit(); -} +console.log(`is production ${app.isPackaged}`); +console.log(`variables loaded`, environmentVariables); + +if (process.env.NODE_ENV) + if (require('electron-squirrel-startup')) { + // Handle creating/removing shortcuts on Windows when installing/uninstalling. + // eslint-disable-line global-require + app.quit(); + } // Keep a global reference of the window object, if you don't, the window will // be closed automatically when the JavaScript object is garbage collected. diff --git a/packages/desktop/src/providers/AuthProvider.tsx b/packages/desktop/src/providers/AuthProvider.tsx index 8ec4090..14656ca 100644 --- a/packages/desktop/src/providers/AuthProvider.tsx +++ b/packages/desktop/src/providers/AuthProvider.tsx @@ -20,6 +20,7 @@ import NirvanaLogo from '../components/NirvanaLogo'; import { User } from '@nirvana/core/src/models/user.model'; import { blueGrey } from '@mui/material/colors'; import { firebaseAuth } from '../firebase/connect'; +import { useMount } from 'react-use'; import { useSnackbar } from 'notistack'; interface IAuthContext {