src/UI/WebBundle/Resources/views/Security/signup.html.twig line 1

Open in your IDE?
  1. {% extends 'Common/base.html.twig' %}
  2. {% import 'Common/parts/functions.html.twig' as function %}
  3. {% block title %}{{ 'web.security.signup.title'|trans }} | {{ parent() }}{% endblock %}
  4. {% block classBody %}user signup login {{ parent() }}{% endblock %}
  5. {% block stylesheets %}
  6. {{ parent() }}
  7. {{ encore_entry_link_tags('select2_styles') }}
  8. {% endblock stylesheets %}
  9. {% block javascripts %}
  10. {{ parent() }}
  11. {{ encore_entry_script_tags('select2_js') }}
  12. {{ encore_entry_script_tags('wt_signup') }}
  13. {% endblock javascripts %}
  14. {% block contents %}
  15. <div class="container-small" ng-controller="signupCtrl">
  16. <nav class="mb-2" aria-label="breadcrumb">
  17. <ol class="breadcrumb mb-0">
  18. <li class="breadcrumb-item"><a href="{{path('web_init')}}">Inicio</a></li>
  19. <li class="breadcrumb-item active" aria-current="page">Registrarse</li>
  20. </ol>
  21. </nav>
  22. <div class="row flex-center position-relative g-0 ">
  23. <div class="col-11 col-sm-10 col-xl-9">
  24. <div class="card border border-200 auth-card">
  25. <div class="card-body pe-md-0">
  26. <div class="row align-items-center gx-0 gy-7">
  27. <div class="col-auto bg-100 rounded-3 position-relative overflow-hidden auth-title-box">
  28. <div class="position-relative px-4 px-lg-7 pt-7 pb-7 pb-sm-5 text-center text-md-start pb-lg-7 pb-md-7">
  29. <a class="d-flex flex-center text-decoration-none mb-4" href="{{path('web_homepage')}}">
  30. <div class="d-flex align-items-center fw-bolder fs-5 d-inline-block">
  31. <img src="{{ asset('/assets/images/logo_v2.png') }}" alt="whater.app" class="w-100">
  32. </div>
  33. </a>
  34. <h3 class="mb-3 text-black fs-1">{{ 'web.security.signup.description' |trans }}</h3>
  35. <p class="text-700">Regístrate gratis en whater.app y accede a los ultimos datos sobre el agua.</p>
  36. <ul class="list-unstyled mb-0 w-max-content w-md-auto mx-auto">
  37. <li class="d-flex align-items-center"><span class="uil uil-check-circle text-success me-2"></span><span class="text-700 fw-semi-bold">Rápido</span></li>
  38. <li class="d-flex align-items-center"><span class="uil uil-check-circle text-success me-2"></span><span class="text-700 fw-semi-bold">Simple</span></li>
  39. <li class="d-flex align-items-center"><span class="uil uil-check-circle text-success me-2"></span><span class="text-700 fw-semi-bold">Responsable</span></li>
  40. </ul>
  41. </div>
  42. <div class="position-relative z-index--1 mb-6 d-none d-md-block text-center ">
  43. <img class="w-100 px-4 pt-3 pb-2 " src="{{ asset('/assets/images/gota-foto-1@2x.png')}}" alt="">
  44. </div>
  45. </div>
  46. <div class="col mx-0 mx-md-4">
  47. {% form_theme form 'Form/bootstrap_5_layout.html.twig' %}
  48. {{ form_start(form, {'action': path('web_signup'),
  49. 'method': 'POST',
  50. 'attr': { 'id': form.vars.name, 'autoComplete':'off' }}) }}
  51. {{ form_errors(form) }}
  52. <div class="text-center mb-7">
  53. <h3 class="text-1000">Registrate</h3>
  54. <p class="text-700">Instroduce tus datos y crea tu cuenta de forma gratuita</p>
  55. </div>
  56. {{ function.showFlashes() }}
  57. <div class="row g-3 mb-3">
  58. <div class="col-xl-6">
  59. {{ form_label(form.firstName) }}
  60. {{ form_widget(form.firstName, {'attr': {'class': 'form-control form-icon-input' , 'autocomplete': 'given-name'}}) }}
  61. {{ form_errors(form.firstName) }}
  62. </div>
  63. <div class="col-xl-6">
  64. {{ form_label(form.lastName) }}
  65. {{ form_widget(form.lastName, {'attr': {'class': 'form-control form-icon-input' , 'autocomplete': 'family-name'}}) }}
  66. {{ form_errors(form.lastName) }}
  67. </div>
  68. </div>
  69. <div class="row g-3 mb-3">
  70. <div class="col-xl-6">
  71. {{ form_label(form.email) }}
  72. {{ form_widget(form.email, {'attr': {'class': 'form-control form-icon-input' , 'autocomplete': 'email'}}) }}
  73. {{ form_errors(form.email) }}
  74. </div>
  75. <div class="col-xl-6">
  76. {{ form_label(form.phone) }}
  77. {{ form_widget(form.phone, {'attr': {'class': 'form-control form-icon-input' , 'autocomplete': 'phone'}}) }}
  78. {{ form_errors(form.phone) }}
  79. </div>
  80. </div>
  81. <div class="row g-3 mb-3">
  82. <div class="col-xl-6">
  83. {{ form_label(form.password) }}
  84. {{ form_widget(form.password, {'attr': {'class': 'form-control form-icon-input' , 'autocomplete': 'new-password'}}) }}
  85. {{ form_errors(form.password) }}
  86. </div>
  87. <div class="col-xl-6" ng-init="initSelectCountry()">
  88. <label for="select_country" class="form-label">País</label>
  89. <select class="form-select country-field" aria-label="Tu país"
  90. required
  91. id="select_country"
  92. data-country-search-url="{{ url('web_api_public_zones_country_list') }}">
  93. <option value="216abc6f-594d-49ea-8977-8976ca33e92c" selected="selected">España</option>
  94. </select>
  95. </div>
  96. </div>
  97. <div class="row g-3 mb-3">
  98. <div class="col-12" ng-init="initSelectTowns()">
  99. {{ form_label(form.town) }}
  100. {% do form.town.setRendered %}
  101. <select class="form-select clinics-field" aria-label="Tu localidad"
  102. id="signup_town"
  103. name="{{ form.town.vars.full_name }}"
  104. required="required"
  105. data-town-search-url="{{ url('web_api_public_zones_town_list') }}">
  106. </select>
  107. {{ form_errors(form.town) }}
  108. </div>
  109. </div>
  110. <div class="row g-3 mb-3">
  111. <div class="col-12">
  112. {{ form_label(form.publicComments) }}
  113. {{ form_widget(form.publicComments, {'attr': {'class': 'form-control form-icon-input'}}) }}
  114. {{ form_errors(form.publicComments) }}
  115. </div>
  116. </div>
  117. <div class="row g-3 mb-3">
  118. <div class="col-12">
  119. {{ form_label(form.selectedTypes) }}
  120. {{ form_widget(form.selectedTypes, {'attr': {'class': 'form-control form-icon-input'}}) }}
  121. {{ form_errors(form.selectedTypes) }}
  122. </div>
  123. </div>
  124. <div class="row form-check mb-3">
  125. {{ form_errors(form.terms) }}
  126. <div class="form-check">
  127. <input class="form-check-input" id="signup_terms" type="checkbox"
  128. required="required"
  129. name="{{field_name(form.terms)}}">
  130. <label class="form-check-label" for="signup_terms">Acepta nuestros <a href="{{path('web_terms')}}" target="_blank">términos y condiciones</a>.</label>
  131. </div>
  132. </div>
  133. <div class="g-3 mb-3" ng-init="initReferralCode('{{referralCode}}')">
  134. {{ form_widget(form.referralCode) }}
  135. {{ form_widget(form.recaptcha, {'attr': {'class': 'my-3' }}) }}
  136. </div>
  137. <button class="btn btn-primary w-100 mb-3" ng-click="submitForm()">{{ 'web.security.signup.button'|trans }}</button>
  138. {{ form_rest(form) }}
  139. {{ form_end(form) }}
  140. </div>
  141. </div>
  142. </div>
  143. </div>
  144. </div>
  145. </div>
  146. </div>
  147. {% endblock contents %}