@extends('layouts.finance') @section('title', 'Zakat Estimate') @section('subtitle', '2.5% annual obligation on net zakatable wealth') @section('content') @php $displayCurrency = 'PKR'; $fmt = fn($usd) => $metrics->moneyIn($usd, 'USD', $displayCurrency); $zakatableTotal = array_sum(array_values($zakatableComponents)); $deductibleTotal = array_sum(array_values($deductibles)); $netZakatable = $netZakatable ?? max(0.0, $zakatableTotal - $deductibleTotal); $componentLabels = array_keys($zakatableComponents); $componentValues = array_values($zakatableComponents); $palette = ['#6366f1','#10b981','#f59e0b','#06b6d4','#ec4899','#8b5cf6','#0d9488','#f97316']; $entries = $entries ?? collect(); $categories = $categories ?? []; $dateFilter = $dateFilter ?? ['active' => false, 'from' => null, 'to' => null, 'label' => null]; $dashboardRouteParams = ($dateFilter['active'] ?? false) ? ['from' => $dateFilter['from'], 'to' => $dateFilter['to']] : []; @endphp {{-- Back link --}}
Back to Dashboard
@include('dashboard.cards._date-filter', ['dateFilter' => $dateFilter, 'filterRoute' => 'dashboard.cards.zakat']) {{-- Nisab status banner --}} @if($isAboveNisab)
Above Nisab Threshold
Your net worth exceeds the nisab (~${{ number_format($nisabUsd, 0) }} USD). Zakat is obligatory if wealth has been held for one lunar year (Hawl).
@else
Below Nisab Threshold
Net worth is below the nisab (~${{ number_format($nisabUsd, 0) }} USD). Zakat may not be obligatory at this time.
@endif {{-- Hero KPIs --}}
Zakat Due
{{ $fmt($zakatDue) }}
2.5% annual estimate
Net Worth
{{ $fmt($netWorth) }}
Assets minus liabilities
Zakatable Assets
{{ $fmt($zakatableTotal) }}
Total eligible wealth
Deductible Debts
{{ $fmt($deductibleTotal) }}
Liabilities deducted
{{-- Charts + calculation --}}

Zakatable Asset Breakdown

USD eq.
@if($zakatableTotal > 0)
@else
No zakatable assets.
@endif
{{-- Zakat calculation card --}}

Zakat Calculation

Step by step
Total zakatable assets {{ $fmt($zakatableTotal) }}
@foreach($zakatableComponents as $label => $val)
+ {{ $label }} {{ $fmt($val) }}
@endforeach
@foreach($deductibles as $label => $val)
− {{ $label }} (deductible) -{{ $fmt($val) }}
@endforeach
Net zakatable wealth {{ $fmt($netZakatable) }}
Nisab threshold (approx.) {{ $metrics->money($nisabUsd) }}
Zakat due (2.5% x net) {{ $fmt($zakatDue) }}
{{-- Zakat Calculator: add gold, silver, cash, etc. --}}

Zakat Calculator

Custom entries — saved permanently
@csrf
@if($entries->isEmpty())
No custom entries yet. Add gold, silver, cash, investments or deductions above.
@else @foreach($entries as $entry) @php $entryUsd = $metrics->usd((float) $entry->amount, $entry->currency); $isDeduction = ! $entry->isAsset(); @endphp @endforeach
Label Category Grams Price/unit Amount Cur. USD eq. PKR eq. Actions
{{ $entry->label }} {{ $categories[$entry->category] ?? $entry->category }} {{ $entry->grams !== null ? number_format((float) $entry->grams, 3) : '—' }} {{ $entry->price_per_unit !== null ? number_format((float) $entry->price_per_unit, 2) : '—' }} {{ number_format((float) $entry->amount, 2) }} {{ $entry->currency }} {{ $isDeduction ? '-' : '' }}{{ $metrics->money($entryUsd) }} {{ $isDeduction ? '-' : '' }}{{ $fmt($entryUsd) }}
@csrf @method('DELETE')
@endif
{{-- Component table --}}

Zakatable Wealth Components

@foreach($zakatableComponents as $label => $usdVal) @endforeach @foreach($deductibles as $label => $usdVal) @endforeach
Component Type USD Value PKR Equivalent % of Zakatable
{{ $label }} Asset {{ $metrics->money($usdVal) }} {{ $fmt($usdVal) }} {{ $zakatableTotal > 0 ? number_format(($usdVal / $zakatableTotal) * 100, 1) : '0.0' }}%
{{ $label }} Deduction -{{ $metrics->money($usdVal) }} -{{ $fmt($usdVal) }}
Net Zakatable Wealth {{ $metrics->money($netZakatable) }} {{ $fmt($netZakatable) }}
{{-- Disclaimer --}}

Important Notes

@push('scripts') @endpush @endsection