ledgerrz/app/Notifications/NewActivityNotification.php
Daan Meijer 1be49133a0
Some checks failed
linter / quality (push) Failing after 1m5s
tests / ci (8.3) (push) Failing after 49s
tests / ci (8.4) (push) Failing after 1m7s
tests / ci (8.5) (push) Failing after 1m6s
users worden nu beter geresolved
2026-07-06 16:51:34 +02:00

44 lines
1.0 KiB
PHP

<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use NotificationChannels\WebPush\WebPushChannel;
use NotificationChannels\WebPush\WebPushMessage;
class NewActivityNotification extends Notification
{
use Queueable;
public array $activity;
public function __construct(array $activity)
{
$this->activity = $activity;
}
public function via(object $notifiable): array
{
return [WebPushChannel::class, 'database'];
}
public function toWebPush(object $notifiable): WebPushMessage
{
return (new WebPushMessage)
->title('New Activity')
->icon('/apple-touch-icon.png')
->body($this->activity['content'])
->action('View', 'view')
->data(['url' => $this->activity['url']]);
}
public function toArray(object $notifiable): array
{
return [
'content' => $this->activity['content'],
'url' => $this->activity['url'],
];
}
}