label('Lanjutkan ke Pembayaran') ->icon(Heroicon::OutlinedBanknotes) ->color('success') ->requiresConfirmation() ->modalHeading('Lanjut ke Pembayaran? πŸ’ΈπŸ’³') ->modalDescription('Siap buat lanjut ke tahap pembayaran? Pastikan semua laporan sudah diverifikasi dulu ya! βœ…πŸ˜Š') ->action(function (Cooperation $record): void { $record->update([ 'status' => CooperationStatus::PAYMENT, 'payment_date' => now()->toDateString(), ]); CheerfulNotification::success( 'Tahap Pembayaran Dimulai! πŸ’Έβœ¨', 'Kerja sama telah dipindahkan ke tahap pembayaran. Silakan proses pembayarannya ya! 😊' )->send(); }) ->visible(function (Cooperation $record): bool { $user = auth()->user(); if (! $user || $user->hasRole(RoleEnum::PERUSAHAAN->value) || $record->status !== CooperationStatus::VERIFICATION) { return false; } // Check if all reports are verified (either Accepted or Rejected, not Pending) $reports = $record->reports; if ($reports->isEmpty()) { return true; } return $reports->every(fn ($report) => $report->status !== ApprovalStatus::PENDING); }); } }