Laravel Web Installer is a Laravel package that allows you to install your application easily, without having to worry about setting up your environment before starting with the installation process.
composer require shipu/web-installer
then publish the assets
php artisan vendor:publish --tag=web-installer-assets
You can add new step in installer. For this you have to create a new class and implement Shipu\WebInstaller\Concerns\StepContract
class. Eg:
<?php
namespace Your\Namespace;
use Filament\Forms\Components\Wizard\Step;
use Shipu\WebInstaller\Concerns\StepContract;
class Overview implements StepContract
{
public static function make(): Step
{
return Step::make('overview')
->label('Overview')
->schema([
// Add Filament Fields Here
]);
}
}
For Step
documentation please visit Filament Forms
Then you have to add this class in config/installer.php
Eg:
//...
'steps' => [
Overview::class, // <-- Add Here
//...
],
//...
Note: you have to publish config file first. More details in Configuration section.
Protect other routes if not installed then you can apply the middleware to a route or route-group. Eg:
Route::group(['middleware' => 'redirect.if.not.installed'], function () {
Route::get('/', function () {
return view('welcome');
});
});
In Filament, if you want to protect all admin panel routes then you have to add middleware in panel service provider. Eg:
public function panel(Panel $panel): Panel
{
return $panel
...
->middleware([
\Shipu\WebInstaller\Middleware\RedirectIfNotInstalled::class,
...
]);
}
you can modify almost everything in this package. For this you have to publish the config file. Eg:
php artisan vendor:publish --tag=web-installer-config