| Server IP : 35.80.110.71 / Your IP : 216.73.216.221 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/splitstream/current/vendor/filament/notifications/src/ |
Upload File : |
<?php
namespace Filament\Notifications;
use Filament\Notifications\Livewire\DatabaseNotifications;
use Filament\Notifications\Livewire\Notifications;
use Filament\Notifications\Testing\TestsNotifications;
use Filament\Support\Assets\Js;
use Filament\Support\Facades\FilamentAsset;
use Livewire\Component;
use Livewire\Features\SupportTesting\Testable;
use Livewire\Livewire;
use Spatie\LaravelPackageTools\Package;
use Spatie\LaravelPackageTools\PackageServiceProvider;
use function Livewire\on;
use function Livewire\store;
class NotificationsServiceProvider extends PackageServiceProvider
{
public function configurePackage(Package $package): void
{
$package
->name('filament-notifications')
->hasTranslations()
->hasViews();
}
public function packageBooted(): void
{
FilamentAsset::register([
Js::make('notifications', __DIR__ . '/../dist/index.js'),
], 'filament/notifications');
Livewire::component('database-notifications', DatabaseNotifications::class);
Livewire::component('notifications', Notifications::class);
on('dehydrate', function (Component $component): void {
if (! Livewire::isLivewireRequest()) {
return;
}
if (store($component)->has('redirect')) {
return;
}
$notifications = session()->pull('filament.notifications') ?? [];
if (count($notifications) <= 0) {
return;
}
session()->put('filament.claimed_notifications', $notifications);
$component->dispatch('notificationsSent');
});
Testable::mixin(new TestsNotifications);
}
}