When Registration OK, go to Login and show message to verify email.

This commit is contained in:
Paolo Arena
2019-01-01 03:22:01 +01:00
parent 7a217c3ca9
commit d0de816ceb
10 changed files with 56 additions and 140 deletions

View File

@@ -1,116 +0,0 @@
<template>
<div>
<div class="card text-white text-center width-3of4 bg-width-2of5 gt-bg-width-1of4 sm-auto " id="login">
<div class="card-title" :class="finalBgColor">
<svg id="logo" viewBox="0 0 483 483"
style="enable-background:new 0 0 460 460;"
xml:space="preserve" width="128px" height="128px"
v-html="logoMethod">
</svg>
<h4>{{logo}}</h4>
</div>
<div class="card-content bg-white ">
<div class="stacked-label">
<input required class="full-width" type="email" v-model="email">
<label>Email</label>
</div>
<div class="stacked-label">
<input required class="full-width" type="password" v-model="password">
<label>Password</label>
</div>
</div>
<div class="card-actions inline-block vertical-middle">
<button class="push" @click="login()">Login</button>
<button class="red fit" :class="buttonClass" @click="login()">Login Google</button>
<button class="blue fit" :class="buttonClass" @click="login()">Login Facebook</button>
</div>
</div>
</div>
</template>
<script type="text/javascript">
/* eslint-disable */
import {mapActions} from 'vuex'
import * as types from '../../store/mutation-types'
import Vivus from 'vivus'
import logoData from './logoData'
import { Platform } from 'quasar'
export default {
mounted () {
this.setLayoutNeeded(false);
this.setIsLoginPage(true);
this.startAnimation()
},
beforeDestroy () {
this.setLayoutNeeded(true);
this.setIsLoginPage(false);
},
computed: {
heightSize (){
if (Platform.is.desktop) {
return 'items-center'
}
return ''
},
finalBgColor () {
return `bg-${this.bgColor}-${this.toneColor}`
},
logoMethod () {
return logoData[this.logo]
}
},
data () {
return {
logos: Object.keys(logoData),
logo: 'Digitalizer',
email: 'quasar@admin.com',
password: '123456',
bgColor: 'purple',
toneColor: 10,
colors: ['purple', 'blue', 'red', 'green', 'amber'],
colorTones: ['2', '4', '6', '8', '10'],
buttonClasses: ['normal','outline', 'clear', 'push', 'bordered', 'round'],
buttonClass: 'normal',
vivus: ''
}
},
methods: {
...mapActions("glob", {
'setLayoutNeeded': types.SET_LAYOUT_NEEDED,
'setIsLoginPage': types.SET_LOGIN_PAGE
}),
login () {
this.setLayoutNeeded(true)
this.setIsLoginPage(false)
this.$router.push('/')
},
startAnimation () {
this.vivus = new Vivus('logo', {
duration: 400,
forceRender: false
}, function(element) {
for (let item of element.el.children[0].children) {
item.setAttribute('style', 'fill:white')
item.setAttribute('style', 'fill:white')
}
}
)
}
}
}
</script>
<style scoped>
.card {
margin-bottom: 0px;
}
.card-content {
min-height: 160px;
}
button {
margin-bottom: 4%;
}
h4 {
font-weight: 300;
}
</style>

View File

@@ -11,6 +11,7 @@ import { validations, TSignin } from './signin-validate'
import { validationMixin } from 'vuelidate'
import './signin.scss'
import router from '@router'
// import {Loading, QSpinnerFacebook, QSpinnerGears} from 'quasar'
@@ -116,6 +117,9 @@ export default class Signin extends Vue {
console.log(this.signin)
UserStore.actions.signin(this.signin)
.then((riscode) => {
if (riscode === rescodes.OK) {
router.push('/signin')
}
this.checkErrors(riscode)
this.$q.loading.hide()
}).catch(error => {

View File

@@ -91,10 +91,11 @@ export default class Signup extends Vue {
return process.env
}
showNotif(msg: any) {
this.$q.notify(msg)
showNotif(params: any) {
this.$q.notify(params)
}
public errorMsg(cosa: string, item: any) {
try {
if (!item.$error) return ''
@@ -132,7 +133,8 @@ export default class Signup extends Vue {
} else if (riscode === rescodes.DUPLICATE_USERNAME_ID) {
this.showNotif(this.$t('reg.err.duplicate_username'))
} else if (riscode === rescodes.OK) {
this.$router.push('/')
this.$router.push('/signin')
this.showNotif({type: 'warning', textColor: 'black', message: this.$t('components.authentication.email_verification.link_sent')})
} else {
this.showNotif('Errore num ' + riscode)
}

View File

@@ -43,6 +43,7 @@
>
<q-input
v-model="signup.password"
type="password"
:before="[{icon: 'vpn_key', handler () {}}]"
@blur="$v.signup.password.$touch"
:error="$v.signup.password.$error"
@@ -55,6 +56,7 @@
>
<q-input
v-model="signup.repeatPassword"
type="password"
:before="[{icon: 'vpn_key', handler () {}}]"
@blur="$v.signup.repeatPassword.$touch"
:error="$v.signup.repeatPassword.$error"