Commit 7f1bbc8e authored by abergavenny's avatar abergavenny
Browse files

Added visual feedback when loading dynamic imports

parent 3cdecf3c
...@@ -46,8 +46,6 @@ async function onSubmit() { ...@@ -46,8 +46,6 @@ async function onSubmit() {
return return
} }
waiting.value = true
const response = await api.login(state) const response = await api.login(state)
if (response?.status === ResponseStatus.Success) { if (response?.status === ResponseStatus.Success) {
...@@ -56,13 +54,13 @@ async function onSubmit() { ...@@ -56,13 +54,13 @@ async function onSubmit() {
session.setUser({ role: payload.role, userId: payload.userId }, true) session.setUser({ role: payload.role, userId: payload.userId }, true)
waiting.value = false
if (payload.role === 'administrator') { if (payload.role === 'administrator') {
waiting.value = true
router.push({ router.push({
name: 'buildings' name: 'buildings'
}) })
} else if (payload.role === 'user') { } else if (payload.role === 'user') {
waiting.value = true
router.push({ router.push({
name: 'apartments' name: 'apartments'
}) })
...@@ -95,7 +93,10 @@ async function onSubmit() { ...@@ -95,7 +93,10 @@ async function onSubmit() {
</div> </div>
<div class="form-section"> <div class="form-section">
<MessageBox v-if="message || props.msg" :msg="message || props.msg" :type="props.msg ? 'warning' : 'danger'" /> <MessageBox v-if="message || props.msg" :msg="message || props.msg" :type="props.msg ? 'warning' : 'danger'" />
<button class="button primary" type="submit" :disabled="waiting">Anmelden</button> <button class="button primary" type="submit" :disabled="waiting">
<span v-if="!waiting">Anmelden</span>
<font-awesome-icon v-else icon="fa-solid fa-spinner" />
</button>
</div> </div>
</form> </form>
<div class="section center"> <div class="section center">
......
...@@ -2,7 +2,7 @@ import { createApp } from 'vue' ...@@ -2,7 +2,7 @@ import { createApp } from 'vue'
import { createPinia } from 'pinia' import { createPinia } from 'pinia'
import { library } from '@fortawesome/fontawesome-svg-core' import { library } from '@fortawesome/fontawesome-svg-core'
import { faBell } from '@fortawesome/free-regular-svg-icons' import { faBell } from '@fortawesome/free-regular-svg-icons'
import { faArrowRightFromBracket, faBars, faChevronDown, faChevronUp, faPen, faPlus, faXmark } from '@fortawesome/free-solid-svg-icons' import { faArrowRightFromBracket, faBars, faChevronDown, faChevronUp, faPen, faPlus, faSpinner, faXmark } from '@fortawesome/free-solid-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome' import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
import App from './App.vue' import App from './App.vue'
...@@ -10,7 +10,7 @@ import router from './router' ...@@ -10,7 +10,7 @@ import router from './router'
import './assets/main.css' import './assets/main.css'
library.add(faArrowRightFromBracket, faBars, faBell, faChevronDown, faChevronUp, faPen, faPlus, faXmark) library.add(faArrowRightFromBracket, faBars, faBell, faChevronDown, faChevronUp, faPen, faPlus, faSpinner, faXmark)
const app = createApp(App) const app = createApp(App)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment