From af01cd0f5d79a542f45f047023c7a09cb7d28b3c Mon Sep 17 00:00:00 2001 From: garrettmills Date: Mon, 25 May 2020 16:29:11 -0500 Subject: [PATCH] Misc login form improvements --- TODO.text | 1 - app/assets/app/auth/login/Form.component.js | 4 +++- app/assets/app/service/Message.service.js | 19 +++++++++++-------- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/TODO.text b/TODO.text index 43906d9..0edd188 100644 --- a/TODO.text +++ b/TODO.text @@ -1,3 +1,2 @@ - MFA recovery codes handling - OAuth2 -> support refresh tokens -- Traps -> not clearing trust? diff --git a/app/assets/app/auth/login/Form.component.js b/app/assets/app/auth/login/Form.component.js index f6f5c2e..da592fb 100644 --- a/app/assets/app/auth/login/Form.component.js +++ b/app/assets/app/auth/login/Form.component.js @@ -45,7 +45,7 @@ const template = ` >Need an account? Forgot password? @@ -72,6 +72,7 @@ export default class AuthLoginForm extends Component { error_message = '' other_message = '' allow_back = true + auth_user = false watch_username(new_username, old_username) { this.btn_disabled = !new_username @@ -86,6 +87,7 @@ export default class AuthLoginForm extends Component { async vue_on_create() { const auth_user = await auth_api.get_authenticated_user() if ( auth_user ) { + this.auth_user = true this.allow_back = false this.username = auth_user await this.step_click() diff --git a/app/assets/app/service/Message.service.js b/app/assets/app/service/Message.service.js index 69200d2..08ceb0c 100644 --- a/app/assets/app/service/Message.service.js +++ b/app/assets/app/service/Message.service.js @@ -1,4 +1,5 @@ import { event_bus } from './EventBus.service.js' +import { auth_api } from './AuthApi.service.js' class MessageService { listener_interval = 25000 @@ -20,14 +21,16 @@ class MessageService { return axios.post(`/api/v1/message/banners/read/${banner_id}`) } - init_listener() { - this.message_ids = [] - this.listener = setInterval(() => this._listener_tick(), this.listener_interval) - window.addEventListener('beforeunload', () => this.stop_listener()) - try { - this._listener_tick() - } catch (e) { - this.stop_listener() + async init_listener() { + if ( await auth_api.get_authenticated_user() ) { + this.message_ids = [] + this.listener = setInterval(() => this._listener_tick(), this.listener_interval) + window.addEventListener('beforeunload', () => this.stop_listener()) + try { + this._listener_tick() + } catch (e) { + this.stop_listener() + } } }