Elije un estilo para las fuentes

@php // 1) Solo themes de tipo "fonts" $fontThemes = $themes->where('type', 'fonts'); // 2) Recolectar TODAS las familias usadas en estos themes (sin filtrar por type) $families = $fontThemes->flatMap(function ($t) { $vals = $t->values instanceof \Illuminate\Support\Collection ? $t->values : collect($t->values); return $vals->pluck('value'); // <-- acá NO usamos where('type','font') }) ->filter(fn($v) => !empty($v) && strpos($v, '#') !== 0) ->unique() ->values(); // 3) Buscar sus URLs en la tabla fonts $fontRows = \App\Models\Font::whereIn('name', $families)->get()->keyBy('name'); @endphp {{-- 4) Inyectar para que el navegador cargue las familias --}} @foreach($families as $family) @php $src = optional($fontRows->get($family))->source; @endphp @if($src) @endif @endforeach
@foreach ($fontThemes as $theme) @php // Normalizar values $vals = $theme->values instanceof \Illuminate\Support\Collection ? $theme->values : collect($theme->values); // Variable elegida en admin (ej: --f-primary / --f-secondary) $previewVar = $theme->preview_variable ?: optional($vals->first())->variable; // Familia para preview: la que coincide con previewVar, o fallback a la primera $previewFamily = optional($vals->firstWhere('variable', $previewVar))->value ?? optional($vals->first())->value; @endphp
@endforeach