@php $settings = \App\Models\Setting::whereIn('key', [ 'theme_primary', 'admin_primary_light', 'theme_primary_dark', 'site_font', 'site_favicon' ])->pluck('value', 'key'); $siteFavicon = isset($settings['site_favicon']) ? asset('storage/' . $settings['site_favicon']) : asset('favicon.ico'); $siteFont = $settings['site_font'] ?? 'Inter'; $primaryHex = $settings['admin_primary_light'] ?? ($settings['theme_primary'] ?? '#16a34a'); $primaryDarkHex = $settings['theme_primary_dark'] ?? $primaryHex; $hexToHsl = function($hex) { $hex = str_replace('#', '', $hex); if (strlen($hex) == 3) { $r = hexdec(substr($hex, 0, 1) . substr($hex, 0, 1)) / 255; $g = hexdec(substr($hex, 1, 1) . substr($hex, 1, 1)) / 255; $b = hexdec(substr($hex, 2, 1) . substr($hex, 2, 1)) / 255; } else { $r = hexdec(substr($hex, 0, 2)) / 255; $g = hexdec(substr($hex, 2, 2)) / 255; $b = hexdec(substr($hex, 4, 2)) / 255; } $max = max($r, $g, $b); $min = min($r, $g, $b); $h = 0; $s = 0; $l = ($max + $min) / 2; if ($max == $min) { $h = $s = 0; } else { $d = $max - $min; $s = $l > 0.5 ? $d / (2 - $max - $min) : $d / ($max + $min); switch ($max) { case $r: $h = ($g - $b) / $d + ($g < $b ? 6 : 0); break; case $g: $h = ($b - $r) / $d + 2; break; case $b: $h = ($r - $g) / $d + 4; break; } $h /= 6; } return round($h * 360, 1) . ' ' . round($s * 100, 1) . '% ' . round($l * 100, 1) . '%'; }; $primaryHsl = $hexToHsl($primaryHex); $primaryDarkHsl = $hexToHsl($primaryDarkHex); @endphp @routes @viteReactRefresh @vite(['resources/admin/js/app-admin.tsx']) @inertiaHead @inertia