{extends file='checkout/_partials/steps/checkout-step.tpl'}

{block name='step_content'}
  <div class="w-full flex flex-col gap-4 p-4">

      {hook h='displayPaymentTop'}

      {* used by javascript to correctly handle cart updates when we are on payment step (eg vouchers added) *}
      <div style="display:none" class="js-cart-payment-step-refresh"></div>

      {if !empty($display_transaction_updated_info)}
      <p class="cart-payment-step-refreshed-info">
        {l s='Transaction amount has been correctly updated' d='Shop.Theme.Checkout'}
      </p>
      {/if}

      {if $is_free}
        <p>{l s='No payment needed for this order' d='Shop.Theme.Checkout'}</p>
      {/if}
      <div class="payment-options flex flex-col gap-2 {if $is_free}hidden-xs-up{/if}">
        {foreach from=$payment_options item="module_options"}
          {foreach from=$module_options item="option"}
            <div>
              <div id="{$option.id}-container" class="payment-option clearfix
              {if ($selected_payment_option == $option.id || (isset($is_free) && $is_free) ) || ($payment_options|@count === 1 && $module_options|@count === 1)} hidden {/if}"
              >
                {* This is the way an option should be selected when Javascript is enabled *}
                <span class="custom-radio float-xs-left">
                  <input
                    class="ps-shown-by-js {if $option.binary} binary {/if}""
                    id="{$option.id}"
                    data-module-name="{$option.module_name}"
                    name="payment-option"
                    type="radio"
                    required
                    {if ($selected_payment_option == $option.id || (isset($is_free) && $is_free) ) || ($payment_options|@count === 1 && $module_options|@count === 1)} checked {/if}
                  >
                  <span></span>
                </span>
                {* This is the way an option should be selected when Javascript is disabled *}
                <form method="GET" class="ps-hidden-by-js">
                  {if $option.id === $selected_payment_option}
                    {l s='Selected' d='Shop.Theme.Checkout'}
                  {else}
                    <button class="ps-hidden-by-js" type="submit" name="select_payment_option" value="{$option.id}">
                      {l s='Choose' d='Shop.Theme.Actions'}
                    </button>
                  {/if}
                </form>

                <label for="{$option.id}">
                  <span>{$option.call_to_action_text}</span>
                  {if $option.logo}
                    <img src="{$option.logo}">
                  {/if}
                </label>

              </div>
            </div>

            {if $option.additionalInformation}
              <div
                id="{$option.id}-additional-information"
                class="js-additional-information definition-list additional-information{if $option.id != $selected_payment_option} ps-hidden {/if}"
              >
                {$option.additionalInformation nofilter}
              </div>
            {/if}

            <div
              id="pay-with-{$option.id}-form"
              class="js-payment-option-form {if $option.id != $selected_payment_option} ps-hidden {/if}"
            >
              {if $option.form}
                {$option.form nofilter}
              {else}
                <form id="payment-form" method="POST" action="{$option.action nofilter}">
                  {foreach from=$option.inputs item=input}
                    <input type="{$input.type}" name="{$input.name}" value="{$input.value}">
                  {/foreach}
                  <button style="display:none" id="pay-with-{$option.id}" type="submit"></button>
                </form>
              {/if}
            </div>
          {/foreach}
        {foreachelse}
          <p class="alert alert-danger">{l s='Unfortunately, there are no payment method available.' d='Shop.Theme.Checkout'}</p>
        {/foreach}
      </div>

      {if $conditions_to_approve|count}
        <p class="ps-hidden-by-js">
          {* At the moment, we're not showing the checkboxes when JS is disabled
            because it makes ensuring they were checked very tricky and overcomplicates
            the template. Might change later.
          *}
          {l s='By confirming the order, you certify that you have read and agree with all of the conditions below:' d='Shop.Theme.Checkout'}
        </p>

        <form id="conditions-to-approve" method="GET">
          <ul class="flex flex-col gap-2">
            {foreach from=$conditions_to_approve item="condition" key="condition_name"}
              <li>
                <div class="flex items-center gap-2 focus:border-0">
                    <input  id    = "conditions_to_approve[{$condition_name}]"
                            name  = "conditions_to_approve[{$condition_name}]"
                            required
                            type  = "checkbox"
                            value = "1"
                            class = "ps-shown-by-js"
                    >
                  </span>
                  <label class="js-terms" for="conditions_to_approve[{$condition_name}]">
                    {$condition nofilter}
                  </label>
              </li>
            {/foreach}
          </ul>
        </form>
      {/if}

      {if $show_final_summary}
        {include file='checkout/_partials/order-final-summary.tpl'}
      {/if}

      <div id="payment-confirmation">
        <div class="ps-shown-by-js">
          <button type="submit" {if !$selected_payment_option} disabled {/if} class="uppercase font-medium py-2 text-center w-full bg-blue-950 hover:bg-blue-900 disabled:bg-gray-600 text-gray-50 cursor-pointer">
            {l s='Place order' d='Shop.Theme.Checkout'}
          </button>
          {if $show_final_summary}
            <article class="alert alert-danger mt-2 js-alert-payment-conditions" role="alert" data-alert="danger">
              {l
                s='Please make sure you\'ve chosen a [1]payment method[/1] and accepted the [2]terms and conditions[/2].'
                sprintf=[
                  '[1]' => '<a href="#checkout-payment-step">',
                  '[/1]' => '</a>',
                  '[2]' => '<a href="#conditions-to-approve">',
                  '[/2]' => '</a>'
                ]
                d='Shop.Theme.Checkout'
              }
            </article>
          {/if}
        </div>
        <div class="ps-hidden-by-js">
          {if $selected_payment_option and $all_conditions_approved}
            <label for="pay-with-{$selected_payment_option}">{l s='Place order' d='Shop.Theme.Checkout'}</label>
          {/if}
        </div>
      </div>

      {hook h='displayPaymentByBinaries'}

      <div class="modal fade hidden" id="modal">
        <div class="modal-dialog" role="document">
          <div class="modal-content">
            <button type="button" class="close" data-dismiss="modal" aria-label="{l s='Close' d='Shop.Theme.Global'}">
              <span aria-hidden="true">&times;</span>
            </button>
            <div class="js-modal-content"></div>
          </div>
        </div>
      </div>
  </div>
{/block}