src/UserPanel/Modules/OnlineService/Templates/Creator/partials/form.html.twig line 1

  1. {% form_theme form 'Form/fields.html.twig' %}
  2. {{ form_start(form, { 'attr': { 'id': 'creator_form' } }) }}
  3. <div class="row g-4">
  4.     <div class="col-lg-8">
  5.         {% for itemForm in form.items %}
  6.             {% set item = null %}
  7.             {% for choice in form.items.vars.choices %}
  8.                 {% if choice.data.id == itemForm.vars.value %}
  9.                     {% set item = choice.data %}
  10.                 {% endif %}
  11.             {% endfor %}
  12.             <div class="item_container glass-card service-row p-4 mb-3 d-flex align-items-center justify-content-between {{ itemForm.vars.checked ? 'selected' : '' }}" data-id="{{ item.id }}" data-required="{{ item.isRequired ? 'true' : 'false' }}">
  13.                 {{ form_widget(itemForm, { 'attr': { 'style': 'display: none' } }) }}
  14.                 <div class="d-flex align-items-center">
  15.                     <div class="me-3">
  16.                         <div class="checkbox-box border" style="{{ itemForm.vars.checked ? 'background: #0d6efd; border-color: #0d6efd' : 'background: #fff; border-color: #cbd5e1' }}">
  17.                             <i class="check_icon bi bi-check-lg {{ itemForm.vars.checked ? 'text-white' : 'text-dark' }}" {% if not itemForm.vars.checked %}style="display: none"{% endif %}></i>
  18.                         </div>
  19.                     </div>
  20.                     <div>
  21.                         <div class="d-flex align-items-center gap-2">
  22.                             <h6 class="fw-bold mb-0 text-dark">{{ item.priceListItem.name }}</h6>
  23.                         </div>
  24.                         {% if item.priceListItem.description != '' %}
  25.                             <p class="small text-muted mb-0 mt-1">{{ item.priceListItem.description }}</p>
  26.                         {% endif %}
  27.                     </div>
  28.                 </div>
  29.                 <div class="text-end">
  30.                     <div class="fw-bold text-dark fs-5">{{ item.priceListItem.price|formatPrice }}</div>
  31.                     <div class="text-muted" style="font-size: 0.7rem;">netto / m-c</div>
  32.                 </div>
  33.             </div>
  34.         {% endfor %}
  35.     </div>
  36.     <div class="col-lg-4">
  37.         <div class="glass-card p-4 sidebar-summary shadow-lg border-primary border-opacity-10 aos-init aos-animate" data-aos="fade-left">
  38.             <h5 class="fw-bold mb-4 d-flex align-items-center">
  39.                 <i class="bi bi-calculator text-primary me-2"></i> Podsumowanie oferty
  40.             </h5>
  41.             {% if form.items.vars.data|length %}
  42.                 <div class="mb-4">
  43.                     {% for item in form.items.vars.data %}
  44.                         <div class="d-flex justify-content-between mb-2 small animate__animated animate__fadeIn">
  45.                             <span class="text-muted">{{ item.priceListItem.name }}</span>
  46.                             <span class="fw-semibold">{{ item.priceListItem.price|formatPrice }}</span>
  47.                         </div>
  48.                     {% endfor %}
  49.                 </div>
  50.             {% endif %}
  51.             <div class="{{ form.items.vars.data|length ? 'border-top pt-3' : '' }}">
  52.                 <div class="d-flex justify-content-between align-items-center mb-1">
  53.                     <span class="text-muted fw-medium">Suma netto/mc</span>
  54.                     <span class="fs-3 fw-bold text-dark">{{ formType.summaryData.total_price|formatPrice }}</span>
  55.                 </div>
  56.                 <div class="d-flex justify-content-between align-items-center text-muted small mb-4">
  57.                     <span>+ {{ formType.summaryData.vat }}% VAT</span>
  58.                     <span>{{ (formType.summaryData.total_gross_price - formType.summaryData.total_price)|formatPrice }}</span>
  59.                 </div>
  60.             </div>
  61.             <button class="btn btn-primary-custom w-full d-flex align-items-center justify-content-center gap-2 text-white w-100" {% if form.items.vars.data|length == 0 %}disabled="disabled"{% endif %}>
  62.                 <span>Dodaj do koszyka</span>
  63.                 <i class="bi bi-arrow-right"></i>
  64.             </button>
  65.             <div class="text-center mt-4">
  66.                 <small class="text-uppercase fw-bold text-muted" style="font-size: 10px; letter-spacing: 1px;">Gwarancja staƂej ceny przez 12 m-cy</small>
  67.             </div>
  68.         </div>
  69.     </div>
  70. </div>
  71. {{ form_end(form) }}