@extends('admin-dining.layouts.app')

@section('title', 'Transaction Details')
@section('page-title', 'Transaction Details')

@section('page-actions')
  <a href="{{ route('admin-dining.transactions.index') }}" class="btn btn-outline-secondary">
    <i class="bi bi-arrow-left"></i> Back to List
  </a>
@endsection

@section('content')
  <div class="row">
    <div class="col-md-8">
      <div class="card mb-4">
        <div class="card-header">
          <h5 class="mb-0">Transaction Information</h5>
        </div>
        <div class="card-body">
          <dl class="row mb-0">
            <dt class="col-sm-4">Order ID</dt>
            <dd class="col-sm-8"><strong>{{ $transaction->order_id }}</strong></dd>

            <dt class="col-sm-4">Tracking ID</dt>
            <dd class="col-sm-8">{{ $transaction->tracking_id ?? '-' }}</dd>

            <dt class="col-sm-4">Bank Reference No</dt>
            <dd class="col-sm-8">{{ $transaction->bank_ref_no ?? '-' }}</dd>

            <dt class="col-sm-4">Order Status</dt>
            <dd class="col-sm-8">
              @if($transaction->order_status == 'Success')
                <span class="badge bg-success">{{ $transaction->order_status }}</span>
              @elseif($transaction->order_status == 'Failure')
                <span class="badge bg-danger">{{ $transaction->order_status }}</span>
              @elseif($transaction->order_status == 'Aborted' || $transaction->order_status == 'Cancelled')
                <span class="badge bg-warning">{{ $transaction->order_status }}</span>
              @else
                <span class="badge bg-secondary">{{ $transaction->order_status }}</span>
              @endif
            </dd>

            <dt class="col-sm-4">Status Message</dt>
            <dd class="col-sm-8">{{ $transaction->status_message ?? '-' }}</dd>

            @if($transaction->failure_message)
              <dt class="col-sm-4">Failure Message</dt>
              <dd class="col-sm-8"><span class="text-danger">{{ $transaction->failure_message }}</span></dd>
            @endif

            <dt class="col-sm-4">Amount</dt>
            <dd class="col-sm-8"><strong class="text-primary">₹{{ number_format($transaction->amount, 2) }}</strong>
              {{ $transaction->currency }}</dd>

            @if($transaction->discount_value > 0)
              <dt class="col-sm-4">Discount</dt>
              <dd class="col-sm-8">₹{{ number_format($transaction->discount_value, 2) }}</dd>
            @endif

            @if($transaction->mer_amount)
              <dt class="col-sm-4">Merchant Amount</dt>
              <dd class="col-sm-8">₹{{ number_format($transaction->mer_amount, 2) }}</dd>
            @endif

            <dt class="col-sm-4">Payment Mode</dt>
            <dd class="col-sm-8">{{ $transaction->payment_mode ?? '-' }}</dd>

            @if($transaction->card_name)
              <dt class="col-sm-4">Card Name</dt>
              <dd class="col-sm-8">{{ $transaction->card_name }}</dd>
            @endif

            <dt class="col-sm-4">Transaction Date</dt>
            <dd class="col-sm-8">{{ $transaction->trans_date ?? '-' }}</dd>

            <dt class="col-sm-4">Created At</dt>
            <dd class="col-sm-8">{{ $transaction->created_at->format('d M Y, h:i A') }}</dd>

            @if($transaction->auth_ref_num)
              <dt class="col-sm-4">Auth Reference No</dt>
              <dd class="col-sm-8">{{ $transaction->auth_ref_num }}</dd>
            @endif
          </dl>
        </div>
      </div>

      <div class="card mb-4">
        <div class="card-header">
          <h5 class="mb-0">Billing Information</h5>
        </div>
        <div class="card-body">
          <dl class="row mb-0">
            <dt class="col-sm-4">Name</dt>
            <dd class="col-sm-8">{{ $transaction->billing_name ?? '-' }}</dd>

            <dt class="col-sm-4">Email</dt>
            <dd class="col-sm-8">{{ $transaction->billing_email ?? '-' }}</dd>

            <dt class="col-sm-4">Phone</dt>
            <dd class="col-sm-8">{{ $transaction->billing_tel ?? '-' }}</dd>

            <dt class="col-sm-4">Address</dt>
            <dd class="col-sm-8">{{ $transaction->billing_address ?? '-' }}</dd>

            <dt class="col-sm-4">City</dt>
            <dd class="col-sm-8">{{ $transaction->billing_city ?? '-' }}</dd>

            <dt class="col-sm-4">State</dt>
            <dd class="col-sm-8">{{ $transaction->billing_state ?? '-' }}</dd>

            <dt class="col-sm-4">Zip Code</dt>
            <dd class="col-sm-8">{{ $transaction->billing_zip ?? '-' }}</dd>

            <dt class="col-sm-4">Country</dt>
            <dd class="col-sm-8">{{ $transaction->billing_country ?? '-' }}</dd>

            @if($transaction->billing_notes)
              <dt class="col-sm-4">Notes</dt>
              <dd class="col-sm-8">{{ $transaction->billing_notes }}</dd>
            @endif
          </dl>
        </div>
      </div>

      @if($transaction->delivery_name)
        <div class="card mb-4">
          <div class="card-header">
            <h5 class="mb-0">Delivery Information</h5>
          </div>
          <div class="card-body">
            <dl class="row mb-0">
              <dt class="col-sm-4">Name</dt>
              <dd class="col-sm-8">{{ $transaction->delivery_name ?? '-' }}</dd>

              <dt class="col-sm-4">Phone</dt>
              <dd class="col-sm-8">{{ $transaction->delivery_tel ?? '-' }}</dd>

              <dt class="col-sm-4">Address</dt>
              <dd class="col-sm-8">{{ $transaction->delivery_address ?? '-' }}</dd>

              <dt class="col-sm-4">City</dt>
              <dd class="col-sm-8">{{ $transaction->delivery_city ?? '-' }}</dd>

              <dt class="col-sm-4">State</dt>
              <dd class="col-sm-8">{{ $transaction->delivery_state ?? '-' }}</dd>

              <dt class="col-sm-4">Zip Code</dt>
              <dd class="col-sm-8">{{ $transaction->delivery_zip ?? '-' }}</dd>

              <dt class="col-sm-4">Country</dt>
              <dd class="col-sm-8">{{ $transaction->delivery_country ?? '-' }}</dd>
            </dl>
          </div>
        </div>
      @endif
    </div>

    <div class="col-md-4">
      <div class="card mb-4">
        <div class="card-header">
          <h5 class="mb-0">Additional Information</h5>
        </div>
        <div class="card-body">
          <dl class="mb-0">
            @if($transaction->offer_code)
              <dt>Offer Code</dt>
              <dd>{{ $transaction->offer_code }}</dd>
            @endif

            @if($transaction->offer_type)
              <dt>Offer Type</dt>
              <dd>{{ $transaction->offer_type }}</dd>
            @endif

            @if($transaction->vault)
              <dt>Vault</dt>
              <dd>{{ $transaction->vault }}</dd>
            @endif

            @if($transaction->retry)
              <dt>Retry</dt>
              <dd>{{ $transaction->retry }}</dd>
            @endif

            @if($transaction->bin_country)
              <dt>BIN Country</dt>
              <dd>{{ $transaction->bin_country }}</dd>
            @endif

            @if($transaction->eci_value)
              <dt>ECI Value</dt>
              <dd>{{ $transaction->eci_value }}</dd>
            @endif

            @if($transaction->response_code)
              <dt>Response Code</dt>
              <dd>{{ $transaction->response_code }}</dd>
            @endif

            @if($transaction->status_code)
              <dt>Status Code</dt>
              <dd>{{ $transaction->status_code }}</dd>
            @endif

            @if($transaction->merchant_param1 || $transaction->merchant_param2 || $transaction->merchant_param3 || $transaction->merchant_param4 || $transaction->merchant_param5)
              <hr>
              <h6>Merchant Parameters</h6>
              @if($transaction->merchant_param1)
                <dt>Param 1</dt>
                <dd>{{ $transaction->merchant_param1 }}</dd>
              @endif
              @if($transaction->merchant_param2)
                <dt>Param 2</dt>
                <dd>{{ $transaction->merchant_param2 }}</dd>
              @endif
              @if($transaction->merchant_param3)
                <dt>Param 3</dt>
                <dd>{{ $transaction->merchant_param3 }}</dd>
              @endif
              @if($transaction->merchant_param4)
                <dt>Param 4</dt>
                <dd>{{ $transaction->merchant_param4 }}</dd>
              @endif
              @if($transaction->merchant_param5)
                <dt>Param 5</dt>
                <dd>{{ $transaction->merchant_param5 }}</dd>
              @endif
            @endif
          </dl>
        </div>
      </div>
        
      @if(isset($denNotifications) && $denNotifications->count() > 0)
        <div class="card mb-4">
          <div class="card-header">
            <h5 class="mb-0">DEN Notifications ({{ $denNotifications->count() }})</h5>
          </div>
          <div class="card-body p-0">
            <div class="table-responsive">
              <table class="table table-sm table-striped mb-0">
                <thead>
                  <tr>
                    <th>Date</th>
                    <th>Status</th>
                    <th>Processing Status</th>
                    <th>Amount</th>
                  </tr>
                </thead>
                <tbody>
                  @foreach($denNotifications as $den)
                    <tr>
                      <td>{{ $den->created_at->format('d M Y H:i:s') }}</td>
                      <td><span class="badge bg-info">{{ $den->order_status }}</span></td>
                      <td>
                        <span class="badge bg-{{ $den->processing_status === 'processed' ? 'success' : ($den->processing_status === 'duplicate' ? 'secondary' : 'danger') }}">
                          {{ $den->processing_status }}
                        </span>
                      </td>
                      <td>₹{{ number_format($den->amount, 2) }}</td>
                    </tr>
                  @endforeach
                </tbody>
              </table>
            </div>
          </div>
        </div>
      @endif

      @if($transaction->raw_response)
        <div class="card">
          <div class="card-header">
            <h5 class="mb-0">Raw Response</h5>
          </div>
          <div class="card-body">
            <pre class="mb-0"
              style="max-height: 400px; overflow-y: auto; font-size: 0.85rem;">{{ json_encode($transaction->raw_response, JSON_PRETTY_PRINT) }}</pre>
          </div>
        </div>
      @endif
    </div>
  </div>
@endsection
