diff --git a/src/DeviceListener.ts b/src/DeviceListener.ts index 05f86453f1..adba51d135 100644 --- a/src/DeviceListener.ts +++ b/src/DeviceListener.ts @@ -36,9 +36,9 @@ import { } from "./toasts/UnverifiedSessionToast"; import { accessSecretStorage, isSecretStorageBeingAccessed } from "./SecurityManager"; import { isSecureBackupRequired } from './utils/WellKnownUtils'; -import { isLoggedIn } from './components/structures/MatrixChat'; import { ActionPayload } from "./dispatcher/payloads"; import { Action } from "./dispatcher/actions"; +import { isLoggedIn } from "./utils/login"; const KEY_BACKUP_POLL_INTERVAL = 5 * 60 * 1000; diff --git a/src/components/structures/MatrixChat.tsx b/src/components/structures/MatrixChat.tsx index 9c1589d58c..c0b307156b 100644 --- a/src/components/structures/MatrixChat.tsx +++ b/src/components/structures/MatrixChat.tsx @@ -2093,12 +2093,3 @@ export default class MatrixChat extends React.PureComponent { ; } } - -export function isLoggedIn(): boolean { - // JRS: Maybe we should move the step that writes this to the window out of - // `element-web` and into this file? Better yet, we should probably create a - // store to hold this state. - // See also https://github.com/vector-im/element-web/issues/15034. - const app = window.matrixChat; - return app && (app as MatrixChat).state.view === Views.LOGGED_IN; -} diff --git a/src/utils/login.ts b/src/utils/login.ts new file mode 100644 index 0000000000..8e66909952 --- /dev/null +++ b/src/utils/login.ts @@ -0,0 +1,27 @@ +/* +Copyright 2022 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import type MatrixChat from "../components/structures/MatrixChat"; +import Views from "../Views"; + +export function isLoggedIn(): boolean { + // JRS: Maybe we should move the step that writes this to the window out of + // `element-web` and into this file? Better yet, we should probably create a + // store to hold this state. + // See also https://github.com/vector-im/element-web/issues/15034. + const app = window.matrixChat; + return app && (app as MatrixChat).state.view === Views.LOGGED_IN; +}