Ocelot-Social/webapp/pages/registration.vue

69 lines
1.8 KiB
Vue

<template>
<!-- <section class="registration-form">
<base-card> -->
<!-- <registration-slider
v-if="registrationType"
:registrationType="registrationType"
:overwriteSliderData="overwriteSliderData"
/> -->
<registration-slider
:registrationType="registrationType"
:overwriteSliderData="overwriteSliderData"
/>
<!-- <ds-space v-else centered>
<hc-empty icon="events" :message="$t('components.registration.signup.unavailable')" />
<nuxt-link to="/login">{{ $t('site.back-to-login') }}</nuxt-link>
</ds-space>
<template #topMenu>
<locale-switch offset="5" />
</template>
</base-card>
</section> -->
</template>
<script>
// import HcEmpty from '~/components/Empty/Empty'
// import LocaleSwitch from '~/components/LocaleSwitch/LocaleSwitch'
import RegistrationSlider from '~/components/Registration/RegistrationSlider'
export default {
name: 'Registration',
components: {
// HcEmpty,
// LocaleSwitch,
RegistrationSlider,
},
data() {
const { method = null, email = null, inviteCode = null, nonce = null } = this.$route.query
return {
method,
overwriteSliderData: {
collectedInputData: {
inviteCode,
email,
emailSend: !!email,
nonce,
},
},
}
},
asyncData({ app, store, redirect }) {
if (store.getters['auth/isLoggedIn']) {
redirect('/')
}
return {
publicRegistration: app.$env.PUBLIC_REGISTRATION,
inviteRegistration: app.$env.INVITE_REGISTRATION,
}
},
computed: {
registrationType() {
if (this.method && ['invite-code', 'invite-mail'].includes(this.method)) {
return this.method
}
return this.publicRegistration ? 'public-registration' : 'no-public-registration'
},
},
}
</script>