@extends('layouts.app') @section('title', 'Financial Reports - GrowCash') @section('content')

Financial Reports

Comprehensive analysis of your financial performance

@php $totalPemasukkan = $transaksis->where('jenis_pengeluaran_pemasukkan', 'pemasukkan')->sum('nominal'); $totalPengeluaran = $transaksis->where('jenis_pengeluaran_pemasukkan', 'pengeluaran')->sum('nominal'); $saving = $totalPemasukkan - $totalPengeluaran; $savingRate = $totalPemasukkan > 0 ? ($saving / $totalPemasukkan) * 100 : 0; @endphp
Total Income
Rp {{ number_format($totalPemasukkan, 0, ',', '.') }}
Total Expenses
Rp {{ number_format($totalPengeluaran, 0, ',', '.') }}
Saving
Rp {{ number_format($saving, 0, ',', '.') }}
Saving Rate
{{ number_format($savingRate, 1) }}%

Expenses by Category

@php $totalKategori = $byKategori->sum(); $categoryColors = ['#F43F5E', '#0EA5E9', '#10B981', '#F59E0B', '#8B5CF6']; // Rose, Sky, Emerald, Amber, Violet @endphp
@forelse($byKategori as $kategori => $total) @php $percentage = $totalKategori > 0 ? ($total / $totalKategori) * 100 : 0; $color = $categoryColors[$loop->index % count($categoryColors)]; @endphp
{{ $kategori ?: 'Uncategorized' }}
{{ number_format($percentage, 1) }}%
Rp {{ number_format($total, 0, ',', '.') }}
@empty
No expense data
@endforelse

Monthly Trend

@php $sortedBulan = $byBulan->sortKeys(); $last3Months = $sortedBulan->take(-3); $globalMax = $last3Months->reduce(function ($carry, $item) { return max($carry, $item['pemasukkan'], $item['pengeluaran']); }, 0); @endphp @if($last3Months->count() > 0)
@foreach($last3Months as $bulan => $data)
{{ \Carbon\Carbon::parse($bulan)->format('M') }}
@endforeach
Income
Expenses
@else
No monthly data
@endif
@endsection