src/MyBundle/Resources/views/Modules/auth.html.twig line 1

Open in your IDE?
  1. <link rel="stylesheet" type="text/css" href="{{ asset('bundles/my/css/auth.css') }}">
  2. {% include '@My/preloader-css.html.twig' %}
  3. {#popup enter cabinet#}
  4. <noindex>
  5.     {# Авторизація #}
  6.     <div class="modal-fw log-reg-modal" id="enterModal" v-show="showEnterModal" @click.self="closeEnterModal">
  7.         <div class="" role="document" id="auth-form">
  8.         <div class="modal-content" v-if="isInit">
  9.             <div class="modal-header w-100">
  10.                 <div class="enter_modal-title w-100 text-center">
  11.                     {% set referer = app.request.getSchemeAndHttpHost() %}
  12.                     {% if referer == 'https://insurance.vidi.ua' %}
  13.                         <div class="btn-group-slider">
  14.                             <a class="btn btn-primary btn-lg btn-red" style='font-size: 11px' href="/ua/">Повернутися на сайт ВІДІ СТРАХУВАННЯ</a>
  15.                         </div>
  16.                     {% endif %}
  17.                     <svg width="34" height="33" viewbox="0 0 34 33" fill="none" xmlns="http://www.w3.org/2000/svg">
  18.                         <path d="M33 32C33 27.7565 31.3143 23.6869 28.3137 20.6863C25.3131 17.6857 21.2435 16 17 16C12.7565 16 8.68688 17.6857 5.68629 20.6863C2.68571 23.6869 1 27.7565 1 32" stroke="#333333" stroke-width="2" stroke-linecap="round"/>
  19.                         <circle cx="17" cy="8" r="7" stroke="#333333" stroke-width="2"/>
  20.                     </svg>
  21.                 </div>
  22.                 {% set referer = app.request.getSchemeAndHttpHost() %}
  23.                 {% if referer == 'https://insurance.vidi.ua' %}
  24.                     <div class="modal-title" id="enterModalLabel" v-if="loginMode">{{ 'auth.enter_cab_insurance'|trans({},'loyality') }}
  25.                     </div>
  26.                 {% else %}
  27.                     <div class="modal-title" id="enterModalLabel" v-if="loginMode">{{ 'auth.enter_cab'|trans({},'loyality') }}</div>
  28.                 {% endif %}
  29.                 <div class="modal-title" id="enterModalLabel" v-if="registerMode">{{ 'auth.registration'|trans({},'loyality') }}</div>
  30.                 <button type="button" class="close" data-dismiss="modal" data-bs-dismiss="modal" aria-label="Close" @click="resetForm">
  31.                     <svg width="18" height="18" viewbox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
  32.                         <path d="M17.0001 1.00001L1.00014 17M17 17L1 1" stroke="#333333" stroke-linecap="round"/>
  33.                     </svg>
  34.                 </button>
  35.             </div>
  36.             <div class="modal-body row row-form justify-content-center">
  37.                 <div class="col-sm-9 col-md-7 col-lg-5 col-xl-3">
  38.                     {########################}
  39.                     {###  Вход в кабинет  ###}
  40.                     {########################}
  41.                         <div v-if="loginMode"> <div class="form-group">
  42.                             <p style="color: forestgreen" v-show="isRegisterSecondStep">
  43.                                 <svg class="mr-1" xmlns="http://www.w3.org/2000/svg" width="14" height="10" viewbox="0 0 14 10" fill="none">
  44.                                     <path d="M1 3.45168L4.84199 8.67752M13 1L5.15801 9" stroke="#4CB30F" stroke-width="2" stroke-linecap="round"/>
  45.                                 </svg>
  46.                                 Вас успішно зареєстровано на сайті.
  47.                             </p>
  48.                             <p v-show="!confirmPhone && !brokenPhoneMode">{{ 'auth.info'|trans({},'loyality') }}</p>
  49.                             <p v-show="!confirmPhone && brokenPhoneMode" class="text-center">{{ 'auth.broken_phone_info'|trans({},'loyality')|raw }}</p>
  50.                             <p v-show="!confirmPhone && brokenEmailMode" class="text-center">{{ 'auth.broken_email_info'|trans({},'loyality')|raw }}</p>
  51.                             <p v-show="confirmPhone" id="loginPhoneInfo"></p>
  52.                         </div>
  53.                         <div id="loginOther" class="invalid-feedback" v-if="!brokenPhoneMode"></div>
  54.                         <div class="form-group" v-show="!confirmPhone && !brokenPhoneMode && !brokenEmailMode">
  55.                             <label for="loginEmail">{{ 'auth.email_or_phone'|trans({},'loyality') }}</label>
  56.                             <input class="form-control" @change="changeEventValidateLogin" v-model="login" type="text" id="memail" name="email">
  57.                             <div id="loginEmail" class="invalid-feedback"></div>
  58.                         </div>
  59.                         <div class="form-group" v-show="!confirmPhone && !brokenPhoneMode && !brokenEmailMode && showPasswordInputForAuthByCode">
  60.                             <label for="loginPassword">{{ 'auth.password'|trans({}, 'insurance') }}</label>
  61.                             <div class="form-inline d-flex justify-content-between">
  62.                                 <input @change="changeEventValidatePassword" v-if="!showPassword" class="form-control" style="width: 90%!important;" v-model="loginPassword" type="password" id="password" name="password">
  63.                                 <input @change="changeEventValidatePassword" v-else class="form-control" style="width: 90%!important;" v-model="loginPassword" type="text" id="password" name="password">
  64.                                 <a class="register-info-btn" style="cursor: pointer" @click="showPassword=!showPassword">
  65.                                     <svg v-if="showPassword" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="25px" height="25px" viewbox="0 0 497.25 497.25" style="enable-background:new 0 0 497.25 497.25;" xml:space="preserve">
  66.                                         <g>
  67.                                             <g>
  68.                                                 <circle cx="248.625" cy="248.625" r="19.125" fill="currentColor"/>
  69.                                                 <path d="M248.625,172.125c-42.075,0-76.5,34.425-76.5,76.5s34.425,76.5,76.5,76.5s76.5-34.425,76.5-76.5
  70.                                                                                                             S290.7,172.125,248.625,172.125z M248.625,306c-32.513,0-57.375-24.862-57.375-57.375s24.862-57.375,57.375-57.375
  71.                                                                                                             S306,216.112,306,248.625S281.138,306,248.625,306z" fill="currentColor"/>
  72.                                                 <path d="M248.625,114.75C76.5,114.75,0,248.625,0,248.625S76.5,382.5,248.625,382.5S497.25,248.625,497.25,248.625
  73.                                                                                                             S420.75,114.75,248.625,114.75z M248.625,363.375c-153,0-225.675-114.75-225.675-114.75s72.675-114.75,225.675-114.75
  74.                                                                                                             S474.3,248.625,474.3,248.625S401.625,363.375,248.625,363.375z" fill="currentColor"/>
  75.                                             </g>
  76.                                         </g>
  77.                                     </svg>
  78.                                     <svg v-else version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="25px" height="25px" viewbox="0 0 497.301 497.301" style="enable-background:new 0 0 497.301 497.301;" xml:space="preserve">
  79.                                         <g>
  80.                                             <path fill="currentColor" d="M97.5,342.351C30.6,302.15,0,248.65,0,248.65s76.5-133.9,248.6-133.9c24.9,0,47.8,1.9,68.8,7.6l-15.301,15.3
  81.                                                                                                 c-17.199-1.9-34.4-3.8-53.5-3.8c-153,0-225.7,114.8-225.7,114.8s28.7,45.9,88,80.3L97.5,342.351z M172.1,248.65
  82.                                                                                                 c0,5.7,0,11.5,1.9,17.2l17.2-17.2c0-15.3,5.7-28.7,17.2-40.2s26.8-17.2,40.2-17.2l17.201-17.2c-5.701-1.9-11.5-1.9-17.201-1.9
  83.                                                                                                 C206.5,172.15,172.1,206.55,172.1,248.65z M399.699,154.95l-13.398,13.4c59.299,34.4,88,80.3,88,80.3S401.6,363.45,248.6,363.45
  84.                                                                                                 c-19.1,0-36.3-1.899-53.5-3.8l-15.3,15.3c21,5.7,44,7.601,68.9,7.601c172.101,0,248.601-133.9,248.601-133.9
  85.                                                                                                 S466.6,195.15,399.699,154.95z M401.4,76.95L76.9,401.45l18.9,18.9l324.6-324.6L401.4,76.95z M288.801,288.851
  86.                                                                                                 c-11.5,11.5-24.9,17.2-40.201,17.2l-17.2,17.199c5.7,1.9,11.5,1.9,17.2,1.9c42.099,0,76.5-34.4,76.5-76.5c0-5.7,0-11.5-1.9-17.2
  87.                                                                                                 L306,248.65C306,263.95,300.199,277.351,288.801,288.851z"/>
  88.                                         </g>
  89.                                     </svg>
  90.                                 </a>
  91.                             </div>
  92.                             <div id="loginPassword" class="invalid-feedback"></div>
  93.                         </div>
  94.                         <div class="form-group" v-if="code && !brokenPhoneMode">
  95.                             <label for="userCode">Код</label>
  96.                             <input @input="changeEventUserCode" class="form-control" v-model="userCode" type="text" autocomplete="off" id="loginOtp" name="otp" required>
  97.                             <div id="loginOtpError" class="invalid-feedback"></div>
  98.                             <p style="font-size: 11px">{{ 'auth.code_not_send'|trans({}, 'loyality') }}
  99.                                 <a v-on:click.stop.prevent="getCode(1)" href="#">{{ 'auth.resent_code'|trans({}, 'loyality') }}</a>
  100.                             </p>
  101.                         </div>
  102.                         <a href="#" v-show="!confirmPhone && !brokenPhoneMode && !brokenEmailMode && showPasswordInputForAuthByCode" class="forgot-pass" id="restoreBtn" data-dismiss="modal" data-toggle="modal" data-target="#recoverPassModal">
  103.                             {{ 'auth.forgot_pass'|trans({}, 'loyality') }}
  104.                         </a>
  105.                         <div class="log-reg-btn-wrap position-relative">
  106.                             <div id="preloader-auth" v-show="stepPreloader">
  107.                                 <div id="fountainG">
  108.                                     <div id="fountainG_1" class="fountainG"></div>
  109.                                     <div id="fountainG_2" class="fountainG"></div>
  110.                                     <div id="fountainG_3" class="fountainG"></div>
  111.                                     <div id="fountainG_4" class="fountainG"></div>
  112.                                     <div id="fountainG_5" class="fountainG"></div>
  113.                                     <div id="fountainG_6" class="fountainG"></div>
  114.                                     <div id="fountainG_7" class="fountainG"></div>
  115.                                     <div id="fountainG_8" class="fountainG"></div>
  116.                                 </div>
  117.                             </div>
  118.                             <button v-if="!code && !brokenPhoneMode && !brokenEmailMode" type="button" v-on:click.stop.prevent="getCode(0)" class="btn-red">
  119.                                 {{ 'auth.get_code'|trans({},'loyality') }}
  120.                             </button>
  121.                             <button v-if="code && !brokenPhoneMode && !brokenEmailMode" type="button" v-on:click.stop.prevent="loginByCode" class="btn-red">
  122.                                 {{ 'auth.confirm'|trans({},'loyality') }}
  123.                             </button>
  124.                             <button v-if="!code && !brokenPhoneMode && !brokenEmailMode" class="btn-red-transparent" v-on:click.stop.prevent="(registerMode = true) & (loginMode = false)">
  125.                                 {{ 'auth.sign_up'|trans({},'loyality') }}
  126.                             </button>
  127.                             <a v-if="(code || brokenPhoneMode) && !brokenEmailMode" href="#" class="btn-red-transparent" data-dismiss="modal" data-toggle="modal" data-target="#changePhoneModal">
  128.                                 {{ 'change_phone.main_title'|trans({},'loyality') }}
  129.                             </a>
  130.                             <a v-if="!code && brokenEmailMode" href="{{ path('my_update_credentials') }}" class="btn-red-transparent">
  131.                                 {{ 'recovery.update_credentials'|trans({},'loyality') }}
  132.                             </a>
  133.                             <button v-if="brokenPhoneMode || brokenEmailMode" class="btn-red-transparent mt-3" @click="brokenPhoneMode = brokenEmailMode = false">
  134.                                 {{ 'auth.mentioned_pass'|trans({},'loyality') }}
  135.                             </button>
  136.                         </div>
  137.                     </div>
  138.                     {#####################}
  139.                     {###  Регистрация  ###}
  140.                     {#####################}
  141.                         <form v-on:submit.stop.prevent="registerUser" id="registerForm" class="position-relative" action="{{ path('my_register_user') }}" method="post" v-show="registerMode"> <input type="hidden" name="locale" value="{{ app.request.locale }}">
  142.                         <div class="form-group" v-show="!confirmPhone">
  143.                             <label for="regName">{{ 'auth.name'|trans({},'insurance') }}
  144.                                 *</label>
  145.                             <input class="form-control" v-model="regName" type="text" id="name" name="name">
  146.                             <div id="regName" class="invalid-feedback"></div>
  147.                         </div>
  148.                         <div class="form-group" v-show="!confirmPhone">
  149.                             <label for="lname">{{ 'auth.lname'|trans({},'insurance') }}
  150.                                 *</label>
  151.                             <input class="form-control" v-model="regLName" id="lname" type="text" name="lname">
  152.                             <div id="regLName" class="invalid-feedback"></div>
  153.                         </div>
  154.                         <div class="form-group" v-show="!confirmPhone">
  155.                             <label for="mname">{{ 'auth.mname'|trans({},'insurance') }}</label>
  156.                             <input class="form-control" v-model="regMName" type="text" id="mname" name="mname">
  157.                             <div id="regMName" class="invalid-feedback"></div>
  158.                         </div>
  159.                         <div class="form-group" v-show="!confirmPhone">
  160.                             <label for="memail">{{ 'auth.email'|trans({}, 'loyality') }}
  161.                                 *</label>
  162.                             <input class="form-control" v-model="regEmail" type="text" id="memail" name="email">
  163.                             <div id="regEmail" class="invalid-feedback"></div>
  164.                         </div>
  165.                         <div class="form-group position-relative" v-show="!confirmPhone">
  166.                             <label for="regPhone">{{ 'auth.phone'|trans({}, 'loyality') }}
  167.                                 *</label>
  168.                             <input autocomplete="off" @focus="focusEventPhone" @blur="blurEventPhone" class="form-control" data-toggle="tooltip" v-mask="'+38(###)###-##-##'" v-model="regPhone" type="text" name="phone" id="phone-reg" placeholder="+38 (0">
  169.                             <div id="regPhoneError" class="invalid-feedback"></div>
  170.                             <div class="tooltip bs-tooltip-bottom position-absolute d-none" id="phoneRegTooltip" style="z-index: 1; bottom: -80px" role="tooltip">
  171.                                 <div class="arrow"></div>
  172.                                 <div class="tooltip-inner">
  173.                                     {{ 'auth.send_sms'|trans({},'loyality') }}
  174.                                 </div>
  175.                             </div>
  176.                         </div>
  177.                         <div class="form-group position-relative" v-show="!confirmPhone && showPasswordInputForAuthByCode">
  178.                             <label for="password">{{ 'auth.password'|trans({}, 'insurance') }}
  179.                                 *</label>
  180.                             <div class="d-flex justify-content-between position-relative align-items-center">
  181.                                 <input autocomplete="off" @focus="focusEventPassword" @blur="blurEventPassword" data-toggle="tooltip" v-if="!showPassword && showPasswordInputForAuthByCode" class="form-control" style="width: 90%!important;" v-model="regPassword" type="password" id="password" name="password" required>
  182.                                 <input autocomplete="off" @focus="focusEventPassword" @blur="blurEventPassword" data-toggle="tooltip" v-if="showPasswordInputForAuthByCode" class="form-control" style="width: 90%!important;" v-model="regPassword" type="text" id="password" name="password" required>
  183.                                 <a class="register-info-btn" style="cursor: pointer" @click="showPassword=!showPassword">
  184.                                     <svg v-if="showPassword" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="25px" height="25px" viewbox="0 0 497.25 497.25" style="enable-background:new 0 0 497.25 497.25;" xml:space="preserve">
  185.                                         <g>
  186.                                             <g>
  187.                                                 <circle cx="248.625" cy="248.625" r="19.125" fill="currentColor"/>
  188.                                                 <path d="M248.625,172.125c-42.075,0-76.5,34.425-76.5,76.5s34.425,76.5,76.5,76.5s76.5-34.425,76.5-76.5
  189.                                                                                                             S290.7,172.125,248.625,172.125z M248.625,306c-32.513,0-57.375-24.862-57.375-57.375s24.862-57.375,57.375-57.375
  190.                                                                                                             S306,216.112,306,248.625S281.138,306,248.625,306z" fill="currentColor"/>
  191.                                                 <path d="M248.625,114.75C76.5,114.75,0,248.625,0,248.625S76.5,382.5,248.625,382.5S497.25,248.625,497.25,248.625
  192.                                                                                                             S420.75,114.75,248.625,114.75z M248.625,363.375c-153,0-225.675-114.75-225.675-114.75s72.675-114.75,225.675-114.75
  193.                                                                                                             S474.3,248.625,474.3,248.625S401.625,363.375,248.625,363.375z" fill="currentColor"/>
  194.                                             </g>
  195.                                         </g>
  196.                                     </svg>
  197.                                     <svg v-else version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="25px" height="25px" viewbox="0 0 497.301 497.301" style="enable-background:new 0 0 497.301 497.301;" xml:space="preserve">
  198.                                         <g>
  199.                                             <path d="M97.5,342.351C30.6,302.15,0,248.65,0,248.65s76.5-133.9,248.6-133.9c24.9,0,47.8,1.9,68.8,7.6l-15.301,15.3
  200.                                                                                                     c-17.199-1.9-34.4-3.8-53.5-3.8c-153,0-225.7,114.8-225.7,114.8s28.7,45.9,88,80.3L97.5,342.351z M172.1,248.65
  201.                                                                                                     c0,5.7,0,11.5,1.9,17.2l17.2-17.2c0-15.3,5.7-28.7,17.2-40.2s26.8-17.2,40.2-17.2l17.201-17.2c-5.701-1.9-11.5-1.9-17.201-1.9
  202.                                                                                                     C206.5,172.15,172.1,206.55,172.1,248.65z M399.699,154.95l-13.398,13.4c59.299,34.4,88,80.3,88,80.3S401.6,363.45,248.6,363.45
  203.                                                                                                     c-19.1,0-36.3-1.899-53.5-3.8l-15.3,15.3c21,5.7,44,7.601,68.9,7.601c172.101,0,248.601-133.9,248.601-133.9
  204.                                                                                                     S466.6,195.15,399.699,154.95z M401.4,76.95L76.9,401.45l18.9,18.9l324.6-324.6L401.4,76.95z M288.801,288.851
  205.                                                                                                     c-11.5,11.5-24.9,17.2-40.201,17.2l-17.2,17.199c5.7,1.9,11.5,1.9,17.2,1.9c42.099,0,76.5-34.4,76.5-76.5c0-5.7,0-11.5-1.9-17.2
  206.                                                                                                     L306,248.65C306,263.95,300.199,277.351,288.801,288.851z" fill="currentColor"/>
  207.                                         </g>
  208.                                     </svg>
  209.                                 </a>
  210.                                 <img v-show="showCheckPasswordIcon" v-if="!validatePasswordCheck" style="visibility: hidden" class="check-password-icon" width="18px;" src="{{ asset('/bundles/my/img/check-icon-error.png') }}" alt="">
  211.                                 <img v-show="showCheckPasswordIcon" v-else class="check-password-icon" width="18px;" data-src="{{ asset('/bundles/my/img/check-icon-success.png') }}" alt="">
  212.                             </div>
  213.                             <div id="regPassword" class="invalid-feedback"></div>
  214.                             <div class="tooltip bs-tooltip-bottom position-absolute d-none" id="passwordRegTooltip" style="z-index: 1;bottom: -122px" role="tooltip">
  215.                                 <div class="arrow"></div>
  216.                                 <div class="tooltip-inner">
  217.                                     {{ 'register.valid_password'|trans({},'loyality') }}
  218.                                 </div>
  219.                             </div>
  220.                         </div>
  221.                         <span class="modal-subtitle confirm-code" v-show="confirmPhone" v-text="confirmCodeSubtitle"></span>
  222.                         <div class="form-group" v-if="confirmPhone">
  223.                             <label for="confirmPhoneCodeF">Код</label>
  224.                             <input @input="changeEventUserCode" class="form-control" v-model="userCode" type="text" id="confirmPhoneCodeF" name="code" autocomplete="off" required>
  225.                             <div id="userCodeError" class="invalid-feedback"></div>
  226.                             <p style="font-size: 11px">{{'auth.code_not_send'|trans({}, 'loyality')}}
  227.                                 <a v-on:click.stop.prevent="registerResendCode" href="#">{{ 'auth.resent_code'|trans({}, 'loyality') }}</a>
  228.                             </p>
  229.                         </div>
  230.                         <div class="form-check" v-if="!confirmPhone">
  231.                             <input type="checkbox" class="form-check-input" id="exampleCheck1" v-model="regUseCabinetConfirmation">
  232.                             <label class="form-check-label check-info-text" for="exampleCheck1">
  233.                                 {{'auth.true_rules'|trans({}, 'loyality')}}
  234.                                 <a href="{{ path('portal_information_rules') }}" target="_blank">
  235.                                     {{'auth.used_cabinet'|trans({}, 'loyality')}}
  236.                                 </a>
  237.                             </label>
  238.                         </div>
  239.                         <div class="align-items-center log-reg-btn-wrap position-relative flex-column align-items-stretch">
  240.                             <div id="preloader-auth" v-show="stepPreloader">
  241.                                 <div id="fountainG">
  242.                                     <div id="fountainG_1" class="fountainG"></div>
  243.                                     <div id="fountainG_2" class="fountainG"></div>
  244.                                     <div id="fountainG_3" class="fountainG"></div>
  245.                                     <div id="fountainG_4" class="fountainG"></div>
  246.                                     <div id="fountainG_5" class="fountainG"></div>
  247.                                     <div id="fountainG_6" class="fountainG"></div>
  248.                                     <div id="fountainG_7" class="fountainG"></div>
  249.                                     <div id="fountainG_8" class="fountainG"></div>
  250.                                 </div>
  251.                             </div>
  252.                             <button type="button" v-on:click.stop.prevent="confirmRegistration" v-if="confirmPhone" class="btn-red">
  253.                                 {{ 'auth.sign_in'|trans({},'loyality') }}
  254.                             </button>
  255.                             <button type="submit" v-else class="btn-red w-100">
  256.                                 {{ 'auth.sign_up'|trans({},'loyality') }}
  257.                             </button>
  258.                             <div class="text-center w-100" v-if="!confirmPhone">
  259.                                 <a href="#" v-on:click.stop.prevent="(registerMode = false) & (loginMode = true)" class="forgot-pass mb-0">{{ 'auth.alredy_reg'|trans({},'loyality') }}</a>
  260.                             </div>
  261.                         </div>
  262.                     </form>
  263.                 </div>
  264.             </div>
  265.         </div>
  266.         </div>
  267.     </div>
  268.     {# popup recover pass #}
  269.     <div class="modal-fw log-reg-modal" id="recoverPassModal" v-show="showRecoverModal" @click.self="closeRecoverModal">
  270.         <div class="" role="document" id="recovery-form">
  271.             <div class="modal-content" v-show="!newPasswordMode" v-if="isInit">
  272.                 <div class="modal-header w-100">
  273.                     <div class="modal-title" id="recoverPassModalLabel">
  274.                         {{ 'auth.recovery_pass'|trans({},'loyality') }}
  275.                     </div>
  276.                     <button type="button" class="close" data-dismiss="modal" aria-label="Close" @click="resetForm">
  277.                         <svg width="18" height="18" viewbox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
  278.                             <path d="M17.0001 1.00001L1.00014 17M17 17L1 1" stroke="#333333" stroke-linecap="round"/>
  279.                         </svg>
  280.                     </button>
  281.                 </div>
  282.                 <div class="modal-body row row-form justify-content-center">
  283.                     <div class="col-sm-9 col-md-7 col-lg-5 col-xl-3">
  284.                         <span class="modal-subtitle">
  285.                             {{ 'auth.enter_phone_text'|trans({},'loyality')|raw }}
  286.                         </span>
  287.                         <form id="restoreForm" action="" method="post">
  288.                             <div class="form-group" v-if="!confirmPhone">
  289.                                 <label for="recoveryEmail">
  290.                                     {{ 'auth.email_or_phone'|trans({},'loyality') }}
  291.                                 </label>
  292.                                 <input class="form-control" @change="changeEventValidateLogin" v-model="recoveryLogin" type="text" id="recoveryEmail" name="email">
  293.                                 <div id="recoveryEmailError" class="invalid-feedback"></div>
  294.                             </div>
  295.                             <div class="form-group" v-if="code">
  296.                                 <label for="otp">Код</label>
  297.                                 <input class="form-control" v-model="userCode" type="text" id="loginOtpconfirmPhoneCodeF" name="otp" required>
  298.                                 <div id="recoveryUserCode" class="invalid-feedback"></div>
  299.                                 <p style="font-size: 11px">{{ 'auth.code_not_send'|trans({}, 'loyality') }}
  300.                                     <a v-on:click.stop.prevent="getCode(1)" href="#">
  301.                                         {{ 'auth.resent_code'|trans({}, 'loyality') }}
  302.                                     </a>
  303.                                 </p>
  304.                             </div>
  305.                             <div class="form-group" v-if="code">
  306.                                 <label for="recoveryPassword">{{ 'auth.enter_new_password'|trans({},'loyality') }}</label>
  307.                                 <div class="d-flex justify-content-between position-relative align-items-center">
  308.                                     <input v-if="!showNewPassword && showPasswordInputForAuthByCode" class="form-control" style="width: 90%!important;" v-model="recoveryPassword" type="password" id="recoveryPassword" name="password" required>
  309.                                     <input v-else class="form-control" style="width: 90%!important;" v-model="recoveryPassword" type="text" id="recoveryPassword" name="password" required>
  310.                                     <a class="register-info-btn" style="cursor: pointer" @click="showNewPassword=!showNewPassword">
  311.                                         <svg v-if="showNewPassword" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="25px" height="25px" viewbox="0 0 497.25 497.25" style="enable-background:new 0 0 497.25 497.25;" xml:space="preserve">
  312.                                             <g>
  313.                                                 <g>
  314.                                                     <circle cx="248.625" cy="248.625" r="19.125" fill="currentColor"/>
  315.                                                     <path d="M248.625,172.125c-42.075,0-76.5,34.425-76.5,76.5s34.425,76.5,76.5,76.5s76.5-34.425,76.5-76.5
  316.                                                                                                                     S290.7,172.125,248.625,172.125z M248.625,306c-32.513,0-57.375-24.862-57.375-57.375s24.862-57.375,57.375-57.375
  317.                                                                                                                     S306,216.112,306,248.625S281.138,306,248.625,306z" fill="currentColor"/>
  318.                                                     <path d="M248.625,114.75C76.5,114.75,0,248.625,0,248.625S76.5,382.5,248.625,382.5S497.25,248.625,497.25,248.625
  319.                                                                                                                     S420.75,114.75,248.625,114.75z M248.625,363.375c-153,0-225.675-114.75-225.675-114.75s72.675-114.75,225.675-114.75
  320.                                                                                                                     S474.3,248.625,474.3,248.625S401.625,363.375,248.625,363.375z" fill="currentColor"/>
  321.                                                 </g>
  322.                                             </g>
  323.                                         </svg>
  324.                                         <svg v-else version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="25px" height="25px" viewbox="0 0 497.301 497.301" style="enable-background:new 0 0 497.301 497.301;" xml:space="preserve">
  325.                                             <g>
  326.                                                 <path d="M97.5,342.351C30.6,302.15,0,248.65,0,248.65s76.5-133.9,248.6-133.9c24.9,0,47.8,1.9,68.8,7.6l-15.301,15.3
  327.                                                                                                             c-17.199-1.9-34.4-3.8-53.5-3.8c-153,0-225.7,114.8-225.7,114.8s28.7,45.9,88,80.3L97.5,342.351z M172.1,248.65
  328.                                                                                                             c0,5.7,0,11.5,1.9,17.2l17.2-17.2c0-15.3,5.7-28.7,17.2-40.2s26.8-17.2,40.2-17.2l17.201-17.2c-5.701-1.9-11.5-1.9-17.201-1.9
  329.                                                                                                             C206.5,172.15,172.1,206.55,172.1,248.65z M399.699,154.95l-13.398,13.4c59.299,34.4,88,80.3,88,80.3S401.6,363.45,248.6,363.45
  330.                                                                                                             c-19.1,0-36.3-1.899-53.5-3.8l-15.3,15.3c21,5.7,44,7.601,68.9,7.601c172.101,0,248.601-133.9,248.601-133.9
  331.                                                                                                             S466.6,195.15,399.699,154.95z M401.4,76.95L76.9,401.45l18.9,18.9l324.6-324.6L401.4,76.95z M288.801,288.851
  332.                                                                                                             c-11.5,11.5-24.9,17.2-40.201,17.2l-17.2,17.199c5.7,1.9,11.5,1.9,17.2,1.9c42.099,0,76.5-34.4,76.5-76.5c0-5.7,0-11.5-1.9-17.2
  333.                                                                                                             L306,248.65C306,263.95,300.199,277.351,288.801,288.851z" fill="currentColor"/>
  334.                                             </g>
  335.                                         </svg>
  336.                                     </a>
  337.                                 </div>
  338.                                 <div id="recoveryPasswordError" class="invalid-feedback"></div>
  339.                             </div>
  340.                             <span v-if="code" class="register-info-text">{{ 'register.valid_password'|trans({},'loyality') }}</span>
  341.                             <div class="log-reg-btn-wrap position-relative">
  342.                                 <div id="preloader-auth" v-show="stepPreloader">
  343.                                     <div id="fountainG">
  344.                                         <div id="fountainG_1" class="fountainG"></div>
  345.                                         <div id="fountainG_2" class="fountainG"></div>
  346.                                         <div id="fountainG_3" class="fountainG"></div>
  347.                                         <div id="fountainG_4" class="fountainG"></div>
  348.                                         <div id="fountainG_5" class="fountainG"></div>
  349.                                         <div id="fountainG_6" class="fountainG"></div>
  350.                                         <div id="fountainG_7" class="fountainG"></div>
  351.                                         <div id="fountainG_8" class="fountainG"></div>
  352.                                     </div>
  353.                                 </div>
  354.                                 <button v-if="!code" type="button" v-on:click.stop.prevent="getCode(0)" class="btn-red">
  355.                                     {{ 'auth.restore_pass'|trans({},'loyality') }}
  356.                                 </button>
  357.                                 <button v-if="code" type="button" v-on:click.stop.prevent="recoveryConfirmCode" class="btn-red">
  358.                                     {{ 'auth.sign_in'|trans({},'loyality') }}
  359.                                 </button>
  360.                                 <button class="btn-red-transparent" id="cancelRestoreBtn" data-dismiss="modal" data-toggle="modal" data-target="#enterModal">
  361.                                     {{ 'auth.mentioned_pass'|trans({},'loyality') }}
  362.                                 </button>
  363.                             </div>
  364.                         </form>
  365.                     </div>
  366.                 </div>
  367.             </div>
  368.             <div class="modal-content" v-show="newPasswordMode" v-if="isInit">
  369.                 <div class="modal-header w-100">
  370.                     <div class="modal-title" id="updatePassModalLabel">{{ 'auth.recovery_pass'|trans({},'loyality') }}</div>
  371.                     <button type="button" class="close" data-dismiss="modal" aria-label="Close" @click="resetForm">
  372.                         <svg width="18" height="18" viewbox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
  373.                             <path d="M17.0001 1.00001L1.00014 17M17 17L1 1" stroke="#333333" stroke-linecap="round"/>
  374.                         </svg>
  375.                     </button>
  376.                 </div>
  377.                 <div class="modal-body row row-form justify-content-center">
  378.                     <div class="col-sm-9 col-md-7 col-lg-5 col-xl-3">
  379.                         <form id="setPasswordForm" action="" method="post">
  380.                             <div class="form-group">
  381.                                 <label for="recoveryPassword">
  382.                                     {{ 'auth.confirm_pass'|trans({},'loyality') }}
  383.                                 </label>
  384.                                 <input type="password" name="recoveryPassword" class="form-control" v-model="recoveryConfirmPassword" id="recoveryConfirmPassword" required="">
  385.                                 <div id="recoveryConfirmPasswordError" class="invalid-feedback"></div>
  386.                             </div>
  387.                             <div class="log-reg-btn-wrap position-relative">
  388.                                 <div id="preloader-auth" v-show="stepPreloader">
  389.                                     <div id="fountainG">
  390.                                         <div id="fountainG_1" class="fountainG"></div>
  391.                                         <div id="fountainG_2" class="fountainG"></div>
  392.                                         <div id="fountainG_3" class="fountainG"></div>
  393.                                         <div id="fountainG_4" class="fountainG"></div>
  394.                                         <div id="fountainG_5" class="fountainG"></div>
  395.                                         <div id="fountainG_6" class="fountainG"></div>
  396.                                         <div id="fountainG_7" class="fountainG"></div>
  397.                                         <div id="fountainG_8" class="fountainG"></div>
  398.                                     </div>
  399.                                 </div>
  400.                                 <button type="submit" v-on:click.stop.prevent="recoverySetPassword" class="btn-red">{{ 'auth.recover_pass'|trans({},'loyality') }}</button>
  401.                             </div>
  402.                         </form>
  403.                     </div>
  404.                 </div>
  405.             </div>
  406.         </div>
  407.     </div>
  408.     {# popup enter sms code #}
  409.     <div class="modal-fw log-reg-modal" id="confirmPhoneModal" v-show="showConfirmModal" @click.self="closeConfirmModal">
  410.         <div class="" role="document">
  411.             <div class="modal-content">
  412.                 <div class="modal-header w-100">
  413.                     <div class="modal-title" id="confirmPhoneModalLabel">{{ 'auth.recovery_pass'|trans({},'loyality') }}</div>
  414.                     <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  415.                         <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
  416.                             <path d="M17.0001 1.00001L1.00014 17M17 17L1 1" stroke="#333333" stroke-linecap="round"/>
  417.                         </svg>
  418.                     </button>
  419.                 </div>
  420.                 <div class="modal-body row row-form justify-content-center">
  421.                     <div class="col-sm-9 col-md-7 col-lg-5 col-xl-3">
  422.                         <span class="modal-subtitle">{{ 'auth.enter_code_message'|trans({},'loyality') }}</span>
  423.                         <form id="" action="" method="">
  424.                             <div class="form-group" id="">
  425.                                 <input type="number" name="name" maxlength="6" max="999999" class="form-control" id="confirmCodeInput" placeholder="××××××" required="">
  426.                             </div>
  427.                             <span class="d-block mb-4">{{ 'auth.sms_with_code'|trans({},'loyality') }}<b id="userPhone">+380666666666</b></span>
  428.                             <div class="log-reg-btn-wrap position-relative">
  429.                                 <div id="preloader-auth" v-show="stepPreloader">
  430.                                     <div id="fountainG">
  431.                                         <div id="fountainG_1" class="fountainG"></div>
  432.                                         <div id="fountainG_2" class="fountainG"></div>
  433.                                         <div id="fountainG_3" class="fountainG"></div>
  434.                                         <div id="fountainG_4" class="fountainG"></div>
  435.                                         <div id="fountainG_5" class="fountainG"></div>
  436.                                         <div id="fountainG_6" class="fountainG"></div>
  437.                                         <div id="fountainG_7" class="fountainG"></div>
  438.                                         <div id="fountainG_8" class="fountainG"></div>
  439.                                     </div>
  440.                                 </div>
  441.                                 <button type="submit" id="sendConfirmCode" class="btn-red">{{ 'auth.confirm'|trans({},'loyality') }}</button>
  442.                                 <a href="{{ path('my_resend_sms',{hash: '__hash__'}) }}" class="btn-red-transparent js-resend-sms">{{ 'auth.resubmit'|trans({},'loyality') }}</a>
  443.                             </div>
  444.                         </form>
  445.                     </div>
  446.                 </div>
  447.             </div>
  448.         </div>
  449.     </div>
  450.     {# popup change phone #}
  451.     <div class="modal-fw log-reg-modal" id="changePhoneModal" v-show="showChangeModal" @click.self="closeChangeModal">
  452.         <div class="" role="document" id="change-phone-form">
  453.             {#    Step 1    #}
  454.             <div class="modal-content" v-show="enterEmailAndPasswordMode" v-if="isInit">
  455.                 <div class="modal-header w-100">
  456.                     <div class="modal-title" id="recoverPassModalLabel">
  457.                         {{ 'auth.change_phone_form'|trans({},'loyality') }}
  458.                     </div>
  459.                     <button type="button" class="close" data-dismiss="modal" aria-label="Close" @click="resetForm">
  460.                         <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
  461.                             <path d="M17.0001 1.00001L1.00014 17M17 17L1 1" stroke="#333333" stroke-linecap="round"/>
  462.                         </svg>
  463.                     </button>
  464.                 </div>
  465.                 <div class="modal-body row row-form justify-content-center">
  466.                     <div class="col-sm-9 col-md-7 col-lg-5 col-xl-3">
  467.                         <span class="modal-subtitle">
  468.                             {{ 'auth.change_phone_description'|trans({},'loyality')|raw }}
  469.                         </span>
  470.                         <div id="changePhoneOtherError" class="invalid-feedback"></div>
  471.                         <form id="restoreForm" action="" method="post">
  472.                             <div class="form-group mb-3">
  473.                                 <label for="changePhoneEmail">
  474.                                     {{ 'auth.email'|trans({},'loyality') }}
  475.                                 </label>
  476.                                 <input class="form-control"
  477.                                        v-model="email"
  478.                                        type="text"
  479.                                        id="changePhoneEmail"
  480.                                        name="changePhoneEmail">
  481.                                 <div id="changePhoneEmailError" class="invalid-feedback"></div>
  482.                             </div>
  483.                             <div class="form-group" v-show="showPasswordInputForChangePhone">
  484.                                 <label for="changePhonePassword">{{ 'auth.enter_password'|trans({},'loyality') }}</label>
  485.                                 <div class="d-flex justify-content-between position-relative align-items-center">
  486.                                     <input v-if="!showPassword" class="form-control" style="width: 90%!important;" v-model="password" type="password" id="changePhonePassword" name="changePhonePassword">
  487.                                     <input v-else class="form-control" style="width: 90%!important;" v-model="password" type="text" id="changePhonePassword" name="changePhonePassword">
  488.                                     <a class="register-info-btn" style="cursor: pointer" @click="showPassword=!showPassword">
  489.                                         <svg v-if="showPassword" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  490.                                              width="25px" height="25px" viewBox="0 0 497.25 497.25" style="enable-background:new 0 0 497.25 497.25;"
  491.                                              xml:space="preserve">
  492.                                                 <g>
  493.                                                     <g>
  494.                                                         <circle cx="248.625" cy="248.625" r="19.125" fill="currentColor"/>
  495.                                                         <path d="M248.625,172.125c-42.075,0-76.5,34.425-76.5,76.5s34.425,76.5,76.5,76.5s76.5-34.425,76.5-76.5
  496.                                                             S290.7,172.125,248.625,172.125z M248.625,306c-32.513,0-57.375-24.862-57.375-57.375s24.862-57.375,57.375-57.375
  497.                                                             S306,216.112,306,248.625S281.138,306,248.625,306z" fill="currentColor"/>
  498.                                                         <path d="M248.625,114.75C76.5,114.75,0,248.625,0,248.625S76.5,382.5,248.625,382.5S497.25,248.625,497.25,248.625
  499.                                                             S420.75,114.75,248.625,114.75z M248.625,363.375c-153,0-225.675-114.75-225.675-114.75s72.675-114.75,225.675-114.75
  500.                                                             S474.3,248.625,474.3,248.625S401.625,363.375,248.625,363.375z" fill="currentColor"/>
  501.                                                     </g>
  502.                                                 </g>
  503.                                             </svg>
  504.                                         <svg v-else version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  505.                                              width="25px" height="25px" viewBox="0 0 497.301 497.301" style="enable-background:new 0 0 497.301 497.301;"
  506.                                              xml:space="preserve">
  507.                                             <g>
  508.                                                 <path d="M97.5,342.351C30.6,302.15,0,248.65,0,248.65s76.5-133.9,248.6-133.9c24.9,0,47.8,1.9,68.8,7.6l-15.301,15.3
  509.                                                     c-17.199-1.9-34.4-3.8-53.5-3.8c-153,0-225.7,114.8-225.7,114.8s28.7,45.9,88,80.3L97.5,342.351z M172.1,248.65
  510.                                                     c0,5.7,0,11.5,1.9,17.2l17.2-17.2c0-15.3,5.7-28.7,17.2-40.2s26.8-17.2,40.2-17.2l17.201-17.2c-5.701-1.9-11.5-1.9-17.201-1.9
  511.                                                     C206.5,172.15,172.1,206.55,172.1,248.65z M399.699,154.95l-13.398,13.4c59.299,34.4,88,80.3,88,80.3S401.6,363.45,248.6,363.45
  512.                                                     c-19.1,0-36.3-1.899-53.5-3.8l-15.3,15.3c21,5.7,44,7.601,68.9,7.601c172.101,0,248.601-133.9,248.601-133.9
  513.                                                     S466.6,195.15,399.699,154.95z M401.4,76.95L76.9,401.45l18.9,18.9l324.6-324.6L401.4,76.95z M288.801,288.851
  514.                                                     c-11.5,11.5-24.9,17.2-40.201,17.2l-17.2,17.199c5.7,1.9,11.5,1.9,17.2,1.9c42.099,0,76.5-34.4,76.5-76.5c0-5.7,0-11.5-1.9-17.2
  515.                                                     L306,248.65C306,263.95,300.199,277.351,288.801,288.851z" fill="currentColor"/>
  516.                                             </g>
  517.                                         </svg>
  518.                                     </a>
  519.                                 </div>
  520.                                 <div id="changePhonePasswordError" class="invalid-feedback"></div>
  521.                             </div>
  522.                             <div class="log-reg-btn-wrap position-relative">
  523.                                 <div id="preloader-auth" v-show="stepPreloader">
  524.                                     <div id="fountainG">
  525.                                         <div id="fountainG_1" class="fountainG"></div>
  526.                                         <div id="fountainG_2" class="fountainG"></div>
  527.                                         <div id="fountainG_3" class="fountainG"></div>
  528.                                         <div id="fountainG_4" class="fountainG"></div>
  529.                                         <div id="fountainG_5" class="fountainG"></div>
  530.                                         <div id="fountainG_6" class="fountainG"></div>
  531.                                         <div id="fountainG_7" class="fountainG"></div>
  532.                                         <div id="fountainG_8" class="fountainG"></div>
  533.                                     </div>
  534.                                 </div>
  535.                                 <button type="button" v-on:click.stop.prevent="getCode" class="btn-red">
  536.                                     {{ 'change_phone.button.confirm_email'|trans({},'loyality') }}
  537.                                 </button>
  538.                                 <button class="btn-red-transparent" id="cancelRestoreBtn" data-dismiss="modal"
  539.                                         data-toggle="modal" data-target="#enterModal">
  540.                                     {{ 'auth.mentioned_pass'|trans({},'loyality') }}
  541.                                 </button>
  542.                             </div>
  543.                         </form>
  544.                     </div>
  545.                 </div>
  546.             </div>
  547.             {#    Step 2    #}
  548.             <div class="modal-content" v-show="confirmCodeMode" v-if="isInit">
  549.                 <div class="modal-header w-100">
  550.                     <div class="modal-title" id="updatePassModalLabel">{{ 'change_phone.second_title'|trans({},'loyality') }}</div>
  551.                     <button type="button" class="close" data-dismiss="modal" aria-label="Close" @click="resetForm">
  552.                         <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
  553.                             <path d="M17.0001 1.00001L1.00014 17M17 17L1 1" stroke="#333333" stroke-linecap="round"/>
  554.                         </svg>
  555.                     </button>
  556.                 </div>
  557.                 <div class="modal-body row row-form justify-content-center">
  558.                     <div class="col-sm-9 col-md-7 col-lg-5 col-xl-3">
  559.                         <span class="modal-subtitle">
  560.                             {{ 'auth.change_phone_second_description'|trans({},'loyality')|raw }}
  561.                         </span>
  562.                         <div id="otherError" class="invalid-feedback"></div>
  563.                         <form action="" method="post" >
  564.                             <div class="form-group">
  565.                                 <label for="otp">Код</label>
  566.                                 <input class="form-control" v-model="userCode" type="text" name="otp" required>
  567.                                 <div id="changePhoneUserCodeError" class="invalid-feedback"></div>
  568.                                 <p style="font-size: 11px">{{ 'auth.code_not_send'|trans({}, 'loyality') }}
  569.                                     <a v-on:click.stop.prevent="getCode" href="#">
  570.                                         {{ 'auth.resent_code'|trans({}, 'loyality') }}
  571.                                     </a>
  572.                                 </p>
  573.                             </div>
  574.                             <div class="form-group">
  575.                                 <label for="phone">{{ 'change_phone.enter_new_phone'|trans({}, 'loyality') }}</label>
  576.                                 <input class="form-control" v-mask="'+38(###)###-##-##'" v-model="phone" type="text" name="phone" id="phone" placeholder="+38 (0" required>
  577.                                 <div id="changePhoneError" class="invalid-feedback"></div>
  578.                             </div>
  579.                             <div class="log-reg-btn-wrap position-relative">
  580.                                 <div id="preloader-auth" v-show="stepPreloader">
  581.                                     <div id="fountainG">
  582.                                         <div id="fountainG_1" class="fountainG"></div>
  583.                                         <div id="fountainG_2" class="fountainG"></div>
  584.                                         <div id="fountainG_3" class="fountainG"></div>
  585.                                         <div id="fountainG_4" class="fountainG"></div>
  586.                                         <div id="fountainG_5" class="fountainG"></div>
  587.                                         <div id="fountainG_6" class="fountainG"></div>
  588.                                         <div id="fountainG_7" class="fountainG"></div>
  589.                                         <div id="fountainG_8" class="fountainG"></div>
  590.                                     </div>
  591.                                 </div>
  592.                                 <button type="submit" v-on:click.stop.prevent="confirmCode" class="btn-red">
  593.                                     {{ 'change_phone.button.confirm_email'|trans({},'loyality') }}
  594.                                 </button>
  595.                             </div>
  596.                         </form>
  597.                     </div>
  598.                 </div>
  599.             </div>
  600.             {#    Step 3    #}
  601.             <div class="modal-content" v-show="enterSmsAfterChangePhoneMode" v-if="isInit">
  602.                 <div class="modal-header w-100">
  603.                     <div class="modal-title" id="updatePassModalLabel">{{ 'change_phone.second_title_confirm_phone'|trans({},'loyality') }}</div>
  604.                     <button type="button" class="close" data-dismiss="modal" aria-label="Close" @click="resetForm">
  605.                         <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
  606.                             <path d="M17.0001 1.00001L1.00014 17M17 17L1 1" stroke="#333333" stroke-linecap="round"/>
  607.                         </svg>
  608.                     </button>
  609.                 </div>
  610.                 <div class="modal-body row row-form justify-content-center">
  611.                     <div class="col-sm-9 col-md-7 col-lg-5 col-xl-3">
  612.                         <span class="modal-subtitle">
  613.                             {{ 'auth.enter_code_after_change_phone'|trans({},'loyality')|raw }}
  614.                         </span>
  615.                         <div id="otherError" class="invalid-feedback"></div>
  616.                         <form action="" method="post" >
  617.                             <div class="form-group">
  618.                                 <label for="otp">Код</label>
  619.                                 <input class="form-control" v-model="userCode" type="text" name="otp" required>
  620.                                 <div id="changePhoneError" class="invalid-feedback"></div>
  621.                             </div>
  622.                             <div class="log-reg-btn-wrap position-relative">
  623.                                 <div id="preloader-auth" v-show="stepPreloader">
  624.                                     <div id="fountainG">
  625.                                         <div id="fountainG_1" class="fountainG"></div>
  626.                                         <div id="fountainG_2" class="fountainG"></div>
  627.                                         <div id="fountainG_3" class="fountainG"></div>
  628.                                         <div id="fountainG_4" class="fountainG"></div>
  629.                                         <div id="fountainG_5" class="fountainG"></div>
  630.                                         <div id="fountainG_6" class="fountainG"></div>
  631.                                         <div id="fountainG_7" class="fountainG"></div>
  632.                                         <div id="fountainG_8" class="fountainG"></div>
  633.                                     </div>
  634.                                 </div>
  635.                                 <button type="submit" v-on:click.stop.prevent="loginByCode(true)" class="btn-red">
  636.                                     {{ 'change_phone.button.confirm_phone_and_enter'|trans({},'loyality') }}
  637.                                 </button>
  638.                             </div>
  639.                         </form>
  640.                     </div>
  641.                 </div>
  642.             </div>
  643.         </div>
  644.     </div>
  645. </noindex>