label('Balas') ->icon(Heroicon::OutlinedChatBubbleLeftRight) ->color('success') ->modalHeading(fn () => CheerfulNotification::getMessage('Balas Pesan Kontak ✨✉️', 'Balas Pesan Kontak')) ->modalDescription(fn () => CheerfulNotification::getMessage('Tuliskan jawaban terbaik Anda di sini ya! Hati-hati, setelah dikirim tidak bisa ditarik kembali. 👋😊', 'Silakan masukkan balasan Anda untuk pesan kontak ini.')) ->schema([ Textarea::make('reply_message') ->label('Pesan Balasan') ->placeholder(fn (Contact $record): string => "Halo {$record->name}, ...") ->required() ->rows(5) ->autocomplete(false) ->autofocus(), ]) ->action(function (Contact $record, array $data): void { Mail::to($record->email)->send(new ContactReplyMail($record, $data['reply_message'])); $record->update([ 'reply_message' => $data['reply_message'], 'replied_at' => now(), 'replied_by' => auth()->id(), ]); CheerfulNotification::success( CheerfulNotification::getMessage('Balasan Terkirim! 🚀✉️', 'Balasan Berhasil Dikirim'), CheerfulNotification::getMessage('Pesan balasan Anda sudah meluncur ke email pengirim. Semoga membantu mereka ya! 😊', 'Pesan balasan telah berhasil dikirim ke alamat email pengirim.') )->send(); }) ->visible(fn (Contact $record): bool => $record->replied_at === null); } }