diff --git a/webapp/components/Registration/RegistrationSlideCreate.vue b/webapp/components/Registration/RegistrationSlideCreate.vue index 0906fc8a4..141db1c4a 100644 --- a/webapp/components/Registration/RegistrationSlideCreate.vue +++ b/webapp/components/Registration/RegistrationSlideCreate.vue @@ -89,13 +89,13 @@ @@ -123,20 +123,22 @@ import { VERSION } from '~/constants/terms-and-conditions-version.js' import links from '~/constants/links' import emails from '~/constants/emails' +import { SignupVerificationMutation } from '~/graphql/Registration.js' +import { SweetalertIcon } from 'vue-sweetalert-icons' import PasswordStrength from '~/components/Password/Strength' import EmailDisplayAndVerify from './EmailDisplayAndVerify' -import { SweetalertIcon } from 'vue-sweetalert-icons' +import PageParamsLink from '~/components/_new/features/PageParamsLink/PageParamsLink' import PasswordForm from '~/components/utils/PasswordFormHelper' -import { SignupVerificationMutation } from '~/graphql/Registration.js' import ShowPassword from '../ShowPassword/ShowPassword.vue' export default { name: 'RegistrationSlideCreate', components: { - PasswordStrength, EmailDisplayAndVerify, - SweetalertIcon, + PageParamsLink, + PasswordStrength, ShowPassword, + SweetalertIcon, }, props: { sliderData: { type: Object, required: true }, diff --git a/webapp/components/_new/features/PageParamsLink/PageParamsLink.vue b/webapp/components/_new/features/PageParamsLink/PageParamsLink.vue index 391c4722e..5d7cdeea2 100644 --- a/webapp/components/_new/features/PageParamsLink/PageParamsLink.vue +++ b/webapp/components/_new/features/PageParamsLink/PageParamsLink.vue @@ -1,17 +1,12 @@ @@ -21,6 +16,24 @@ export default { name: 'PageParamsLink', props: { pageParams: { type: Object, required: true }, + forceTargetBlank: { type: Boolean, default: false }, + }, + computed: { + href() { + return this.pageParams.isInternalPage + ? this.pageParams.internalPage.pageRoute + : this.pageParams.externalLink.url + }, + target() { + return this.forceTargetBlank + ? '_blank' + : !this.pageParams.isInternalPage + ? this.pageParams.externalLink.target + : '' + }, + isInternalLink() { + return !this.forceTargetBlank && this.pageParams.isInternalPage + }, }, }