Download the PHP package benriadh1/filament-notification-bell without Composer
On this page you can find all versions of the php package benriadh1/filament-notification-bell. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package filament-notification-bell
Filament Notification Bell
A real-time notification bell for Filament v5 powered by Laravel Reverb (or Pusher) and Livewire v4. Displays a live badge count and a toggleable panel (dropdown or slide-over) in the Filament topbar, with full RTL support, i18n, dark mode, and a polling fallback.
Features
- π Real-time bell icon in the Filament top bar
- β‘ Powered by Laravel Reverb WebSockets (or Pusher as fallback)
- π Full dark mode support β auto-follows Filament panel theme, or force light/dark
- π Ships with 6 translations: English, Arabic, French, Spanish, German, Chinese Simplified
- π€ RTL layout auto-detected for Arabic, Farsi, Urdu
- π₯ Dropdown and slide-over panel modes
- β Mark single or all notifications as read
- βΎοΈ Paginated "Load more" list
- π‘ Optional polling fallback
- π§ͺ Full Pest test suite included
- π¦ Publishable config, views, CSS, language files, and migrations
Requirements
| Requirement | Version |
|---|---|
| PHP | ^8.2 |
| Laravel | ^11.0 |
| Filament | ^5.0 |
| Livewire | ^4.0 |
Installation
1. Install via Composer
2. Publish and run the migration
3. Publish the CSS asset
4. Register the plugin in your Filament panel
In your Panel provider (e.g. app/Providers/Filament/AdminPanelProvider.php):
That's it! The bell will appear in the top bar automatically.
Sending Notifications
Use Laravel's built-in notification system. The plugin reads from the notifications table automatically.
Then send it:
Real-time broadcast (optional)
If you want the bell to update in real time without page reload, add the HasNotificationBell trait to your User model and call notifyBell() after sending a notification:
Configuration Reference
Publish the config:
| Key | Default | Description |
|---|---|---|
limit |
20 |
Max notifications per page in the bell panel |
reverb |
true |
true = Reverb, false = Pusher |
channel_type |
'private' |
'private' or 'presence' |
polling |
false |
Enable polling fallback when WebSocket is unavailable |
poll_interval |
30 |
Polling interval in seconds |
model |
null |
Custom notification model (null = Laravel default) |
date_format |
'diffForHumans' |
'diffForHumans' (relative) or 'datetime' (absolute) |
locale |
null |
Force locale (null = use app()->getLocale()) |
rtl_locales |
['ar','fa','he','ur'] |
Locales that trigger RTL layout |
force_rtl |
false |
Force RTL regardless of locale |
theme |
'auto' |
'auto' / 'light' / 'dark' |
Fluent Plugin API
All options can be set fluently when registering the plugin:
Customizing Views
Publish the views to override them in your application:
Views will be copied to resources/views/vendor/filament-notification-bell/.
Light & Dark Mode
By default (auto), the bell follows your Filament panel's dark mode setting β no extra configuration needed if your panel already uses ->darkMode().
Force light mode:
Force dark mode:
Auto (default) β respects Filament panel setting:
Multi-language / i18n
Bundled locales
| Locale | Language |
|---|---|
π¬π§ en |
English |
πΈπ¦ ar |
Arabic (RTL) |
π«π· fr |
French |
πͺπΈ es |
Spanish |
π©πͺ de |
German |
π¨π³ zh_CN |
Chinese Simplified |
Publish lang files
Override a translation key
After publishing, edit the file at lang/vendor/filament-notification-bell/en/notification-bell.php:
Add a new language
Create the file at:
For example, for French (fr):
Force a specific locale
RTL support
RTL layout is automatically enabled for ar, fa, he, and ur. The dir="rtl" attribute and text-alignment classes are applied automatically. To add another locale or force RTL:
Changelog
See CHANGELOG.md for recent changes.
Contributing
Contributions are welcome! Please open a pull request or issue on GitHub.
New translations are especially welcome β add a new language file and open a PR!
- Fork the repository
- Create your feature branch:
git checkout -b feat/my-feature - Commit your changes:
git commit -m "feat: add my feature" - Push:
git push origin feat/my-feature - Open a Pull Request
License
The MIT License (MIT). See LICENSE.md for more details.
All versions of filament-notification-bell with dependencies
filament/filament Version ^5.0
laravel/framework Version ^11.0|^12.0|^13.0
livewire/livewire Version ^4.0