label('Salin Tautan') ->color('gray') ->icon('heroicon-o-clipboard-document') ->action(function (array $arguments, $livewire) { $assignment = Assignment::find($arguments['record'] ?? null); $course = $assignment ? $assignment->course : null; if (! $course || ! $assignment) { return; } $url = URL::temporarySignedRoute('share.assignment', now()->addHour(), [ 'course' => $course->id, 'assignment_id' => $assignment->id, ]); $escapedUrl = json_encode($url); $livewire->js("if (navigator.clipboard) { navigator.clipboard.writeText({$escapedUrl}).catch(() => {}); }"); SystemNotification::send('link_copied') ->send(); }); } }