Files
minicrm/app/Providers/Filament/SupportPanelProvider.php
2026-05-12 07:18:09 +00:00

90 lines
3.4 KiB
PHP

<?php
namespace App\Providers\Filament;
use App\Filament\Resources\ActivityLogs\ActivityLogResource;
use App\Filament\Resources\Customers\CustomerResource;
use App\Filament\Resources\Feedback\FeedbackResource;
use App\Filament\Resources\FeedbackChannels\FeedbackChannelResource;
use App\Filament\Resources\FeedbackTags\FeedbackTagResource;
use App\Filament\Resources\Products\ProductResource;
use App\Filament\Widgets\AvgProcessingTimeWidget;
use App\Filament\Widgets\HandlerPerformanceWidget;
use App\Filament\Widgets\ResolvedTicketsWidget;
use Filament\Http\Middleware\Authenticate;
use Filament\Http\Middleware\AuthenticateSession;
use Filament\Http\Middleware\DisableBladeIconComponents;
use Filament\Http\Middleware\DispatchServingFilamentEvent;
use Filament\Pages\Dashboard;
use Filament\Panel;
use Filament\PanelProvider;
use Filament\View\PanelsRenderHook;
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
use Illuminate\Cookie\Middleware\EncryptCookies;
use Illuminate\Foundation\Http\Middleware\PreventRequestForgery;
use Illuminate\Routing\Middleware\SubstituteBindings;
use Illuminate\Session\Middleware\StartSession;
use Illuminate\View\Middleware\ShareErrorsFromSession;
class SupportPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
->id('support')
->path('support')
->login()
->brandName('AfterSales CRM — Support')
->sidebarCollapsibleOnDesktop()
->colors([
'primary' => '#1a56db',
'secondary' => '#64748b',
'gray' => '#64748b',
'success' => '#059669',
'warning' => '#d97706',
'danger' => '#dc2626',
'info' => '#2563eb',
])
->font('Inter')
->favicon(asset('favicon.svg'))
->resources([
FeedbackResource::class,
CustomerResource::class,
ProductResource::class,
FeedbackChannelResource::class,
FeedbackTagResource::class,
ActivityLogResource::class,
])
->pages([
Dashboard::class,
])
->widgets([
ResolvedTicketsWidget::class,
AvgProcessingTimeWidget::class,
HandlerPerformanceWidget::class,
])
->middleware([
EncryptCookies::class,
AddQueuedCookiesToResponse::class,
StartSession::class,
AuthenticateSession::class,
ShareErrorsFromSession::class,
PreventRequestForgery::class,
SubstituteBindings::class,
DisableBladeIconComponents::class,
DispatchServingFilamentEvent::class,
])
->authMiddleware([
Authenticate::class,
])
->renderHook(
PanelsRenderHook::HEAD_END,
fn (): string => '<link rel="stylesheet" href="' . asset('css/filament-custom.css') . '">',
)
->renderHook(
PanelsRenderHook::BODY_END,
fn (): string => '<link href="https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap" rel="stylesheet">',
);
}
}