Notifications

Codacy Badge StyleCI License Total Downloads Latest Stable Version

Notifications functionality dependency for Laravel Enso

This package works exclusively within the Enso ecosystem.

The front end assets that utilize this api are present in the ui package.

For live examples and demos, you may visit laravel-enso.com

Watch the demo

click on the photo to view a short demo in compatible browsers

Installation

Comes pre-installed in Enso.

Features

  • uses Pusher and Laravel's notification infrastructure to bring minimal-setup notification functionality
  • users can also be notified via email
  • allows the lazy loading of notifications
  • read and unread notifications are visually differentiated and can be manually/automatically marked as read, as well as cleared
  • polymorphic relationships are used, in order to be able to attach notifications to any entity
  • supports and uses Desktop Notifications if allowed by the user

Usage

If not registered already, register on Pusher and then set your credentials in your .env file:

BROADCAST_DRIVER=pusher
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=

Once set, these credentials are set during the application init phase.

Desktop Notifications

On the first web application page load, the app will ask the user whether he wants to allow or block Desktop Notifications.

If enabled, Desktop Notifications are used for any and all notifications that are received when the application is open in a tab but the tab is not visible, the web browser is minimized, etc. If any notifications are received while the web application tab is active, Desktop Notifications will not be created - regular toaster notifications will be shown instead.

When clicking on a desktop notification, the browser will switch to the web application's tab.

Contributions

are welcome. Pull requests are great, but issues are good too.

License

This package is released under the MIT license.