{{-- Header --}}

Payroll Developer

Kelola dan proses pembayaran jam kerja developer.

Periode Aktif {{ $activePeriodLabel }} @if($latestAvailablePeriodLabel && $latestAvailablePeriodLabel !== $activePeriodLabel) Periode data terbaru: {{ $latestAvailablePeriodLabel }} @endif
{{-- Flash Messages --}} @if (session()->has('success'))
{{ session('success') }}
@endif @if (session()->has('error'))
{{ session('error') }}
@endif {{-- Stats Cards --}}

Total Jam

{{ number_format($stats['totalHours'], 1) }}

Total

Rp {{ number_format($stats['totalAmount'], 0, ',', '.') }}

Pending

Rp {{ number_format($stats['pending'], 0, ',', '.') }}

Approved

Rp {{ number_format($stats['approved'], 0, ',', '.') }}

Dibayar

Rp {{ number_format($stats['paid'], 0, ',', '.') }}

{{-- Developer Summary --}} @if($viewMode === 'table' && $devSummary->count() > 0)

Ringkasan per Developer

@foreach($devSummary as $summary)
{{ strtoupper(substr($summary->developerName ?? 'X', 0, 1)) }}

{{ $summary->developerName ?? 'Unknown' }}

{{ number_format($summary->total_hours, 1) }} jam

Rp {{ number_format($summary->total_amount, 0, ',', '.') }}
@endforeach
@endif @if($viewMode === 'cards')
@forelse($developerCards as $card)
{{ strtoupper(substr($card['developerName'], 0, 1)) }}

{{ $card['developerName'] }}

{{ number_format($card['totalHours'], 1) }} jam • Rp {{ number_format($card['totalAmount'], 0, ',', '.') }}

@if($card['pendingCount'] > 0) PENDING {{ $card['pendingCount'] }} @endif @if($card['approvedCount'] > 0) APPROVED {{ $card['approvedCount'] }} @endif @if($card['paidCount'] > 0) PAID {{ $card['paidCount'] }} @endif @if($card['rejectedCount'] > 0) REJECTED {{ $card['rejectedCount'] }} @endif @if($card['pendingCount'] > 0) @endif Detail
@foreach($card['logs'] as $log)
{{ $log->date->translatedFormat('d M Y') }} {{ number_format($log->hoursWorked, 1) }} jam Rp {{ number_format($log->totalAmount, 0, ',', '.') }}

{{ $log->description }}

{{ $log->statusLabel }} @if($log->status === 'PENDING') @endif
@endforeach
@empty

Belum ada log kerja untuk {{ $activePeriodLabel }}.

Coba pindah ke periode data terbaru atau bulan lain yang sudah ada isinya.

@endforelse
@endif {{-- Filters --}}
Menampilkan: {{ $logs->total() }} log work
{{-- Bulk Actions --}} @if($viewMode === 'table' && count($selectedLogs) > 0)
{{ count($selectedLogs) }} log terpilih
@endif {{-- Table --}} @if($viewMode === 'table')
@forelse ($logs as $log) @empty @endforelse
Developer Tanggal Durasi Deskripsi Bayaran Status Aksi
{{ strtoupper(substr($log->developerName ?? 'X', 0, 1)) }}
{{ $log->developerName ?? 'Unknown' }}
{{ $log->date->translatedFormat('d M Y') }} {{ $log->date->translatedFormat('l') }} {{ number_format($log->hoursWorked, 1) }} jam {{ $log->description }} Rp {{ number_format($log->totalAmount, 0, ',', '.') }} {{ $log->statusLabel }} @if($log->status === 'PENDING')
@else @if($log->approver) by {{ Str::limit($log->approver->name, 10) }} @else - @endif @endif

Belum ada log kerja untuk {{ $activePeriodLabel }}.

Coba pindah ke periode data terbaru atau bulan lain yang sudah ada isinya.

@if($logs->hasPages())
{{ $logs->links() }}
@endif
@endif