Một số chức năng của admin panel hay dùng (có thể cần thiết)
Trong quá trình phát triển ứng dụng laravel cùng với filament, 1 số tùy chỉnh và cấu hình cần thiết trong admin panel của filament nên thực hiện
Toàn bộ cấu hình tại file configure của admin panel app/Providers/Filament/AdminPanelProvider.php
1. Dùng chính trang admin làm ứng dụng
->path('')
Tại routes/web.php loại bỏ hoặc comment route mặc định '/'
// Route::get('/', function () {
// ...
// });
2. Dùng trang tùy chỉnh làm trang mặc định.
->homeUrl('/statistic') # đường dẫn cụ thể hoặc route tùy ý
3. Tắt breadcrumbs
->breadcrumbs(false)
4. Nội dung full trang
use Filament\Support\Enums\Width;
...
->maxContentWidth(Width::Full)
5. Thay đổi favicon
->favicon('/storage/CDB-LOGO.png')
6. Cho phép sidebar có thể thu gọn ở giao diện desktop
->sidebarCollapsibleOnDesktop()
7. Điều chỉnh lại kích thước của sidebar
->sidebarWidth('13rem')
8. Thêm thẻ tùy chỉnh vào thẻ head của filament:
use Filament\View\PanelsRenderHook;
use Illuminate\Support\Facades\Blade;
...
public function panel(Panel $panel): Panel
{
FilamentView::registerRenderHook(
PanelsRenderHook::HEAD_END,
fn (): string => Blade::render(<<<'HTML'
<link rel="manifest" href="/manifest.json">
<meta name="theme-color" content="#0f172a">
<!-- iOS specific -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="apple-mobile-web-app-title" content="CDB Admin">
<link rel="apple-touch-icon" href="/storage/CDB-LOGO.png">
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/service-worker.js', { scope: './' })
.then(reg => console.log('SW registered:', reg.scope))
.catch(err => console.error('SW registration failed:', err));
}
</script>
HTML)
);
return $panel
....
}