moataz-01/filament-notification-sound

Add sound notifications to Filament database notifications

Fund package maintenance!
moataz-01

Installs: 1 185

Dependents: 0

Suggesters: 0

Security: 0

Stars: 7

Watchers: 0

Forks: 3

Open Issues: 3

pkg:composer/moataz-01/filament-notification-sound

v1.0.0 2025-11-30 09:36 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Add sound notifications to your Filament database notifications. This package plays a sound when a new database notification is received in the Filament admin panel, with optional visual animation effects.

Features

  • 🔊 Sound Notifications - Play audio when new database notifications arrive
  • 🎨 Visual Animation - Optional pulse animation on notification badge
  • 🎛️ Volume Control - Adjustable volume levels (0.0 to 1.0)
  • 🎵 Custom Sounds - Use your own notification sound files
  • ⚙️ Easy Configuration - Fluent API for simple customization
  • 🔇 Enable/Disable - Toggle the plugin on/off as needed
  • 🌐 Browser Compatibility - Handles browser autoplay restrictions automatically
  • 🎯 Filament 4 Ready - Built for the latest Filament version

Requirements

  • PHP 8.2 or higher
  • Laravel 12.x
  • Filament 4.x

Installation

You can install the package via composer:

composer require moataz-01/filament-notification-sound

You can publish the config file with:

php artisan vendor:publish --tag="filament-notification-sound-config"

You can publish the sound files with:

php artisan vendor:publish --tag="filament-notification-sound-sounds"

Usage

Register the plugin in your Filament Panel Provider:

use Moataz01\FilamentNotificationSound\FilamentNotificationSoundPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugins([
            FilamentNotificationSoundPlugin::make(),
        ]);
}

Configuration

You can configure the plugin using the fluent methods:

use Moataz01\FilamentNotificationSound\FilamentNotificationSoundPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugins([
            FilamentNotificationSoundPlugin::make()
                ->soundPath('/sounds/custom-notification.mp3') // Custom sound path
                ->volume(0.5) // Volume (0.0 to 1.0)
                ->showAnimation(true) // Show animation on notification badge
                ->enabled(true), // Enable/disable the plugin
        ]);
}

Customization

Custom Sound

To use a custom sound, place your audio file in the public directory (e.g., public/sounds/my-sound.mp3) and configure the plugin to use it:

FilamentNotificationSoundPlugin::make()
    ->soundPath('/sounds/my-sound.mp3')

Publishing Assets

If you need to customize the assets, you can publish them:

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.