@php $settings = $websiteSettings ?? \App\Models\WebsiteSetting::current(); $sitePrimary = $settings['frontend_primary_color'] ?? $settings['primary_color'] ?? '#f7b731'; $siteSecondary = $settings['frontend_secondary_color'] ?? $settings['secondary_color'] ?? '#1ecb85'; $siteAccent = $settings['frontend_accent_color'] ?? $settings['accent_color'] ?? '#153f2d'; $siteBackground = $settings['frontend_background_color'] ?? $settings['background_color'] ?? '#f8fafc'; $siteText = $settings['frontend_text_color'] ?? $settings['text_color'] ?? '#10291f'; $hexToRgb = function (string $hex, string $fallback) { $hex = ltrim($hex, '#'); if (strlen($hex) !== 6 || ! ctype_xdigit($hex)) { return $fallback; } return hexdec(substr($hex, 0, 2)) . ',' . hexdec(substr($hex, 2, 2)) . ',' . hexdec(substr($hex, 4, 2)); }; $contrast = function (string $hex) { $hex = ltrim($hex, '#'); if (strlen($hex) !== 6 || ! ctype_xdigit($hex)) { return '#ffffff'; } $r = hexdec(substr($hex, 0, 2)); $g = hexdec(substr($hex, 2, 2)); $b = hexdec(substr($hex, 4, 2)); return (($r * 299 + $g * 587 + $b * 114) / 1000) >= 150 ? '#10291f' : '#ffffff'; }; $primaryRgb = $hexToRgb($sitePrimary, '247,183,49'); $secondaryRgb = $hexToRgb($siteSecondary, '30,203,133'); $accentRgb = $hexToRgb($siteAccent, '21,63,45'); $backgroundRgb = $hexToRgb($siteBackground, '248,250,252'); $textRgb = $hexToRgb($siteText, '16,41,31'); $primaryContrast = $contrast($sitePrimary); $secondaryContrast = $contrast($siteSecondary); $accentContrast = $contrast($siteAccent); @endphp