label('Lanjutkan ke Pembayaran') ->icon(Heroicon::Banknotes) ->color('success') ->requiresConfirmation() ->modalHeading('Lanjutkan ke Pembayaran?') ->modalDescription('Apakah Anda yakin ingin melanjutkan kerja sama ini ke tahap pembayaran? Pastikan semua laporan telah diverifikasi.') ->action(function (Cooperation $record): void { $record->update(['status' => CooperationStatus::PAYMENT]); 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); }); } }