label('Bagikan') ->icon('heroicon-o-share') ->color(Color::Teal) ->link() ->requiresConfirmation() ->modalIcon('heroicon-o-share') ->modalHeading('Bagikan Info Presensi') ->modalDescription('Pilih metode untuk membagikan tautan publik status presensi sesi ini.') ->modalSubmitActionLabel('Ke WhatsApp') ->modalCancelAction(false) ->extraModalFooterActions([ CopyAttendanceLinkAction::make(), ]) ->action(function (array $arguments, $livewire) { $course = $livewire->course; $session = ClassSession::find($arguments['session'] ?? null); $date = $session ? $session->date->toDateString() : null; $url = route('share.attendance', ['course' => $course->id, 'date' => $date]); $text = "*Info Kelas {$course->name}*\nSesi ke-".($session->session_number ?? '-').' ('.($session->date->translatedFormat('d M Y') ?? '').")\n\nSilakan cek detail/rekap kehadiran melalui tautan ini:\n\n{$url}"; $escapedText = json_encode($text); $livewire->js( <<