modified logic in admin panel provider
This commit is contained in:
@@ -24,6 +24,8 @@ use Illuminate\Routing\Middleware\SubstituteBindings;
|
|||||||
use Illuminate\Session\Middleware\StartSession;
|
use Illuminate\Session\Middleware\StartSession;
|
||||||
use Illuminate\View\Middleware\ShareErrorsFromSession;
|
use Illuminate\View\Middleware\ShareErrorsFromSession;
|
||||||
use Althinect\FilamentSpatieRolesPermissions\Middleware\SyncSpatiePermissionsWithFilamentTenants;
|
use Althinect\FilamentSpatieRolesPermissions\Middleware\SyncSpatiePermissionsWithFilamentTenants;
|
||||||
|
use App\Filament\Auth\CustomLogin as AuthCustomLogin;
|
||||||
|
use App\Filament\Pages\CustomLogin;
|
||||||
use Filament\View\PanelsRenderHook;
|
use Filament\View\PanelsRenderHook;
|
||||||
use Filament\Support\Facades\FilamentView;
|
use Filament\Support\Facades\FilamentView;
|
||||||
|
|
||||||
@@ -37,8 +39,8 @@ class AdminPanelProvider extends PanelProvider
|
|||||||
->id('admin')
|
->id('admin')
|
||||||
->path('admin')
|
->path('admin')
|
||||||
->login()
|
->login()
|
||||||
// ->maxContentWidth(MaxWidth::Small)
|
//->maxContentWidth(MaxWidth::Small)
|
||||||
//->simplePageMaxContentWidth(MaxWidth::Medium)
|
//->simplePageMaxContentWidth(MaxWidth::Medium)
|
||||||
|
|
||||||
// ->login(Login::class, function (Login $login) {
|
// ->login(Login::class, function (Login $login) {
|
||||||
// $login->formActions([
|
// $login->formActions([
|
||||||
@@ -48,9 +50,8 @@ class AdminPanelProvider extends PanelProvider
|
|||||||
// ->url(route('password.request')),
|
// ->url(route('password.request')),
|
||||||
// ]);
|
// ]);
|
||||||
// })
|
// })
|
||||||
// ->forgotPassword()
|
|
||||||
// ->favicon(asset('/assets/crilogo1.png'))
|
// ->favicon(asset('/assets/crilogo1.png'))
|
||||||
->favicon(asset('/assets/crilogo1.png'))
|
->favicon(asset('assets/crilogo1.png'))
|
||||||
->colors([
|
->colors([
|
||||||
'primary' => Color::Amber,
|
'primary' => Color::Amber,
|
||||||
])
|
])
|
||||||
@@ -97,93 +98,60 @@ class AdminPanelProvider extends PanelProvider
|
|||||||
->plugin(FilamentSpatieRolesPermissionsPlugin::make());
|
->plugin(FilamentSpatieRolesPermissionsPlugin::make());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function boot(): void
|
// public function boot(): void
|
||||||
{
|
// {
|
||||||
|
|
||||||
FilamentView::registerRenderHook(
|
|
||||||
'panels::head.end',
|
|
||||||
fn() => '
|
|
||||||
<link rel="manifest" href="' . asset('manifest.json') . '">
|
|
||||||
<meta name="theme-color" content="#007bff">
|
|
||||||
<script>
|
|
||||||
if ("serviceWorker" in navigator) {
|
|
||||||
navigator.serviceWorker.register("/sw.js")
|
|
||||||
.then(reg => console.log("Service Worker registered:", reg.scope))
|
|
||||||
.catch(err => console.error("Service Worker registration failed:", err));
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
'
|
|
||||||
);
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * ✅ 2. Add install popup for mobile/desktop
|
|
||||||
// */
|
|
||||||
// FilamentView::registerRenderHook(
|
// FilamentView::registerRenderHook(
|
||||||
// 'panels::body.end',
|
// 'panels::head.end',
|
||||||
// fn() => '
|
// fn() => '
|
||||||
|
// <link rel="manifest" href="' . asset('manifest.json') . '">
|
||||||
|
// <meta name="theme-color" content="#007bff">
|
||||||
// <script>
|
// <script>
|
||||||
// let deferredPrompt;
|
// if ("serviceWorker" in navigator) {
|
||||||
|
// navigator.serviceWorker.register("/sw.js")
|
||||||
// window.addEventListener("beforeinstallprompt", (e) => {
|
// .then(reg => console.log("Service Worker registered:", reg.scope))
|
||||||
// e.preventDefault();
|
// .catch(err => console.error("Service Worker registration failed:", err));
|
||||||
// deferredPrompt = e;
|
// }
|
||||||
|
|
||||||
// if (document.getElementById("install-banner")) return;
|
|
||||||
|
|
||||||
// const banner = document.createElement("div");
|
|
||||||
// banner.id = "install-banner";
|
|
||||||
// banner.innerHTML = `
|
|
||||||
// <div style="
|
|
||||||
// position: fixed;
|
|
||||||
// bottom: 20px;
|
|
||||||
// left: 20px;
|
|
||||||
// right: 20px;
|
|
||||||
// background: var(--fi-color-primary, #007bff);
|
|
||||||
// color: white;
|
|
||||||
// padding: 15px;
|
|
||||||
// border-radius: 10px;
|
|
||||||
// text-align: center;
|
|
||||||
// font-family: system-ui, sans-serif;
|
|
||||||
// box-shadow: 0 4px 10px rgba(0,0,0,0.3);
|
|
||||||
// z-index: 99999;
|
|
||||||
// ">
|
|
||||||
// <span style="font-size: 16px;">📱 Install <b>Quality Dashboard</b> App?</span><br>
|
|
||||||
// <button id="installBtn" style="
|
|
||||||
// margin-top: 10px;
|
|
||||||
// background: white;
|
|
||||||
// color: var(--fi-color-primary, #007bff);
|
|
||||||
// border: none;
|
|
||||||
// padding: 8px 16px;
|
|
||||||
// border-radius: 6px;
|
|
||||||
// font-weight: 600;
|
|
||||||
// cursor: pointer;
|
|
||||||
// ">Install</button>
|
|
||||||
// </div>
|
|
||||||
// `;
|
|
||||||
// document.body.appendChild(banner);
|
|
||||||
|
|
||||||
// document.getElementById("installBtn").addEventListener("click", async () => {
|
|
||||||
// banner.remove();
|
|
||||||
// deferredPrompt.prompt();
|
|
||||||
// const { outcome } = await deferredPrompt.userChoice;
|
|
||||||
// console.log("User install choice:", outcome);
|
|
||||||
// deferredPrompt = null;
|
|
||||||
// });
|
|
||||||
// });
|
|
||||||
|
|
||||||
// window.addEventListener("appinstalled", () => {
|
|
||||||
// console.log("🎉 PWA installed successfully!");
|
|
||||||
// const banner = document.getElementById("install-banner");
|
|
||||||
// if (banner) banner.remove();
|
|
||||||
// });
|
|
||||||
// </script>
|
// </script>
|
||||||
// '
|
// '
|
||||||
// );
|
// );
|
||||||
|
|
||||||
|
// FilamentView::registerRenderHook('panels::body.end', function () {
|
||||||
|
// return '<script src="' . asset('js/pwa-install.js') . '"></script>';
|
||||||
|
// });
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
public function boot(): void
|
||||||
|
{
|
||||||
|
FilamentView::registerRenderHook('panels::head.end', function () {
|
||||||
|
// Only inject on the "home" page (or specific route)
|
||||||
|
if (url()->current() == config('app.url') . '/') {
|
||||||
|
return '
|
||||||
|
<link rel="manifest" href="' . asset('manifest.json') . '">
|
||||||
|
<meta name="theme-color" content="#007bff">
|
||||||
|
<script>
|
||||||
|
if ("serviceWorker" in navigator) {
|
||||||
|
navigator.serviceWorker.register("/sw.js")
|
||||||
|
.then(reg => console.log("Service Worker registered:", reg.scope))
|
||||||
|
.catch(err => console.error("Service Worker registration failed:", err));
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
';
|
||||||
|
}
|
||||||
|
|
||||||
|
return ''; // Do not inject on other pages
|
||||||
|
});
|
||||||
|
|
||||||
|
// Only include PWA install script if on home page
|
||||||
FilamentView::registerRenderHook('panels::body.end', function () {
|
FilamentView::registerRenderHook('panels::body.end', function () {
|
||||||
return '<script src="' . asset('js/pwa-install.js') . '"></script>';
|
if (url()->current() == config('app.url') . '/') {
|
||||||
|
return '<script src="' . asset('js/pwa-install.js') . '"></script>';
|
||||||
|
}
|
||||||
|
return '';
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user