// index jadwal.blade.php @extends('layout.app') @section('content')
@if(session('success')) @endif
Agenda PPS Merpati Putih

Cabang Jember - Kelola jadwal rutin dan pengumuman latihan.

Buat Jadwal
@forelse ($data_jadwal as $no => $item) @php // Set timezone ke Jakarta agar sinkron dengan waktu Indonesia $now = \Carbon\Carbon::now('Asia/Jakarta'); $start = \Carbon\Carbon::parse($item->tanggal . ' ' . $item->jam_mulai, 'Asia/Jakarta'); $end = $item->jam_selesai ? \Carbon\Carbon::parse($item->tanggal . ' ' . $item->jam_selesai, 'Asia/Jakarta') : $start->copy()->addHours(2); $dbStatus = trim(strtolower($item->status)); // Logika Penentuan Label Status if ($dbStatus == 'selesai') { $status_label = 'Selesai'; $status_color = 'success'; } elseif ($now->greaterThanOrEqualTo($start) && $now->lessThanOrEqualTo($end)) { $status_label = 'Berlangsung'; $status_color = 'primary'; } elseif ($now->lt($start)) { $status_label = 'Mendatang'; $status_color = 'secondary'; } else { $status_label = 'Menunggu Konfirmasi'; $status_color = 'warning'; } @endphp {{-- MODAL DETAIL JADWAL --}} @empty @endforelse
No Kegiatan & Pelatih Status Waktu & Lokasi Tipe Aksi
{{ $no + 1 }}
{{ $item->judul_kegiatan }} @if($dbStatus == 'selesai') @endif
{{ $item->pelatih->nama_lengkap ?? 'Belum Ditentukan' }}
{{ $status_label }}
{{ \Carbon\Carbon::parse($item->tanggal)->format('d M Y') }}
{{ substr($item->jam_mulai, 0, 5) }} - {{ $item->jam_selesai ? substr($item->jam_selesai, 0, 5) : 'Selesai' }}
{{ $item->lokasi }}
@php $bg_type = 'bg-secondary-soft text-secondary'; if($item->jenis == 'Rutin') $bg_type = 'bg-success-soft text-success border-success'; elseif($item->jenis == 'Tambahan') $bg_type = 'bg-info-soft text-info border-info'; elseif($item->jenis == 'Pengumuman') $bg_type = 'bg-danger-soft text-danger border-danger'; @endphp {{ $item->jenis }}
{{-- TOMBOL KONFIRMASI: Muncul jika sudah masuk jamnya, bukan pengumuman, dan belum selesai --}} @if($dbStatus != 'selesai' && $item->jenis != 'Pengumuman' && $now->greaterThanOrEqualTo($start))
@csrf
@endif
Belum ada jadwal latihan atau pengumuman.
@endsection {{-- edit --}} @extends('layout.app') @section('content')
@csrf @method('PUT')
Informasi Agenda
@csrf @method('DELETE')
@endsection {{-- create --}} @extends('layout.app') @section('content')
@csrf
@error('judul_kegiatan')
{{ $message }}
@enderror
@error('kolat_id')
{{ $message }}
@enderror
@error('pelatih_id')
{{ $message }}
@enderror
@error('jenis')
{{ $message }}
@enderror
@error('tanggal')
{{ $message }}
@enderror
@error('jam_mulai')
{{ $message }}
@enderror
@error('jam_selesai')
{{ $message }}
@enderror
@error('lokasi')
{{ $message }}
@enderror
@error('deskripsi')
{{ $message }}
@enderror
Batal
Tips Pengisian
  • Pastikan memilih Pelatih yang sedang aktif.
  • Pilih jenis Pengumuman jika hanya ingin memberikan informasi tanpa perlu presensi.
  • Gunakan lokasi yang spesifik agar anggota tidak kesulitan mencari tempat.
@endsection