@extends('layouts.master') @section('content')

Resultados para: "{{ $query }}"

@if(isset($error))
{{ $error }}
@endif @php $resultsArray = is_array($results ?? null) ? $results : []; // Separar os resultados por tipo de produto (para exibição em abas) $articles = []; $videos = []; $books = []; foreach ($resultsArray as $item) { $type = $item['product']['productType'] ?? 'article'; // Padrão para 'article' if ($type === 'magazine') { $articles[] = $item; } elseif ($type === 'video') { $videos[] = $item; } elseif ($type === 'book') { $books[] = $item; } } // Totais globais via agregações (fallback seguro) $totaisTipos = isset($totaisPorTipo) ? $totaisPorTipo : [ 'magazine' => $contadorFelipino->productTypes->magazine ?? count($articles), 'video' => $contadorFelipino->productTypes->video ?? count($videos), 'book' => $contadorFelipino->productTypes->book ?? count($books), ]; @endphp
📄 {{ number_format($totaisTipos['magazine'] ?? 0, 0, ',', '.') }} Artigos 🎥 {{ number_format($totaisTipos['video'] ?? 0, 0, ',', '.') }} Vídeos 📚 {{ number_format($totaisTipos['book'] ?? 0, 0, ',', '.') }} Livros




@foreach(['magazine' => 'Revistas', 'book' => 'Capítulos de livros', 'video' => 'Vídeos'] as $type => $label) @php $count = $contadorFelipino->productTypes->$type ?? 0; @endphp
input('q.productTypes', [])) ? 'checked' : '' }}>
@endforeach

@php // Somente usar a lista retornada pela API; ignorar fallbacks de agregações $collectionsCounter = $contadorFelipino->collections ?? []; if (is_object($collectionsCounter)) { $collectionsCounter = (array)$collectionsCounter; } $selectedCollectionIds = (array) request()->input('q.collectionIds', []); $hasSelection = count($selectedCollectionIds) > 0; $renderedAny = false; @endphp @if(isset($buscaColecoes) && is_iterable($buscaColecoes)) @foreach ($buscaColecoes as $colecao) @php $id = is_object($colecao) ? ($colecao->id ?? null) : (is_array($colecao) ? ($colecao['id'] ?? null) : null); $title = is_object($colecao) ? ($colecao->title ?? null) : (is_array($colecao) ? ($colecao['title'] ?? null) : null); if (!$id || !$title) { continue; } $quantidade = $collectionsCounter[$id] ?? 0; $isChecked = $hasSelection ? in_array($id, $selectedCollectionIds) : ($quantidade > 0); $renderedAny = true; @endphp
@endforeach @endif @if(!$renderedAny)
Nenhuma coletânea encontrada pela API.
@endif
@foreach(['en' => 'Inglês', 'es' => 'Espanhol', 'pt' => 'Português'] as $lang => $label) @php $countLang = $contadorFelipino->languages->$lang ?? 0; @endphp
input('q.languages', [])) ? 'checked' : '' }}>
@endforeach
@if(count($articles) === 0)
Nenhum resultado encontrado.
@endif @foreach($articles as $item) @include('partials.result_item', ['item' => $item]) @endforeach
@foreach($videos as $item) @include('partials.result_item', ['item' => $item]) @endforeach
@foreach($books as $item) @include('partials.result_item', ['item' => $item]) @endforeach
@if(isset($total) && $total > 0)
Mostrando página {{ $page ?? 1 }} de {{ $lastPage ?? 1 }} — {{ $total }} resultados
@php $currentPage = (int)($page ?? 1); $prevPage = max(1, $currentPage - 1); $nextPage = min((int)($lastPage ?? 1), $currentPage + 1); $baseParams = request()->all(); $baseParams['page'] = $prevPage; @endphp Anterior Próxima
@endif
@include('busca.partials.scripts') @endsection