This package adds a global loading spinner to your Laravel Livewire project. The loading spinner shows when any Livewire action is being executed. This keeps users engaged as they won't become frustrated by page hanging due to network latency. It also keeps your code much cleaner, as you won't be having to add loading spinners all over the place.
- Bootstrap 5 must be installed via webpack first
Require the package:
composer require bastinald/laravel-livewire-loaderAdd the livewire:loader component to your app layout view:
<livewire:loader/>
<livewire:scripts/>
<script src="{{ asset('js/app.js') }}"></script>Require ../../vendor/bastinald/laravel-livewire-loader/resources/js/loader in your app javascript file:
require('@popperjs/core');
require('bootstrap');
require('../../vendor/bastinald/laravel-livewire-loader/resources/js/loader');Customize the loader configuration by publishing the config file:
php artisan vendor:publish --tag=laravel-livewire-loader:configNow you can easily change things like the show delay and animation speed.
Use your own loader view by publishing the view file:
php artisan vendor:publish --tag=laravel-livewire-loader:viewsNow edit the view file inside resources/views/vendor/laravel-livewire-loader. The package will use this view to render the component.