khauto/sessionflashtoster

Laravel package for automatic toast notifications from session flash data

Installs: 1

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/khauto/sessionflashtoster

v1.0.2 2025-10-12 18:18 UTC

This package is auto-updated.

Last update: 2025-10-12 18:19:20 UTC


README

Latest Version on Packagist Total Downloads License

A lightweight Laravel package that automatically displays beautiful Toastr.js notifications for your Laravel session flash messages β€” no extra setup required.

🧩 Features

βœ… Automatically detects session messages (success, error, warning, info)
βœ… Works out-of-the-box β€” just install it
βœ… Uses Toastr.js for modern toast notifications
βœ… Fully customizable (position, timeout, progress bar, etc.)
βœ… Publishable config and Blade view files
βœ… Compatible with Laravel 10 & 11

πŸ“¦ Installation

Install via Composer:

composer require khauto/sessionflashtoster

Laravel will auto-discover the service provider.

βš™οΈ Configuration (optional)

If you want to customize the Toastr settings, publish the config file:

php artisan vendor:publish --tag=sessionflashtoster-config

This will create:

config/sessionflashtoster.php

Example config:

return [
    'position'    => 'toast-top-right',
    'timeout'     => 4000,
    'progressBar' => true,
];

🧱 Usage

Once installed, the package automatically shares your session flash messages with all Blade views.

Simply include the toaster script in your main layout (e.g. resources/views/layouts/app.blade.php):

<!DOCTYPE html>
<html lang="en">
<head>
    <title>My Laravel App</title>
</head>
<body>
    @yield('content')

    {{-- Include the toaster script --}}
    @include('toaster::scripts')
</body>
</html>

πŸ”₯ Trigger Notifications

Flash session messages from your controllers, routes, or Livewire components:

// In a controller
return redirect()->back()->with('success', 'Profile updated successfully!');

Supported Session Keys

Type Example Code
βœ… Success session()->flash('success', 'Action successful!');
❌ Error session()->flash('error', 'Something went wrong.');
⚠️ Warning session()->flash('warning', 'Be careful!');
ℹ️ Info session()->flash('info', 'Heads up!');

The corresponding Toastr notification will automatically appear on the next page load.

πŸ§ͺ Quick Demo (optional)

Add these routes in routes/web.php to test notifications:

Route::get('/test-toaster', function () {
    return view('test-toaster');
});

Route::get('/notify/{type}', function ($type) {
    return redirect('/test-toaster')->with($type, ucfirst($type) . ' notification triggered!');
});

Then create the test view:

<h1>Session Flash Toaster Test</h1>

<a href="{{ url('/notify/success') }}">Success</a> |
<a href="{{ url('/notify/error') }}">Error</a> |
<a href="{{ url('/notify/info') }}">Info</a> |
<a href="{{ url('/notify/warning') }}">Warning</a>

@include('sessionflashtoster::scripts')

🎨 Example Toasts

  • βœ… Success β†’ Green toast for success actions
  • ❌ Error β†’ Red toast for errors
  • ⚠️ Warning β†’ Orange toast for caution
  • ℹ️ Info β†’ Blue toast for information

All triggered automatically by Laravel’s session flash messages.

⚑ Advanced Customization

Publish the Blade view if you want to customize Toastr assets or message rendering:

php artisan vendor:publish --tag=sessionflashtoster-views

This will create:

resources/views/vendor/sessionflashtoster/scripts.blade.php

You can modify it freely.

🧰 Requirements

  • PHP β‰₯ 8.1
  • Laravel 10 or 11

πŸͺͺ License

This package is open-sourced under the MIT license.

πŸ‘¨β€πŸ’» Developer

Developed with ❀️ by Md Khairul Hasib
πŸ“§ Email: [mdkhasib22@gmail.com]
🌐 GitHub: https://github.com/mdkhasib

⭐ Support

If you like this package, please give it a ⭐ on GitHub!
Your support motivates continued development. πŸ™