Skip to content

Laravel 8+ Flash Notifications with icons, animations and timeout inspired in bpocallaghab/notify package

License

Notifications You must be signed in to change notification settings

DevKhris/notify

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notify (Laravel)

Notify alert boxes to the browser with sound and font awesome icons and give it a timeout to fly out. Works great to notify the user after a successfull action (CRUD). Flash the information from Laravel or create multiple from javascript.

Want to see the current package in action, have a look at the project.

Installation

First, pull in the package through Composer.

"require": {
    "bpocallaghan/notify": "3.*"
}

OR

composer require bpocallaghan/notify

Laravel <5.4 only (Laravel 5.5 has automatic package discovery)

Include the service provider within config\app.php.

'providers' => [
    Bpocallaghan\Notify\NotifyServiceProvider::class,
];

Add a facade alias or use the globel helper function notify().

'aliases' => [
    'Notify' => Bpocallaghan\Notify\Facades\Notify::class,
];

Usage

Within any view file (preferable your master layout).

@include('notify::notify')

Within any Controller.

public function index()
{
    // helper function - default to the 'info'
    notify('Title', 'Description');
    
    // return object first
    notify()->info('Title', 'Description');
    
    // via the facade
    Notify::info('Title', 'Description');
    
    return view('home');
}

The different 'levels' are:

  • notify()->info('Title', 'Description');
  • notify()->success('Title', 'Description');
  • notify()->warning('Title', 'Description');
  • notify()->error('Title', 'Description');

The different arguments:

  • notify()->info('Title', 'Description', false); // without the icon
  • notify()->info('Title', 'Description', 'smile-o'); // specify the icon class
  • notify()->message($level = 'info', $title, $content, $icon, $timeout = 5000) // arguments
  • notify()->message('info', 'Title', 'Description', 'smile-o'); // specify the type of level
  • notify()->message('info', 'Title', 'Description', 'smile-o', 10000); // specify the timeout

If you need to modify the view partial, you can run:

php artisan vendor:publish --provider="Bpocallaghan\Notify\NotifyServiceProvider" --tag=view

The view partial can be found here resources\views\vendor\notify\notify.blade.

You need to publish the assets.

php artisan vendor:publish --provider="Bpocallaghan\Notify\NotifyServiceProvider" --tag=public

Find the files here public\vendor\notify\. Move the mp3s to public\sounds\. If you use Laravel Elixir, move the css and js to your resource\assets and include them in your gulpfile.js, otherwise link to the individual files in your html header.

TODO

  • Maybe a config file (sound on/off, sound path, position, fade in/out, etc)

Note

Please keep in mind this is for my personal workflow and might not fit your need. I developed this to help speed up my day to day workflow. Please let me know about any issues or if you have any suggestions.

My other Packages

About

Laravel 8+ Flash Notifications with icons, animations and timeout inspired in bpocallaghab/notify package

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • PHP 41.5%
  • CSS 30.4%
  • JavaScript 22.1%
  • Blade 6.0%