{{-- resources/views/employee/expenses/index.blade.php --}} @extends('layouts.employee') @section('content')
{{-- Header --}}

Expense Ledger

Manage and track your expense claims

{{-- In-card banner container --}} {{-- Table / Card list --}}
{{-- Table Header (desktop) --}} {{-- Table Body (rows) --}}
@forelse($expenses as $expense) @php $files = []; if (!empty($expense->proof_paths) && is_array($expense->proof_paths)) { $files = $expense->proof_paths; } elseif (!empty($expense->proof_path)) { $files = [['path' => $expense->proof_path, 'original_name' => $expense->proof_original_name]]; } @endphp
{{-- Desktop grid (md+) --}} {{-- Mobile stacked card (md-) --}}
{{ $expense->expense_date->format('M j, Y') }}
{{ $expense->created_at->diffForHumans() }}
₹{{ number_format($expense->amount, 2) }}
{{ $expense->purpose ?? '-' }}
{{ $expense->party_name ?? '-' }}
@if(count($files)) @foreach($files as $f) {{ \Illuminate\Support\Str::limit($f['original_name'] ?? basename($f['path'] ?? ''), 20) }} @endforeach @else No files @endif
@csrf @method('DELETE')
{{-- Mobile edit card (hidden by default) --}}
@empty

No expenses

Get started by creating a new expense.

@endforelse
{{-- Pagination --}} @if($expenses->hasPages())
{{ $expenses->links() }}
@endif
{{-- Inline styles to ensure consistent input heights (keeps things uniform across browsers) --}} {{-- Small banner styles (reuse pattern used on other pages) --}} @endsection