akkoma-fe/src/components/registration/registration.js

44 lines
1.2 KiB
JavaScript
Raw Normal View History

2017-04-15 16:12:23 +00:00
const registration = {
data: () => ({
user: {},
error: false,
registering: false
}),
created () {
2018-09-09 16:36:13 +00:00
if ((!this.$store.state.interface.registrationOpen && !this.token) || !!this.$store.state.users.currentUser) {
this.$router.push('/main/all')
}
2018-08-05 07:01:38 +00:00
// Seems like this doesn't work at first page open for some reason
2018-09-09 16:36:13 +00:00
if (this.$store.state.interface.registrationOpen && this.token) {
2018-08-05 07:01:38 +00:00
this.$router.push('/registration')
}
},
computed: {
2018-08-05 07:01:38 +00:00
termsofservice () { return this.$store.state.config.tos },
token () { return this.$route.params.token }
},
2017-04-15 16:12:23 +00:00
methods: {
submit () {
this.registering = true
this.user.nickname = this.user.username
2018-08-05 07:01:38 +00:00
this.user.token = this.token
2017-04-15 16:12:23 +00:00
this.$store.state.api.backendInteractor.register(this.user).then(
(response) => {
if (response.ok) {
this.$store.dispatch('loginUser', this.user)
this.$router.push('/main/all')
this.registering = false
} else {
this.registering = false
response.json().then((data) => {
this.error = data.error
})
}
}
)
}
}
}
export default registration