@extends('layouts.app') @section('content')
{{-- Header Halaman --}}

Daftar Proyek

Kelola semua proyek yang sedang berjalan, ditunda, atau telah selesai.

Tambah Proyek {{-- View Toggler --}}
{{-- Search & Filter Section --}}
@if(request('sort_by')) @endif
@if(request()->hasAny(['search', 'status'])) @endif
{{-- Notifikasi --}} @if(session('success')) @endif @if(session('error')) @endif {{-- =================================== --}} {{-- TAMPILAN GRID VIEW (KARTU) --}} {{-- =================================== --}}
@forelse ($proyeks as $proyek) @php $sisaAnggaran = $proyek->nilai_kontrak - ($proyek->total_pengeluaran ?? 0); @endphp
{{-- Header Kartu --}}

{{ $proyek->nama_proyek }}

{{ $proyek->status }}

PIC: {{ $proyek->pic }}

{{-- [DIUBAH] Body Kartu (Grid 2x2 Simetris) --}}

Anggaran

Rp. {{ number_format($proyek->nilai_kontrak, 0, ',', '.') }}

Pengeluaran

Rp. {{ number_format($proyek->total_pengeluaran ?? 0, 0, ',', '.') }}

Sisa Anggaran

Rp. {{ number_format($sisaAnggaran, 0, ',', '.') }}

Sisa Waktu

{{ $proyek->sisa_waktu }}

{{-- Footer Kartu (Aksi) --}}
@empty

Belum ada data proyek

Tidak ada proyek yang cocok dengan filter Anda.

@endforelse
{{-- =================================== --}} {{-- TAMPILAN LIST (TABEL) --}} {{-- =================================== --}}
{{-- [PENTING] Header Sorting (Fungsi Tetap Terjaga) --}} @forelse ($proyeks as $proyek) @php $sisaAnggaran = $proyek->nilai_kontrak - ($proyek->total_pengeluaran ?? 0); @endphp @empty @endforelse
@php $newOrder = ($sortBy == 'nama_proyek' && $order == 'asc') ? 'desc' : 'asc'; @endphp Nama Proyek @if ($sortBy == 'nama_proyek') {!! $order == 'asc' ? '↑' : '↓' !!} @else @endif @php $newOrder = ($sortBy == 'nilai_kontrak' && $order == 'asc') ? 'desc' : 'asc'; @endphp Anggaran @if ($sortBy == 'nilai_kontrak') {!! $order == 'asc' ? '↑' : '↓' !!} @else @endif @php $newOrder = ($sortBy == 'total_pengeluaran' && $order == 'asc') ? 'desc' : 'asc'; @endphp Total Pengeluaran @if ($sortBy == 'total_pengeluaran') {!! $order == 'asc' ? '↑' : '↓' !!} @else @endif @php $newOrder = ($sortBy == 'sisa_anggaran' && $order == 'asc') ? 'desc' : 'asc'; @endphp Sisa Anggaran @if ($sortBy == 'sisa_anggaran') {!! $order == 'asc' ? '↑' : '↓' !!} @else @endif @php $newOrder = ($sortBy == 'target_selesai' && $order == 'asc') ? 'desc' : 'asc'; @endphp Sisa Waktu @if ($sortBy == 'target_selesai') {!! $order == 'asc' ? '↑' : '↓' !!} @else @endif @php $newOrder = ($sortBy == 'pic' && $order == 'asc') ? 'desc' : 'asc'; @endphp PIC @if ($sortBy == 'pic') {!! $order == 'asc' ? '↑' : '↓' !!} @else @endif @php $newOrder = ($sortBy == 'status' && $order == 'asc') ? 'desc' : 'asc'; @endphp Status @if ($sortBy == 'status') {!! $order == 'asc' ? '↑' : '↓' !!} @else @endif Aksi
{{ $proyek->nama_proyek }} Rp. {{ number_format($proyek->nilai_kontrak, 0, ',', '.') }} Rp. {{ number_format($proyek->total_pengeluaran ?? 0, 0, ',', '.') }} Rp. {{ number_format($sisaAnggaran, 0, ',', '.') }} {{ $proyek->sisa_waktu }} {{ $proyek->pic }} ({{ $proyek->no_pic }}) {{ $proyek->status }} View @if($proyek->status !== 'Selesai')
@csrf
@else @endif Edit

Tidak ada data proyek yang ditemukan.

{{-- Pagination --}}
{{ $proyeks->links() }}
{{-- Penutup List View --}} {{-- Pagination untuk Grid View --}}
{{-- Penutup 'space-y-8' --}} {{-- ========================================================= --}} {{-- MODAL KONFIRMASI HAPUS (Tidak Berubah) --}} {{-- ========================================================= --}}
{{-- Penutup 'x-data' --}} @endsection