templates/pages/tarif_choice/tarif_choice_web.html.twig line 1

Open in your IDE?
  1. <figure class="mt-[10px] lg:mt-[40px] mx-auto max-w-max lg:max-w-[1328px] px-[24px]">
  2.     {% include '@App/shared/ui/header/header.html.twig' %}
  3.     <div class="stepper-wrapper mt-[80px] mb-[24px]">
  4.         <div class="stepper-item active">
  5.             <div class="step-counter">01</div>
  6.             <div class="step-name">{% trans from 'tarif_choice' %}Тарифні плани{% endtrans %}</div>
  7.         </div>
  8.         <div class="stepper-item ">
  9.             <div class="step-counter">02</div>
  10.             <div class="step-name">{% trans from 'tarif_choice' %}Реєстрація E-mail{% endtrans %}</div>
  11.         </div>
  12.         <div class="stepper-item ">
  13.             <div class="step-counter">03</div>
  14.             <div class="step-name">{% trans from 'tarif_choice' %}Отримання номеру{% endtrans %}</div>
  15.         </div>
  16.         <div class="stepper-item">
  17.             <div class="step-counter">04</div>
  18.             <div class="step-name">{% trans from 'tarif_choice' %}Підтвердження та оплата{% endtrans %}</div>
  19.         </div>
  20.         <div class="stepper-item">
  21.             <div class="step-counter">05</div>
  22.             <div class="step-name">{% trans from 'tarif_choice' %}Отримання eSIM{% endtrans %}</div>
  23.         </div>
  24.     </div>
  25.     <div class="rounded-[16px] p-[16px] md:p-[32px] border border-[#E2E2E9] bg-[#F7F7FA]">
  26.         <div class="mt-[14px] p-0 md:p-[18px] max-w-full mx-auto rounded-[24px] ">
  27.             <div class="flex justify-between items-center relative">
  28.                 <div class="absolute left-[-10px] top-[-10px] md:left-0 md:top-0">
  29.                     {% include '@App/shared/ui/backButton/backButtonWeb.html.twig' %}
  30.                 </div>
  31.                 <div class="flex flex-col gap-[16px] text-center mt-[32px] md:mt-0 mx-auto max-w-[485px]">
  32.                     <div class="text-[24px] font-semibold text-[#1B2028]"
  33.                          style="{{ inlineStyles(app.request.get('companyInner'), constant('App\\Constants\\SettingConstants::BLOCK_TITLE_STYLES')) }}"
  34.                     >{% trans from 'tarif_choice' %}Вибір тарифу{% endtrans %}</div>
  35.                     <div class="text-[16px] text-[#5B5B5B]"
  36.                     >{% trans from 'tarif_choice' %}Ознайомтеся з доступними тарифами та оберіть оптимальний варіант.{% endtrans %}</div>
  37.                 </div>
  38.                 {% if faqs is defined and faqs is not empty %}
  39.                     {#                <a href="{{ path('how_it_works') }}" class="font-medium text-[#E64829] text-[16px] text-center block hover:underline mt-[30px]">{% trans from 'main' %}Як працює eSIM?{% endtrans %}</a> #}
  40.                     <div class="absolute right-[-10px] top-[-10px] md:right-0 md:top-0">
  41.                         <div class="relative group">
  42.                             <button data-modal="#modal_faq"
  43.                                     class="js--modal hover:underline transition ease-in-out duration-150 block text-center w-[34px] h-[34px] p-[7px] md:w-[48px] md:h-[48px] md:p-[14px] bg-transparent border rounded-[50%] border-none font-semibold text-[16px] focus:outline-none"
  44.                                     style="color: {{ companyStyles.linkTextColor }}; --custom-color: {{ companyStyles.buttonColor }}; background-color: rgba(from var(--custom-color) r g b / 0.2)">
  45.                                 <svg class="w-[20px] h-[20px]"
  46.                                      style="fill: {{ companyStyles.buttonColor }}; border-color: {{ companyStyles.buttonColor }}">
  47.                                     <use href="{{ asset('build/sprite.svg#question') }}"></use>
  48.                                 </svg>
  49.                             </button>
  50.                             <!-- Тултип -->
  51.                             <div class="w-[160px] text-right text-[14px] absolute hidden group-hover:block bg-[#1A1A1A] text-white rounded py-[4px] px-[8px] right-full top-1/2 -translate-y-1/2 mr-2 transition-opacity duration-200 opacity-0 group-hover:opacity-100">
  52.                                 {% trans from 'tarif_choice' %}Поширені питання та відповіді{% endtrans %}
  53.                                 <!-- Стрелка -->
  54.                                 <div class="absolute w-0 h-0 border-4 border-transparent border-l-[#1A1A1A] -right-2 top-1/2 -translate-y-1/2"></div>
  55.                             </div>
  56.                         </div>
  57.                     </div>
  58.                 {% endif %}
  59.             </div>
  60. {#            <div class="text-[16px] font-medium text-[#A0A4AE] mb-[20px] text-{{ companyStyles.descriptionTextAlign }}">#}
  61. {#                {% if is_granted('ROLE_FRONT_USER') %}{% trans from 'register' %}Крок 1/3{% endtrans %}{% else %}{% trans from 'register' %}Крок 1/5{% endtrans %}{% endif %}#}
  62. {#            </div>#}
  63.             <div class="grid grid-cols-1 md:grid-cols-2 gap-[10px] mt-[32px] pr-[8px]">
  64.                 {% if esimPresence is defined and esimPresence is not null and esimPresence == false %}
  65.                     <div class="rounded-[16px] p-[18px] border border-[#E2E2E9] bg-[#ffffff] mt-[40px]">
  66.                         <div class="text-[24px] font-semibold text-[#1B2028] mx-auto text-{{ companyStyles.descriptionTextAlign }} {% if companyStyles.descriptionTextAlign == 'center' %}max-w-[360px]{% endif %}"
  67.                         >{% trans from 'tarif_choice' %}На жаль, наразі немає доступних номерів. Спробуйте пізніше{% endtrans %}</div>
  68.                     </div>
  69.                 {% else %}
  70.                     {% for item in tariffs %}
  71.                         {% set tariffCard %}
  72.                             <div class="flex items-center content-start gap-[6px]">
  73.                                 {% if item.mainImage is not empty %}
  74.                                     <div class="w-[48px] h-[48px]">
  75.                                         {{ sonata_media(item.mainImage, 'reference') }}
  76.                                     </div>
  77.                                 {% elseif item.imageLink %}
  78.                                     <div class="w-[48px] h-[48px]">
  79.                                         <img src="{{ item.imageLink }}" alt="{{ item.name }}"/>
  80.                                     </div>
  81.                                 {% endif %}
  82.                                 <div class="flex flex-col content-start">
  83.                                     <div class="text-[20px] text-[#1B2028] font-medium">{{ item.name }}</div>
  84.                                     {% if operator.priceText is not empty %}
  85.                                         {% if operator.type == operatorLifecellType() %}{% else %}
  86.                                             <div class="text-[14px] text-[#5B5B5B] font-medium">{{ operator.priceText }}
  87.                                                 <span class="text-[#1B2028]">{{ item.price }}₴</span></div>
  88.                                         {% endif %}
  89.                                     {% else %}
  90.                                         {% if operator.type == operatorLifecellType() %}{% else %}
  91.                                             <div class="text-[14px] text-[#5B5B5B] font-medium">{% trans from 'tarif_choice' %}Вартість за перші 4 тижні:{% endtrans %}
  92.                                                 <span class="text-[#1B2028]">{{ item.price }}₴</span></div>
  93.                                         {% endif %}
  94.                                     {% endif %}
  95.                                 </div>
  96.                                 {% if item.detailsButtonText is not empty and item.detailsButtonUrl is not empty %}
  97.                                     <a href="/{{ item.detailsButtonUrl }}" class="text-[14px] ml-auto underline" style="color: {{ companyStyles.linkTextColor }}">{{ item.detailsButtonText }}</a>
  98.                                 {% endif %}
  99.                             </div>
  100.                             <hr class="h-px my-[8px] bg-[#E2E2E9] border-0 ">
  101.                             <article class="prose mb-[10px]">
  102.                                 {{ item.bottomDescription | raw }}
  103.                             </article>
  104.                             <span class="inline-block min-h-[32px] mb-[12px] bg-white text-[#909299] text-[14px] font-medium px-[12px] py-[6px] rounded-full text-balance w-fit border border-[#E2E2E9]">
  105.                                 {% if operator.type == operatorLifecellType() %}
  106.                                     {% trans from 'register' %}Вартість послуг на 4 тижні: {% endtrans %}
  107.                                 {% else %}
  108.                                     {% trans from 'tarif_choice' %}Абонплата за наступні 4 тижні: {% endtrans %}
  109.                                 {% endif %}
  110.                                 <span class="text-[#1B2028]">
  111.                                     {{ item.subscription }}
  112.                                     {% if operator.type == operatorLifecellType() %}{% else %} ₴{% endif %}
  113.                                 </span>
  114.                             </span>
  115.                             <a href="{{ path('tariff_selected_page',{tariff:item.id}) }}"
  116.                                class="mt-auto"
  117.                             >
  118.                                 <button class=" hover:underline transition ease-in-out duration-150 w-full flex flex-row gap-[8px] justify-center text-center p-[12px] min-h-[48px] bg-transparent border rounded-[10px] font-semibold text-[14px] mt-[16px] focus:outline-none"
  119.                                         style="color: {{ companyStyles.notFilledButtonTextColor }}; border-color: {{ companyStyles.notFilledButtonTextColor }}">
  120.                                     {% trans with {'%price%': item.price} from 'tarif_choice' %}Купити за %price%₴{% endtrans %}
  121.                                 </button>
  122.                             </a>
  123.                         {% endset %}
  124.                         <div class="{% if item.desktopSelectionImage is not empty %}md:col-span-2{% endif %} flex flex-col md:flex-row gap-[10px] items-stretch">
  125.                             {% if item.mobileSelectionImage is not empty %}
  126.                                 <div class="md:hidden w-full h-[84px] rounded-[16px] overflow-hidden [&_img]:w-full [&_img]:h-[84px] [&_img]:object-cover [&_img]:rounded-[16px]">
  127.                                     {{ sonata_media(item.mobileSelectionImage, 'reference') }}
  128.                                 </div>
  129.                             {% endif %}
  130.                             <div class="flex-1 rounded-[16px] p-[18px] flex flex-col border border-[#E2E2E9] bg-[#ffffff]">
  131.                                 {{ tariffCard }}
  132.                             </div>
  133.                             {% if item.desktopSelectionImage is not empty %}
  134.                                 <div class="p-[18px] max-md:hidden flex flex-1 min-h-[370px] rounded-[16px] border border-[#E2E2E9] bg-[#ffffff] items-center justify-center overflow-hidden">
  135.                                     {{ sonata_media(item.desktopSelectionImage, 'reference') }}
  136.                                 </div>
  137.                             {% endif %}
  138.                         </div>
  139.                     {% endfor %}
  140.                 {% endif %}
  141.             </div>
  142.         </div>
  143.     </div>
  144. </figure>
  145. <!-- modal-window fixed hidden top-0 left-0 right-0 z-50 show:opacity-100 w-full p-4 overflow-x-hidden overflow-y-auto mx-auto md:inset-0 max-h-full -->
  146. {% for modal in operator.tariffs %}
  147.     {% if modal.description is not empty %}
  148.         {% include '@App/shared/ui/modal/modal_web.html.twig' with {
  149.             id: modal.id,
  150.             name: modal.name,
  151.             image: modal.mainImage,
  152.             imageLink: modal.imageLink,
  153.             description: modal.description | raw,
  154.             showButton: true,
  155.         } %}
  156.     {% endif %}
  157. {% endfor %}