Deploy / deploy (push) Successful in 28s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
106 lines
4.5 KiB
PHP
106 lines
4.5 KiB
PHP
<?php
|
|
|
|
namespace App\Providers\Filament;
|
|
|
|
use Filament\Navigation\NavigationGroup;
|
|
use Filament\View\PanelsRenderHook;
|
|
use Illuminate\Support\HtmlString;
|
|
use Filament\Http\Middleware\Authenticate;
|
|
use Filament\Http\Middleware\DisableBladeIconComponents;
|
|
use Filament\Http\Middleware\DispatchServingFilamentEvent;
|
|
use Filament\Pages;
|
|
use Filament\Panel;
|
|
use Filament\PanelProvider;
|
|
use Filament\Support\Colors\Color;
|
|
use Filament\Widgets;
|
|
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
|
|
use Illuminate\Cookie\Middleware\EncryptCookies;
|
|
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
|
|
use Illuminate\Routing\Middleware\SubstituteBindings;
|
|
use Illuminate\Session\Middleware\AuthenticateSession;
|
|
use Illuminate\Session\Middleware\StartSession;
|
|
use Illuminate\View\Middleware\ShareErrorsFromSession;
|
|
use App\Filament\Widgets\StatsOverview;
|
|
use App\Filament\User\Resources\ProductSaleResource\Widgets\SalesChart;
|
|
use App\Filament\User\Resources\SpiceResource\Widgets\SpiceChart;
|
|
use Leandrocfe\FilamentApexCharts\FilamentApexChartsPlugin;
|
|
|
|
class UserPanelProvider extends PanelProvider
|
|
{
|
|
public function panel(Panel $panel): Panel
|
|
{
|
|
return $panel
|
|
->id('user')
|
|
->default()
|
|
->path('dashboard')
|
|
->font('Jost')
|
|
->login()
|
|
->colors([
|
|
'primary' => '#33ccff'
|
|
])
|
|
->favicon(url:'../images/favicon.png')
|
|
|
|
->navigationGroups([
|
|
NavigationGroup::make('Lager'),
|
|
NavigationGroup::make('Waren Ein/Ausgang'),
|
|
NavigationGroup::make('Ressourcen'),
|
|
NavigationGroup::make('CRM'),
|
|
])
|
|
->renderHook(
|
|
PanelsRenderHook::AUTH_LOGIN_FORM_AFTER,
|
|
fn () => new HtmlString(
|
|
'<div class="mt-4">'
|
|
. '<div class="relative flex items-center gap-3 py-1">'
|
|
. '<div class="h-px flex-1 bg-gray-200 dark:bg-gray-700"></div>'
|
|
. '<span class="text-xs text-gray-400 dark:text-gray-500">oder</span>'
|
|
. '<div class="h-px flex-1 bg-gray-200 dark:bg-gray-700"></div>'
|
|
. '</div>'
|
|
. '<a href="' . route('auth.nextcloud') . '" class="mt-3 flex w-full items-center justify-center gap-2 rounded-lg border border-gray-300 bg-white px-4 py-2 text-sm font-medium text-gray-700 shadow-sm transition hover:bg-gray-50 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-300 dark:hover:bg-gray-700">'
|
|
. '<svg class="h-4 w-4" viewBox="0 0 50 50" fill="currentColor"><path d="M25 2C12.3 2 2 12.3 2 25s10.3 23 23 23 23-10.3 23-23S37.7 2 25 2zm0 7a7 7 0 110 14 7 7 0 010-14zm0 32c-5.8 0-10.9-2.9-14-7.3.1-4.6 9.3-7.2 14-7.2s13.9 2.5 14 7.2C35.9 38.1 30.8 41 25 41z"/></svg>'
|
|
. 'Mit Nextcloud anmelden'
|
|
. '</a>'
|
|
. '</div>'
|
|
)
|
|
)
|
|
->renderHook(
|
|
PanelsRenderHook::SIDEBAR_FOOTER,
|
|
fn () => new HtmlString(
|
|
'<div class="px-6 pb-4 font-mono text-[10px] text-gray-400 dark:text-gray-600">'
|
|
. 'Build ' . substr(config('app.git_commit', 'dev'), 0, 10)
|
|
. '</div>'
|
|
)
|
|
)
|
|
->discoverResources(in: app_path('Filament/User/Resources'), for: 'App\\Filament\\User\\Resources')
|
|
->discoverPages(in: app_path('Filament/User/Pages'), for: 'App\\Filament\\User\\Pages')
|
|
->pages([
|
|
Pages\Dashboard::class,
|
|
])
|
|
->plugins([
|
|
FilamentApexChartsPlugin::make()
|
|
])
|
|
->discoverWidgets(in: app_path('Filament/User/Widgets'), for: 'App\\Filament\\User\\Widgets')
|
|
->widgets([
|
|
StatsOverview::class,
|
|
SalesChart::class,
|
|
SpiceChart::class,
|
|
])
|
|
->middleware([
|
|
EncryptCookies::class,
|
|
AddQueuedCookiesToResponse::class,
|
|
StartSession::class,
|
|
AuthenticateSession::class,
|
|
ShareErrorsFromSession::class,
|
|
VerifyCsrfToken::class,
|
|
SubstituteBindings::class,
|
|
DisableBladeIconComponents::class,
|
|
DispatchServingFilamentEvent::class,
|
|
])
|
|
->authMiddleware([
|
|
Authenticate::class,
|
|
])
|
|
->resources([
|
|
config('filament-logger.activity_resource')
|
|
]);
|
|
}
|
|
}
|