@extends('layouts.user') @section('title', __('user_dashboard.dashboard')) @section('breadcrumb', __('user_dashboard.dashboard')) @section('page_title', __('user_dashboard.dashboard')) @section('content') @php $m = fn($v) => number_format((float)$v, 2); $currentMonthLabel = now()->format('F Y'); $statCards = [ [ 'title' => __('user_dashboard.total_balance'), 'value' => $m($totalBalance ?? 0), 'valueClass' => ($totalBalance ?? 0) >= 0 ? 'text-emerald-600' : 'text-rose-600', 'desc' => __('user_dashboard.total_balance_desc'), 'theme' => 'emerald', 'icon' => 'balance', ], [ 'title' => __('user_dashboard.total_expense'), 'value' => $m($totalExpense ?? 0), 'valueClass' => 'text-rose-600', 'desc' => __('user_dashboard.current_month_expense_desc'), 'theme' => 'rose', 'icon' => 'expense', 'tooltip' => __('user_dashboard.total_expense_tooltip'), 'monthBadge' => $currentMonthLabel, ], [ 'title' => __('user_dashboard.receivable'), 'value' => $m($totalReceivable ?? 0), 'valueClass' => 'text-amber-600', 'desc' => __('user_dashboard.receivable_desc'), 'theme' => 'amber', 'icon' => 'customer', ], [ 'title' => __('user_dashboard.payable'), 'value' => $m($totalLiabilities ?? 0), 'valueClass' => 'text-violet-700', 'desc' => __('user_dashboard.payable_desc'), 'theme' => 'violet', 'icon' => 'supplier', ], [ 'title' => __('user_dashboard.today_income'), 'value' => $m($todayIncome ?? 0), 'valueClass' => 'text-emerald-600', 'desc' => __('user_dashboard.today_income_desc'), 'theme' => 'sky', 'icon' => 'income', ], [ 'title' => __('user_dashboard.today_expense'), 'value' => $m($todayExpense ?? 0), 'valueClass' => 'text-rose-600', 'desc' => __('user_dashboard.today_expense_desc'), 'theme' => 'pink', 'icon' => 'today_expense', ], [ 'title' => __('user_dashboard.loan_finance_cost'), 'value' => $m($loanFinanceCost ?? 0), 'valueClass' => 'text-green-600', 'desc' => __('user_dashboard.current_month_loan_finance_cost_desc'), 'theme' => 'green', 'icon' => 'loan_finance', 'tooltip' => __('user_dashboard.loan_finance_cost_tooltip'), 'monthBadge' => $currentMonthLabel, ], ]; function cardTheme($theme) { return match ($theme) { 'emerald' => [ 'card' => 'border-emerald-200 bg-gradient-to-br from-emerald-50 via-white to-emerald-100/80', 'orb1' => 'bg-emerald-200/50', 'orb2' => 'bg-lime-200/40', 'wave' => 'from-emerald-200/40 via-emerald-100/30 to-transparent', 'line' => 'border-emerald-300/40', 'iconBg' => 'bg-emerald-500/10 text-emerald-600', ], 'rose' => [ 'card' => 'border-rose-200 bg-gradient-to-br from-rose-50 via-white to-pink-100/80', 'orb1' => 'bg-rose-200/50', 'orb2' => 'bg-pink-200/40', 'wave' => 'from-rose-200/40 via-pink-100/30 to-transparent', 'line' => 'border-rose-300/40', 'iconBg' => 'bg-rose-500/10 text-rose-600', ], 'amber' => [ 'card' => 'border-amber-200 bg-gradient-to-br from-amber-50 via-white to-orange-100/80', 'orb1' => 'bg-amber-200/50', 'orb2' => 'bg-orange-200/40', 'wave' => 'from-amber-200/40 via-orange-100/30 to-transparent', 'line' => 'border-amber-300/40', 'iconBg' => 'bg-amber-500/10 text-amber-600', ], 'violet' => [ 'card' => 'border-violet-200 bg-gradient-to-br from-violet-50 via-white to-purple-100/80', 'orb1' => 'bg-violet-200/50', 'orb2' => 'bg-purple-200/40', 'wave' => 'from-violet-200/40 via-purple-100/30 to-transparent', 'line' => 'border-violet-300/40', 'iconBg' => 'bg-violet-500/10 text-violet-700', ], 'sky' => [ 'card' => 'border-sky-200 bg-gradient-to-br from-sky-50 via-white to-cyan-100/80', 'orb1' => 'bg-sky-200/50', 'orb2' => 'bg-cyan-200/40', 'wave' => 'from-sky-200/40 via-cyan-100/30 to-transparent', 'line' => 'border-sky-300/40', 'iconBg' => 'bg-sky-500/10 text-sky-600', ], 'pink' => [ 'card' => 'border-pink-200 bg-gradient-to-br from-pink-50 via-white to-rose-100/80', 'orb1' => 'bg-pink-200/50', 'orb2' => 'bg-rose-200/40', 'wave' => 'from-pink-200/40 via-rose-100/30 to-transparent', 'line' => 'border-pink-300/40', 'iconBg' => 'bg-pink-500/10 text-pink-600', ], 'green' => [ 'card' => 'border-green-200 bg-gradient-to-br from-green-50 via-white to-emerald-100/80', 'orb1' => 'bg-green-200/50', 'orb2' => 'bg-emerald-200/40', 'wave' => 'from-green-200/40 via-emerald-100/30 to-transparent', 'line' => 'border-green-300/40', 'iconBg' => 'bg-green-500/10 text-green-600', ], default => [ 'card' => 'border-slate-200 bg-white', 'orb1' => 'bg-slate-200/50', 'orb2' => 'bg-slate-100/40', 'wave' => 'from-slate-200/40 via-slate-100/30 to-transparent', 'line' => 'border-slate-300/40', 'iconBg' => 'bg-slate-500/10 text-slate-600', ], }; } @endphp
{{ $card['title'] }}
@if(!empty($card['monthBadge'])) {{ $card['monthBadge'] }} @endif @if(!empty($card['tooltip'])){{ $card['desc'] }}
{{ $card['title'] }}
@if(!empty($card['monthBadge'])) {{ $card['monthBadge'] }} @endif @if(!empty($card['tooltip'])){{ $card['desc'] }}
| {{ __('user_dashboard.name') }} | {{ __('user_dashboard.type') }} | {{ __('user_dashboard.opening') }} | {{ __('user_dashboard.balance') }} |
|---|---|---|---|
| {{ $a->name }} | {{ strtoupper($a->type) }} | {{ $m($a->opening_balance) }} | {{ $m($a->balance) }} |
| {{ __('user_dashboard.no_accounts_found') }} | |||