/* * Wire * Copyright (C) 2022 Wire Swiss GmbH * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see http://www.gnu.org/licenses/. * */ // eslint-disable-next-line import/order import 'core-js/full/reflect'; // eslint-disable-next-line import/order import {ClientType} from '@wireapp/api-client/lib/client/'; import {createRoot} from 'react-dom/client'; import {Runtime} from '@wireapp/commons'; import {AppContainer} from 'Components/AppContainer/AppContainer'; import {enableLogging} from 'Util/LoggerUtil'; import {loadValue} from 'Util/StorageUtil'; import {exposeWrapperGlobals} from 'Util/wrapper'; import {doRedirect} from './app'; import {SIGN_OUT_REASON} from '../auth/SignOutReason'; import {Config} from '../Config'; import {StorageKey} from '../storage'; document.addEventListener('DOMContentLoaded', async () => { const config = Config.getConfig(); enableLogging(config); exposeWrapperGlobals(); const appContainer = document.getElementById('wire-app'); if (!appContainer) { throw new Error('container for application does not exist in the DOM'); } const enforceDesktopApplication = config.FEATURE.ENABLE_ENFORCE_DESKTOP_APPLICATION_ONLY && !Runtime.isDesktopApp(); if (enforceDesktopApplication) { doRedirect(SIGN_OUT_REASON.APP_INIT); } const shouldPersist = loadValue(StorageKey.AUTH.PERSIST); if (shouldPersist === undefined) { return doRedirect(SIGN_OUT_REASON.NOT_SIGNED_IN); } createRoot(appContainer).render( , ); });