user();
if ($user && $user->settings) {
// Register Colors
FilamentColor::register([
'primary' => match ($user->settings->primary_color) {
'blue' => Color::Blue,
'sky' => Color::Sky,
'cyan' => Color::Cyan,
'emerald' => Color::Emerald,
'teal' => Color::Teal,
'lime' => Color::Lime,
'amber' => Color::Amber,
'orange' => Color::Orange,
'rose' => Color::Rose,
'fuchsia' => Color::Fuchsia,
'violet' => Color::Violet,
'indigo' => Color::Indigo,
default => Color::Blue,
},
]);
// Register Top Navigation
$panel = Filament::getCurrentOrDefaultPanel();
if ($panel && method_exists($panel, 'topNavigation')) {
$panel->topNavigation((bool) $user->settings->top_navigation);
}
// Register Font & UI Styles
$font = $user->settings->font ?? 'Inter';
$radius = match ($user->settings->border_radius ?? 'md') {
'none' => '0px',
'md' => '0.375rem',
'lg' => '0.5rem',
'xl' => '0.75rem',
'2xl' => '1rem',
default => '0.5rem',
};
$maxWidth = match ($user->settings->content_width ?? 'full') {
'centered' => '80rem',
default => 'none',
};
FilamentView::registerRenderHook(
PanelsRenderHook::HEAD_END,
fn () => new HtmlString("
")
);
}
return $next($request);
}
}