{{-- ===================================================== Etebarit - by Gisoo Web Solutions ------------------------------------------------------ Gisoo.net ------------------------------------------------------ Copyright (c) 2026 Gisoo Web Solutions ===================================================== This code is protected by copyright ===================================================== File: index.blade.php ------------------------------------------------------ Use: The system-wide shop-settlement list. Read-only here; the approve/reject decision is made on the shop's own detail page, reached by the "review" button. ===================================================== --}} @extends('layouts.admin') @section('title', __('admin.settlements.title')) @php use App\Support\Format; @endphp @section('breadcrumb') @endsection @section('page') @php $statusStyles = [ 'pending' => 'bg-[#fff5e6] text-amber-600', 'approved' => 'bg-[#eaf1ff] text-blue-600', 'settled' => 'bg-[#e7f7ee] text-green-600', 'rejected' => 'bg-[#f1f0f5] text-ink-muted', ]; @endphp

{{ __('admin.settlements.title') }}

{{ __('admin.settlements.subtitle') }}

{{ __('admin.settlements.info') }}
@foreach (__('admin.settlements.filters') as $key => $label) $status === $key, 'text-ink-muted hover:text-primary-600' => $status !== $key, ])>{{ $label }} @endforeach
@if ($status !== 'all')@endif
@if ($settlements->isEmpty())
{{ __('admin.settlements.empty') }}
@else
@foreach ($settlements as $settlement) @php $account = $settlement->bankAccount; $card = $settlement->card_number ?: ($account?->card_number ?? ''); $sheba = $settlement->sheba ?: ($account?->sheba ?? ''); $payload = [ 'code' => Format::persianDigits($settlement->code), 'amount' => Format::tomanFa($settlement->amount), 'requester' => $settlement->shop?->name ?? '', 'requesterUrl' => $settlement->shop ? route('admin.shops.show', $settlement->shop) : '', 'extras' => array_values(array_filter([ $settlement->shop?->user ? ['label' => __('admin.settlements.owner'), 'value' => $settlement->shop->user->fullName(), 'ltr' => false, 'url' => route('admin.users.show', $settlement->shop->user)] : null, ])), 'bank' => $account?->bankName() ?? '', 'cardRaw' => $card, 'shebaRaw' => 'IR'.$sheba, 'accounts' => ($settlement->shop?->user?->bankAccounts ?? collect()) ->sortByDesc(fn ($a) => (int) ($a->id === $settlement->bank_account_id)) ->map(fn ($a) => ['card' => $a->card_number, 'sheba' => $a->sheba, 'label' => $a->bankName().' — '.Format::persianDigits($a->maskedCard())]) ->values()->all(), 'filedAt' => Format::jalaliDateTimeFa($settlement->created_at), 'decidedAt' => $settlement->decided_at === null ? '' : Format::jalaliDateTimeFa($settlement->decided_at), 'settledAt' => $settlement->settled_at === null ? '' : Format::jalaliDateTimeFa($settlement->settled_at), 'decidedBy' => $settlement->decidedBy?->name ?? '', 'reference' => Format::persianDigits($settlement->reference ?? ''), 'rejectReason' => $settlement->reject_reason ?? '', 'status' => $settlement->status, 'statusLabel' => __("admin.settlements.statuses.{$settlement->status}"), 'isPending' => $settlement->isPending(), 'isApproved' => $settlement->isApproved(), 'manageable' => $canManage, 'approveUrl' => route('admin.settlements.approve', $settlement), 'settleUrl' => route('admin.settlements.settle', $settlement), 'rejectUrl' => route('admin.settlements.reject', $settlement), 'confirmApprove' => __('admin.settlements.confirm_approve', ['code' => Format::persianDigits($settlement->code)]), 'confirmSettle' => __('admin.settlements.confirm_settle', ['code' => Format::persianDigits($settlement->code)]), 'confirmReject' => __('admin.settlements.confirm_reject', ['code' => Format::persianDigits($settlement->code), 'amount' => Format::persianDigits(Format::tomanFa($settlement->amount))]), ]; @endphp @endforeach
{{ __('admin.settlements.columns.code') }} {{ __('admin.settlements.columns.shop') }} {{ __('admin.settlements.columns.amount') }} {{ __('admin.settlements.columns.destination') }} {{ __('admin.settlements.columns.status') }} {{ __('admin.settlements.columns.date') }} {{ __('admin.settlements.columns.action') }}
{{ $settlement->code }} @if ($settlement->shop) {{ $settlement->shop->name }} @else — @endif @toman($settlement->amount) {{ __('admin.toman') }} {{ $settlement->bankAccount?->maskedCard() ?? '—' }} status]])>{{ __('admin.settlements.statuses.'.$settlement->status) }} @jalaliDateTime($settlement->created_at) {{ __('admin.settlements.review') }}
{{ __('admin.settlements.summary', [ 'from' => Format::persianDigits((string) $settlements->firstItem()), 'to' => Format::persianDigits((string) $settlements->lastItem()), 'total' => Format::persianDigits((string) $settlements->total()), ]) }}
{{ $settlements->links() }}
@endif {{-- ===== Two-phase review modal (shared) ===== --}} @include('admin.partials.payout-modal', ['lang' => 'admin.settlements'])
@endsection