@extends('frontend.layout_2') @section('title', 'কিস্তি জমা দিন') @push('styles') @endpush @section('sub_layout') @php // Normalize collections $all = $installments->values(); // Buckets $paid = $all->where('status','paid')->values(); $submitted = $all->where('status','submitted')->values(); $upcoming = $all->filter(fn($i)=>$i->status!=='paid' && $i->status!=='submitted' && !optional($i->due_date)->isPast())->values(); $late = $all->filter(fn($i)=>$i->status!=='paid' && $i->status!=='submitted' && optional($i->due_date)->isPast())->values(); // Next due: exclude paid & submitted, and rows with null due_date $nextDue = optional( $all->filter(fn($i)=>$i->status!=='paid' && $i->status!=='submitted' && !is_null($i->due_date)) ->sortBy('due_date') ->first() ); // Total due = upcoming + late (submitted is “awaiting approval” so no sum) $totalDue = $upcoming->sum('amount') + $late->sum('amount'); // Initial tab from query (?tab=upcoming|submitted|late|paid|all) $initialTab = in_array(request('tab'), ['upcoming','submitted','late','paid','all']) ? request('tab') : 'all'; @endphp
{{-- Animated SVG background (blobs) --}}
{{-- flash --}} @if(session('success'))
{{ session('success') }}
@endif {{-- Top summary --}}
মোট বকেয়া
৳ {{ number_format($totalDue) }}
আগামী কিস্তি
{{ ($nextDue && $nextDue->due_date) ? $nextDue->due_date->format('d M Y') : '—' }}
মোট কিস্তি
{{ $all->count() }}
{{-- Filters / Tabs --}}
Transactions

আপনার কিস্তিসমূহ

@if($all->isEmpty())
অভিনন্দন! কোনো কিস্তি নেই
সম্ভবত আপনার কোনো Running লোন নেই, অথবা সব কিস্তি পরিশোধিত/সাবমিটেড।
@else
@foreach($all as $ins) @php $status = $ins->status; // upcoming | submitted | late | paid // if someone stored 'upcoming' but due_date is past, show late if ($status === 'upcoming' && optional($ins->due_date)->isPast()) { $status = 'late'; } $isPaid = $status === 'paid'; $isSubmitted = $status === 'submitted'; $isLate = $status === 'late'; $badgeCls = $isPaid ? 'badge-paid' : ($isSubmitted ? 'badge-submitted' : ($isLate ? 'badge-late' : 'badge-upcoming')); $badgeTxt = $isPaid ? 'Paid' : ($isSubmitted ? 'Submitted' : ($isLate ? 'Late' : 'Upcoming')); $chipBg = $isPaid ? 'var(--teal)' : ($isSubmitted ? '#f59e0b' : ($isLate ? 'var(--danger)' : 'var(--indigo)')); @endphp
Loan #{{ $ins->loan->id }} – কিস্তি ৳ {{ number_format($ins->amount) }}
{{ $badgeTxt }}
Due: {{ $ins->due_date ? $ins->due_date->format('d M Y') : '—' }} • Principal: ৳ {{ number_format($ins->principal_part) }} • Interest: ৳ {{ number_format($ins->interest_part) }}
@if($isSubmitted)
Submitted — Admin approval pending.
@endif @if($isPaid && $ins->paid_at)
Paid at: {{ $ins->paid_at->format('d M Y, h:i A') }}
@endif
@if(!$isPaid && !$isSubmitted) Pay @elseif($isSubmitted) Waiting @else Done @endif
@endforeach
@endif
@endsection @push('scripts') @endpush