forked from AkkomaGang/akkoma-fe
43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
const registration = {
|
|
data: () => ({
|
|
user: {},
|
|
error: false,
|
|
registering: false
|
|
}),
|
|
created () {
|
|
if ((!this.$store.state.instance.registrationOpen && !this.token) || !!this.$store.state.users.currentUser) {
|
|
this.$router.push('/main/all')
|
|
}
|
|
// Seems like this doesn't work at first page open for some reason
|
|
if (this.$store.state.instance.registrationOpen && this.token) {
|
|
this.$router.push('/registration')
|
|
}
|
|
},
|
|
computed: {
|
|
termsofservice () { return this.$store.state.instance.tos },
|
|
token () { return this.$route.params.token }
|
|
},
|
|
methods: {
|
|
submit () {
|
|
this.registering = true
|
|
this.user.nickname = this.user.username
|
|
this.user.token = this.token
|
|
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
|