PHP code example of edu17 / filament-pwa-plugin
1. Go to this page and download the library: Download edu17/filament-pwa-plugin library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
edu17 / filament-pwa-plugin example snippets
use Edu17\FilamentPwaPlugin\FilamentPwaPlugin;
use Filament\Panel;
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugin(FilamentPwaPlugin::make());
}
return [
'enabled' => true,
'manifest' => [
'name' => config('app.name', 'Filament'),
'short_name' => config('app.name', 'Filament'),
'description' => null,
'id' => null,
'start_url' => null,
'scope' => null,
'display' => 'standalone',
'orientation' => 'any',
'theme_color' => '#18181b',
'background_color' => '#ffffff',
],
'offline' => [
'cache_version' => '1',
'precache' => [],
'title' => 'You are offline',
'message' => 'Check your internet connection and try again.',
'retry_label' => 'Try again',
],
'settings' => [
'enabled' => false,
'navigation_panels' => [],
'manageable_panels' => [],
'ability' => null,
'disk' => 'public',
'directory' => 'filament-pwa-plugin',
],
];
FilamentPwaPlugin::make()
->name('Administration')
->shortName('Admin')
->description('Manage the application.')
->themeColor('#f59e0b')
->backgroundColor('#ffffff')
->display('standalone')
->orientation('any')
->startUrl('/admin')
->scope('/admin')
->manifestId('/admin');
FilamentPwaPlugin::make()
->name(fn (Panel $panel): string => "{$panel->getId()} app")
->enabled(fn (Panel $panel): bool => $panel->getId() !== 'internal');
// config/pwa-plugin.php
'settings' => [
'enabled' => true,
'navigation_panels' => ['superadmin'],
'manageable_panels' => ['admin'],
'ability' => null,
'disk' => 'public',
'directory' => 'filament-pwa-plugin',
],
// SuperadminPanelProvider.php
->plugin(
FilamentPwaPlugin::make()
->enabled(false),
)
// AdminPanelProvider.php
->plugin(
FilamentPwaPlugin::make()
->name('My application'),
)
// config/pwa-plugin.php
'settings' => [
'enabled' => true,
'navigation_panels' => ['admin'],
'manageable_panels' => ['admin'],
'ability' => null,
'disk' => 'public',
'directory' => 'filament-pwa-plugin',
],
'navigation_panels' => ['superadmin'],
'manageable_panels' => ['admin', 'staff', 'customer'],
'ability' => null,
'ability' => 'manage-pwa-settings',
use App\Models\User;
use Illuminate\Support\Facades\Gate;
Gate::define(
'manage-pwa-settings',
fn (User $user): bool => $user->is_super_admin,
);
FilamentPwaPlugin::make()
->settingsPage()
->managePanels(['admin'])
->authorizeSettingsUsing(
fn ($user, Panel $panel): bool => $user?->is_super_admin === true,
);
bash
php artisan filament-pwa-plugin:install
bash
php artisan migrate
bash
php artisan vendor:publish --tag="filament-pwa-plugin-config"
php artisan vendor:publish --tag="filament-pwa-plugin-migrations"
php artisan vendor:publish --tag="filament-pwa-plugin-assets"
php artisan migrate
php artisan filament:assets
bash
php artisan storage:link
bash
php artisan optimize:clear
bash
php artisan vendor:publish --tag="filament-pwa-plugin-migrations"
php artisan vendor:publish --tag="filament-pwa-plugin-assets" --force
php artisan migrate
php artisan filament:assets
php artisan optimize:clear