order_gizi/resources/views/guest/checkout/checkout_payment.blade.php
2025-10-16 10:01:59 +07:00

199 lines
6.8 KiB
PHP

@extends('guest.layout.main')
@section('body_main_guests')
<section class="section py-5 bg-light">
<style>
.checkout-wrapper {
background: #ffffff;
border-radius: 28px;
}
.checkout-header {
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
#stepIndicators {
gap: 0.75rem;
}
#stepIndicators .step-indicator {
position: relative;
}
#stepIndicators .step-circle {
width: 44px;
height: 44px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
background: #e9f5ef;
color: #2c9e7b;
margin: 0 auto;
transition: all 0.2s ease;
}
#stepIndicators .step-indicator.active .step-circle,
#stepIndicators .step-indicator.completed .step-circle,
#stepIndicators .step-circle.completed {
background: linear-gradient(135deg, #2c9e7b, #22a3a3);
color: #fff;
box-shadow: 0 0.85rem 1.6rem rgba(34, 163, 163, 0.25);
}
#stepIndicators .step-indicator small {
font-weight: 600;
letter-spacing: 0.02em;
color: #6c7d7b;
}
#stepIndicators .step-indicator.active small,
#stepIndicators .step-indicator.completed small {
color: #2c7d66;
}
.progress {
height: 8px;
background-color: #eef2f1;
border-radius: 999px;
}
.progress-bar {
border-radius: 999px;
transition: width 0.25s ease;
}
.form-step {
border-radius: 18px;
border: 1px solid rgba(0, 0, 0, 0.04);
background: #ffffff;
}
.form-step .section-title {
font-size: 1.05rem;
font-weight: 700;
color: #2b6351;
}
.info-alert {
border-radius: 16px;
border-left: 4px solid #2c9e7b;
background: #f2fbf7;
}
.summary-card {
border-radius: 18px;
border: 1px solid rgba(0, 0, 0, 0.05);
}
.drop-zone {
border: 2px dashed rgba(44, 158, 123, 0.35);
border-radius: 16px;
transition: all 0.3s ease;
background: rgba(44, 158, 123, 0.05);
}
.drop-zone:hover {
border-color: rgba(44, 158, 123, 0.6);
background: rgba(44, 158, 123, 0.08);
}
@media (max-width: 991.98px) {
.checkout-wrapper {
border-radius: 22px;
padding: 2rem;
}
}
@media (max-width: 767.98px) {
.checkout-wrapper {
padding: 1.75rem;
}
#stepIndicators {
flex-direction: column;
align-items: stretch;
text-align: left;
}
#stepIndicators .step-indicator {
display: flex;
align-items: center;
gap: 0.85rem;
padding: 0.6rem 0.85rem;
border-radius: 999px;
background: #f8fbfa;
}
#stepIndicators .step-circle {
margin: 0;
}
#stepIndicators .step-indicator small {
margin-top: 0.25rem;
}
}
@media (max-width: 575.98px) {
.checkout-wrapper {
padding: 1.4rem;
}
}
</style>
<div class="container">
<div class="checkout-wrapper shadow-sm p-4 p-xl-5 mx-auto">
<div class="checkout-header mb-4 pb-3 d-flex flex-column flex-lg-row align-items-lg-center gap-3">
<div>
<h3 class="fw-bold mb-1">Checkout Pesanan</h3>
<p class="text-muted mb-0 small">Lengkapi data, konfirmasi pesanan, lalu selesaikan pembayaran.</p>
</div>
<div class="ms-lg-auto">
<a href="/" class="btn btn-outline-success rounded-pill px-3">
<i class="fa fa-arrow-left me-2"></i>Kembali ke Menu
</a>
</div>
</div>
<form id="checkoutFormFinal" method="POST" enctype="multipart/form-data" class="mt-3">
@csrf
<div class="d-flex justify-content-between flex-column flex-lg-row align-items-stretch mb-4 px-lg-2" id="stepIndicators">
<div class="step-indicator text-center flex-fill active" id="indicator-step-1">
<div class="step-circle active" id="step-circle-1">1</div>
<small class="d-block mt-2 text-uppercase">Data Pemesan</small>
</div>
<div class="step-indicator text-center flex-fill" id="indicator-step-2">
<div class="step-circle" id="step-circle-2">2</div>
<small class="d-block mt-2 text-uppercase">Konfirmasi</small>
</div>
<div class="step-indicator text-center flex-fill" id="indicator-step-3">
<div class="step-circle" id="step-circle-3">3</div>
<small class="d-block mt-2 text-uppercase">Pembayaran</small>
</div>
</div>
<div class="progress mb-4">
<div class="progress-bar bg-success" role="progressbar" id="stepProgressBar" style="width: 33%;">
Langkah 1 dari 3
</div>
</div>
@include('guest.checkout.step.step1')
@include('guest.checkout.step.step2')
@include('guest.checkout.step.step3')
</form>
</div>
</div>
</section>
@include('guest.checkout.modal.noteOrder')
@include('guest.checkout.modal.confirmPaymentBilling')
<script>
const karhohidrats = {!! json_encode($karbohidrat) !!};
</script>
<script src="{{ ver('/js/checkout/index.js') }}"></script>
<script src="{{ ver('/js/checkout/action.js') }}"></script>
@endsection