← back to Dw Theme Work

cart-remove-x/backup/snippets_mini-cart.liquid

180 lines

{%- capture taxes_shipping_checkout -%}
  {%- if cart.taxes_included and shop.shipping_policy.body != blank -%}
    {{ 'cart.general.taxes_included_and_shipping_policy_html' | t: link: shop.shipping_policy.url }}
  {%- elsif cart.taxes_included -%}
    {{ 'cart.general.taxes_included_but_shipping_at_checkout' | t }}
  {%- elsif shop.shipping_policy.body != blank -%}
    {{ 'cart.general.taxes_and_shipping_policy_at_checkout_html' | t: link: shop.shipping_policy.url }}
  {%- else -%}
    {{ 'cart.general.tax_and_shipping' | t }}
  {%- endif -%}
{%- endcapture -%}

<div class="mini-cart {% if cart.item_count == 0 %}empty{% endif %}">
  <div class="arrow"></div>

  <div class="mini-cart-item-wrapper">
    {% for item in cart.items %}
      {%- assign item_has_discounts = false -%}
      {%- if item.line_level_discount_allocations.size > 0 -%}
        {%- assign item_has_discounts = true -%}
      {%- endif -%}

      <article
        class="mini-cart-item"
        data-variant="{{ item.variant.id }}"
        data-url="{{ item.url }}"
        data-title="{{ item.product.title | escape }}"
      >

        <figure class="mini-cart-item-image">
          <a href="{{ item.url }}">
            {%
              render 'rimg',
              img: item.image,
              size: '100x100'
            %}
          </a>
        </figure>

        <div class="mini-cart-item-details">
          <p class="mini-cart-item-quantity">{{ 'layout.mini_cart.quantity' | t }}: <span>{{ item.quantity }}</span></p>
          <p class="mini-cart-item-title">
            <a href="{{ item.url }}">
              {{ item.product.title }} {% unless item.variant.title == 'Default Title' %}({{ item.variant.title }}){% endunless %}
            </a>
          </p>

          {% if item.selling_plan_allocation.selling_plan %}
            <span class="mini-cart-item-subscriptions">{{ item.selling_plan_allocation.selling_plan.name }}</span>
          {% endif %}

          {% if item.properties %}
            {% for property in item.properties %}
              {% assign property_first_char = property.first | slice: 0 %}
              {% if property.last != blank and property_first_char != '_' %}
                <p class="mini-cart-item-property">
                  <span class="property-label">{{ property.first }}:</span>
                  {% if property.last contains '/uploads/' %}
                    <a class="property-image" href="{{ property.last }}">{{ property.last | split: '/' | last }}</a>
                  {% else %}
                    <span class="property-value">{{ property.last }}</span>
                  {% endif %}
                </p>
              {% endif %}
            {% endfor %}
          {% endif %}

          {%- if item_has_discounts -%}
          <s class="original-price">
            <span class="money">{{ item.original_price | money }}</span>
          </s>
          {%- endif -%}
          <p class="mini-cart-item-price">
            <span class="final-price money">{{ item.final_price | money }}</span>
          </p>

          {% if item.unit_price %}
            {% assign variant_for_unit_price = item %}
            {% comment %}Inject unit-price begin{% endcomment %}
            {% comment %}
              @param variant_for_unit_price
                Product variant for price
              @param tax_text
                String containing 'tax included' text
            {% endcomment %}
            
            {% capture total_quantity %}
              <span class="product-price__unit-price-total-quantity" data-unit-price-quantity>
                {{ variant_for_unit_price.unit_price_measurement.quantity_value }}{{ variant_for_unit_price.unit_price_measurement.quantity_unit }}
              </span>
            {% endcapture %}
            
            
            {% capture unit_price %}
              <span class="product-price__unit-price-amount money" data-unit-price-amount>
                {{ variant_for_unit_price.unit_price | money }}
              </span>
            {% endcapture %}
            {% capture unit_measure %}
              <span class="product-price__unit-price-measure" data-unit-price-measure>
                {%- if variant_for_unit_price.unit_price_measurement.reference_value != 1 -%}
                  {{ variant_for_unit_price.unit_price_measurement.reference_value }}
                {%- endif %}
                {{ variant_for_unit_price.unit_price_measurement.reference_unit }}
              </span>
            {% endcapture %}
            
            <div
              class="
                product-price__unit-price
                {% unless variant_for_unit_price.unit_price_measurement %}hidden{% endunless %}
              "
              data-unit-price
            >
              {{ 'products.product.price_per_unit_html' | t: total_quantity: total_quantity, unit_price: unit_price, unit_measure: unit_measure | strip_newlines }}
            </div>
            
            {% assign variant_for_unit_price = blank %}
            {% comment %}Inject unit-price end{% endcomment %}

          {% endif %}

          {%- if item_has_discounts -%}
            <ul class="cart-item-discounts">
              {% for discount_allocation in item.line_level_discount_allocations %}
                <li class="cart-item-discount">
                  {% render 'icons', id: 'sale-tag' %}
                  {{ discount_allocation.discount_application.title }}
                  (-<span class="money">{{ discount_allocation.amount | money }}</span>)
                </li>
              {% endfor %}
            </ul>
          {%- endif -%}
        </div>
      </article>
    {% endfor %}
    <article class="mini-cart-item cart-subtotal">
      {%- for discount in cart.cart_level_discount_applications -%}
        <span class="subtotal-row">
          <span class="cart-discount-title cart-subtotal-group">
            {%- render 'icons', id: 'sale-tag' -%}
            {{- discount.title | strip -}}
          </span>
          <span class="cart-subtotal-group discount-value price">
            -<span class="money">{{ discount.total_allocated_amount | money }}</span>
          </span>
        </span>
      {%- endfor -%}
        <span class="subtotal-row">
          <span class="cart-subtotal cart-subtotal-group">{{ 'general.general.subtotal' | t }}</span>
          <span class="money cart-subtotal-group price" data-total-price>{{ cart.total_price | money }}</span>
        </span>
        <span class="subtotal-row">
          <p class="mini-cart__taxes-shipping-text">{{ taxes_shipping_checkout }}</p>
        </span>
    </article>
  </div>

  <div class="mini-cart-footer">
    <a class="button secondary" href="{{ routes.cart_url }}">{{ 'layout.mini_cart.view_cart' | t }}</a>
    <form
      action="{{ routes.cart_url }}"
      method="POST"
    >
      <button
        class="button mini-cart-checkout-button"
        type="submit"
        name="checkout"
      >
        {% if section.settings.enable_checkout_lock_icon %}
          {% render 'icons',
            id: 'checkout-lock',
          %}
        {% endif %}
        <span>{{ 'layout.mini_cart.checkout' | t }}</span>
      </button>
    </form>
  </div>

</div>