diff --git a/website/client/assets/scss/modal.scss b/website/client/assets/scss/modal.scss index e61bfccb30..64d9820818 100644 --- a/website/client/assets/scss/modal.scss +++ b/website/client/assets/scss/modal.scss @@ -11,6 +11,10 @@ } } +.modal { + z-index: 1350; +} + .modal-dialog { width: auto; @@ -117,4 +121,4 @@ } } } -} \ No newline at end of file +} diff --git a/website/client/components/auth/authForm.vue b/website/client/components/auth/authForm.vue index 5c55c800cb..5f4854d78e 100644 --- a/website/client/components/auth/authForm.vue +++ b/website/client/components/auth/authForm.vue @@ -156,6 +156,10 @@ export default { } }); }, 500), + validateEmail (email) { + let re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + return re.test(email); + }, // @TODO: Abstract hello in to action or lib async socialAuth (network) { try { diff --git a/website/client/components/auth/registerLoginReset.vue b/website/client/components/auth/registerLoginReset.vue index ffaa3b6c93..88ea5b249d 100644 --- a/website/client/components/auth/registerLoginReset.vue +++ b/website/client/components/auth/registerLoginReset.vue @@ -415,6 +415,10 @@ export default { } }); }, 500), + validateEmail (email) { + let re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + return re.test(email); + }, async register () { // @TODO do not use alert if (!this.email) { diff --git a/website/client/components/settings/verifyUsername.vue b/website/client/components/settings/verifyUsername.vue index f15f322779..da3babcf85 100644 --- a/website/client/components/settings/verifyUsername.vue +++ b/website/client/components/settings/verifyUsername.vue @@ -206,6 +206,7 @@ await this.$store.dispatch('user:fetch', {forceLoad: true}); this.$root.$emit('habitica::resync-completed'); this.$root.$emit('bv::hide::modal', 'verify-username'); + this.$router.go(0); }, restoreEmptyDisplayName () { if (this.temporaryDisplayName.length < 1) { diff --git a/website/client/components/snackbars/notifications.vue b/website/client/components/snackbars/notifications.vue index 22b0d78030..af44e65a39 100644 --- a/website/client/components/snackbars/notifications.vue +++ b/website/client/components/snackbars/notifications.vue @@ -9,7 +9,7 @@ position: fixed; right: 10px; width: 350px; - z-index: 1070; // 1070 is above modal backgrounds + z-index: 1400; // 1400 is above modal backgrounds &-top-pos { &-normal { diff --git a/website/client/components/yesterdailyModal.vue b/website/client/components/yesterdailyModal.vue index 698b98c1ec..cff077257c 100644 --- a/website/client/components/yesterdailyModal.vue +++ b/website/client/components/yesterdailyModal.vue @@ -22,6 +22,17 @@ button.btn.btn-primary(@click='close()') {{ $t('yesterDailiesCallToAction') }} + +