2017-11-29 15:03:47 +00:00
< ion-header >
2018-07-13 11:10:55 +00:00
< ion-navbar core-back-button >
2017-12-08 14:53:27 +00:00
< ion-title > {{ 'core.login.newaccount' | translate }}< / ion-title >
2017-11-29 15:03:47 +00:00
< ion-buttons end >
2017-12-08 14:53:27 +00:00
< button ion-button icon-only * ngIf = "authInstructions" ( click ) = " showAuthInstructions ( ) " [ attr . aria-label ] = " ' core . login . instructions ' | translate " >
2017-11-29 15:03:47 +00:00
< ion-icon name = "help-circle" > < / ion-icon >
< / button >
< / ion-buttons >
< / ion-navbar >
< / ion-header >
< ion-content >
2018-05-16 12:43:25 +00:00
< ion-refresher [ enabled ] = " settingsLoaded & & ! isMinor " ( ionRefresh ) = " refreshSettings ( $ event ) " >
2017-12-08 14:53:27 +00:00
< ion-refresher-content pullingText = "{{ 'core.pulltorefresh' | translate }}" > < / ion-refresher-content >
2017-11-29 15:03:47 +00:00
< / ion-refresher >
2018-05-16 12:43:25 +00:00
< core-loading [ hideUntil ] = " settingsLoaded " * ngIf = "!isMinor" >
<!-- Age verification. -->
< form ion-list * ngIf = "settingsLoaded && settings && ageDigitalConsentVerification" [ formGroup ] = " ageVerificationForm " ( ngSubmit ) = " verifyAge ( ) " >
< ion-item-divider color = "light" text-wrap >
< p class = "item-heading" > {{ 'core.agelocationverification' | translate }}< / p >
< / ion-item-divider >
< ion-item text-wrap >
< ion-label stacked core-mark-required = "true" > {{ 'core.whatisyourage' | translate }}< / ion-label >
< ion-input type = "number" name = "age" placeholder = "0" formControlName = "age" autocapitalize = "none" autocorrect = "off" > < / ion-input >
< / ion-item >
< ion-item text-wrap >
< ion-label stacked core-mark-required = "true" > {{ 'core.wheredoyoulive' | translate }}< / ion-label >
2018-06-20 08:27:14 +00:00
< ion-select name = "country" formControlName = "country" >
2018-05-16 12:43:25 +00:00
< ion-option value = "" > {{ 'core.login.selectacountry' | translate }}< / ion-option >
< ion-option * ngFor = "let key of countriesKeys" [ value ] = " key " > {{countries[key]}}< / ion-option >
< / ion-select >
< / ion-item >
<!-- Submit button. -->
< ion-item padding >
< button ion-button block type = "submit" [ disabled ] = " ! ageVerificationForm . valid " > {{ 'core.proceed' | translate }}< / button >
< / ion-item >
< ion-item text-wrap >
< p class = "item-heading" > {{ 'core.whyisthisrequired' | translate }}< / p >
< p > {{ 'core.explanationdigitalminor' | translate }}< / p >
< / ion-item >
< / form >
<!-- Signup form. -->
< form ion-list * ngIf = "settingsLoaded && settings && !ageDigitalConsentVerification" [ formGroup ] = " signupForm " ( ngSubmit ) = " create ( ) " >
2017-12-18 09:48:04 +00:00
< ion-item text-wrap text-center >
<!-- If no sitename show big siteurl. -->
< p * ngIf = "!siteName" padding class = "item-heading" > {{siteUrl}}< / p >
<!-- If sitename, show big sitename and small siteurl. -->
2018-05-16 12:43:25 +00:00
< p * ngIf = "siteName" padding class = "item-heading" > < core-format-text [ text ] = " siteName " > < / core-format-text > < / p >
2017-12-18 09:48:04 +00:00
< p * ngIf = "siteName" > {{siteUrl}}< / p >
< / ion-item >
2017-11-29 15:03:47 +00:00
2017-12-18 09:48:04 +00:00
<!-- Username and password. -->
< ion-item-divider text-wrap color = "light" >
{{ 'core.login.createuserandpass' | translate }}
< / ion-item-divider >
< ion-item text-wrap >
< ion-label stacked core-mark-required = "true" > {{ 'core.login.username' | translate }}< / ion-label >
< ion-input type = "text" name = "username" placeholder = "{{ 'core.login.username' | translate }}" formControlName = "username" autocapitalize = "none" autocorrect = "off" > < / ion-input >
< core-input-errors item-content [ control ] = " signupForm . controls . username " [ errorMessages ] = " usernameErrors " > < / core-input-errors >
< / ion-item >
< ion-item text-wrap >
< ion-label stacked core-mark-required = "true" > {{ 'core.login.password' | translate }}< / ion-label >
< core-show-password item-content [ name ] = " ' password ' " >
2018-07-16 14:34:12 +00:00
< ion-input type = "password" name = "password" placeholder = "{{ 'core.login.password' | translate }}" formControlName = "password" [ clearOnEdit ] = " false " > < / ion-input >
2017-12-18 09:48:04 +00:00
< / core-show-password >
< p * ngIf = "settings.passwordpolicy" item-content class = "core-input-footnote" >
{{settings.passwordpolicy}}
< / p >
< core-input-errors item-content [ control ] = " signupForm . controls . password " [ errorMessages ] = " passwordErrors " > < / core-input-errors >
< / ion-item >
2017-11-29 15:03:47 +00:00
2017-12-18 09:48:04 +00:00
<!-- More details. -->
< ion-item-divider text-wrap color = "light" >
{{ 'core.login.supplyinfo' | translate }}
< / ion-item-divider >
< ion-item text-wrap >
< ion-label stacked core-mark-required = "true" > {{ 'core.user.email' | translate }}< / ion-label >
< ion-input type = "email" name = "email" placeholder = "{{ 'core.user.email' | translate }}" formControlName = "email" autocapitalize = "none" autocorrect = "off" > < / ion-input >
< core-input-errors item-content [ control ] = " signupForm . controls . email " [ errorMessages ] = " emailErrors " > < / core-input-errors >
< / ion-item >
< ion-item text-wrap >
< ion-label stacked core-mark-required = "true" > {{ 'core.user.emailagain' | translate }}< / ion-label >
< ion-input type = "email" name = "email2" placeholder = "{{ 'core.user.emailagain' | translate }}" formControlName = "email2" autocapitalize = "none" autocorrect = "off" pattern = "{{signupForm.controls.email.value}}" > < / ion-input >
< core-input-errors item-content [ control ] = " signupForm . controls . email2 " [ errorMessages ] = " email2Errors " > < / core-input-errors >
< / ion-item >
< ion-item * ngFor = "let nameField of settings.namefields" text-wrap >
< ion-label stacked core-mark-required = "true" > {{ 'core.user.' + nameField | translate }}< / ion-label >
< ion-input type = "text" name = "nameField" placeholder = "{{ 'core.user.' + nameField | translate }}" formControlName = "{{nameField}}" autocorrect = "off" > < / ion-input >
< core-input-errors item-content [ control ] = " signupForm . controls [ nameField ] " [ errorMessages ] = " namefieldsErrors [ nameField ] " > < / core-input-errors >
< / ion-item >
< ion-item text-wrap >
< ion-label stacked > {{ 'core.user.city' | translate }}< / ion-label >
< ion-input type = "text" name = "city" placeholder = "{{ 'core.user.city' | translate }}" formControlName = "city" autocorrect = "off" > < / ion-input >
< / ion-item >
< ion-item text-wrap >
< ion-label stacked id = "core-login-signup-country" > {{ 'core.user.country' | translate }}< / ion-label >
2018-06-20 08:27:14 +00:00
< ion-select name = "country" formControlName = "country" aria-labelledby = "core-login-signup-country" >
2017-12-18 09:48:04 +00:00
< ion-option value = "" > {{ 'core.login.selectacountry' | translate }}< / ion-option >
< ion-option * ngFor = "let key of countriesKeys" [ value ] = " key " > {{countries[key]}}< / ion-option >
< / ion-select >
< / ion-item >
2018-01-18 15:38:41 +00:00
<!-- Other categories. -->
< ng-container * ngFor = "let category of categories" >
< ion-item-divider text-wrap color = "light" > {{ category.name }}< / ion-item-divider >
< core-user-profile-field * ngFor = "let field of category.fields" [ field ] = " field " edit = "true" signup = "true" registerAuth = "email" [ form ] = " signupForm " > < / core-user-profile-field >
< / ng-container >
2017-12-18 09:48:04 +00:00
<!-- ReCAPTCHA -->
2018-04-06 12:37:49 +00:00
< ng-container * ngIf = "settings.recaptchapublickey" >
2017-12-18 09:48:04 +00:00
< ion-item-divider text-wrap color = "light" > {{ 'core.login.security_question' | translate }}< / ion-item-divider >
2017-11-29 15:03:47 +00:00
< ion-item text-wrap >
2018-04-06 12:37:49 +00:00
< core-recaptcha [ publicKey ] = " settings . recaptchapublickey " [ model ] = " captcha " [ siteUrl ] = " siteUrl " > < / core-recaptcha >
2017-11-29 15:03:47 +00:00
< / ion-item >
2018-01-18 15:38:41 +00:00
< / ng-container >
2017-12-18 09:48:04 +00:00
<!-- Site policy (if any). -->
2018-01-18 15:38:41 +00:00
< ng-container * ngIf = "settings.sitepolicy" >
2017-12-18 09:48:04 +00:00
< ion-item-divider text-wrap color = "light" > {{ 'core.login.policyagreement' | translate }}< / ion-item-divider >
2017-11-29 15:03:47 +00:00
< ion-item text-wrap >
2017-12-18 09:48:04 +00:00
< p > < a [ href ] = " settings . sitepolicy " core-link capture = "false" > {{ 'core.login.policyagreementclick' | translate }}< / a > < / p >
2017-11-29 15:03:47 +00:00
< / ion-item >
< ion-item text-wrap >
2018-06-06 11:17:18 +00:00
< ion-label >
< span [ core-mark-required ] = " true " > {{ 'core.login.policyaccept' | translate }}< / span >
< core-input-errors [ control ] = " signupForm . controls . policyagreed " [ errorMessages ] = " policyErrors " > < / core-input-errors >
< / ion-label >
2018-01-18 15:38:41 +00:00
< ion-checkbox item-end name = "policyagreed" formControlName = "policyagreed" > < / ion-checkbox >
2017-11-29 15:03:47 +00:00
< / ion-item >
2018-01-18 15:38:41 +00:00
< / ng-container >
2017-11-29 15:03:47 +00:00
2017-12-18 09:48:04 +00:00
<!-- Submit button. -->
< ion-item padding >
2018-04-06 12:37:49 +00:00
< button ion-button block color = "primary" type = "submit" > {{ 'core.login.createaccount' | translate }}< / button >
2017-12-18 09:48:04 +00:00
< / ion-item >
2017-11-29 15:03:47 +00:00
< / form >
< / core-loading >
2018-05-16 12:43:25 +00:00
< ion-list * ngIf = "isMinor" >
< ion-item-divider color = "light" text-wrap >
< p * ngIf = "siteName" class = "item-heading padding" > < core-format-text [ text ] = " siteName " > < / core-format-text > < / p >
< / ion-item-divider >
< ion-item text-wrap >
< p class = "item-heading" > {{ 'core.considereddigitalminor' | translate }}< / p >
< p > {{ 'core.digitalminor_desc' | translate }}< / p >
< p * ngIf = "supportName" > {{ supportName }}< / p >
< p * ngIf = "supportEmail" > {{ supportEmail }}< / p >
< div padding * ngIf = "!supportName && !supportEmail" >
< button ion-button block ( click ) = " showContactOnSite ( ) " >
{{ 'core.openinbrowser' | translate }}
< / button >
< / div >
< / ion-item >
< / ion-list >
2017-11-29 15:03:47 +00:00
< / ion-content >