@php use App\Models\Score; use App\Models\CompanySubmission; use App\Models\InstitutionalSubmission; $allScores = Score::whereNotNull('published_at') ->where('is_final', true) ->with('scorable') ->orderByDesc('itse_score') ->get(); $hasResults = $allScores->isNotEmpty(); $total = $allScores->count(); $top3 = $allScores->take(3); $mencaoHonrosa = $total >= 4 ? $allScores->get(3) : null; $piorScore = $total >= 5 ? $allScores->last() : null; $featuredIds = collect([$top3->pluck('id'), collect([$mencaoHonrosa?->id, $piorScore?->id])])->flatten()->filter()->unique(); $remaining = $allScores->filter(fn($s) => !$featuredIds->contains($s->id))->values(); $hasMore = $remaining->isNotEmpty(); @endphp {{-- Hero --}}
{{-- Logo CIP --}}
CIP
CIP
Centro de Integridade Pública
Boa Governação · Transparência · Integridade
{{ __('6ª Edição · Moçambique · 2026') }}

{{ __('Índice de Transparência do Sector Extractivo') }}

{{ __('Avaliação independente da transparência de empresas e instituições do sector extractivo moçambicano, coordenada pelo CIP.') }}

@if($hasResults)
{{ $allScores->count() }}
{{ __('Entidades avaliadas') }}
{{ number_format($allScores->avg('itse_score') * 100, 1) }}%
{{ __('Média ITSE') }}
{{ number_format($allScores->max('itse_score') * 100, 1) }}%
{{ __('Melhor pontuação') }}
@endif
@if(!$hasResults) {{-- Estado vazio --}}

{{ __('Resultados em preparação') }}

{{ __('Os resultados serão publicados após conclusão do processo de avaliação e validação pelo CIP.') }}

@else {{-- Ranking --}}

{{ __('Ranking ITSE') }} {{ date('Y') }}

{{ __('Classificação por pontuação global — média geométrica das 4 dimensões') }}

{{-- Top 3 --}}
@foreach($top3 as $i => $score) @php $isCompany = $score->scorable_type === CompanySubmission::class; $name = $isCompany ? ($score->scorable?->company?->name ?? '—') : (($score->scorable?->institution?->acronym ? $score->scorable->institution->acronym . ' — ' : '') . ($score->scorable?->institution?->name ?? '—')); $type = $isCompany ? 'Empresa' : 'Instituição'; $pct = fn($v) => $v !== null ? number_format($v * 100, 1) . '%' : '—'; $itse = $score->itse_score * 100; $color = $itse >= 75 ? '#16a34a' : ($itse >= 50 ? '#d97706' : '#dc2626'); $bg = $itse >= 75 ? '#f0fdf4' : ($itse >= 50 ? '#fffbeb' : '#fef2f2'); $medals = ['🥇','🥈','🥉']; @endphp
{{ $medals[$i] }}

{{ $name }}

{{ $type }}
{{ __('Pontuação ITSE') }} {{ number_format($itse, 1) }}%
@foreach([['Fiscal', $score->fiscal_score], ['Governação', $score->governacao_score], ['Social', $score->social_score], ['Ambiental', $score->ambiental_score]] as [$label, $val])
{{ $label }}
{{ $pct($val) }}
@endforeach
@endforeach
{{-- Menção Honrosa --}} @if($mencaoHonrosa) @php $score = $mencaoHonrosa; $isCompany = $score->scorable_type === CompanySubmission::class; $name = $isCompany ? ($score->scorable?->company?->name ?? '—') : (($score->scorable?->institution?->acronym ? $score->scorable->institution->acronym . ' — ' : '') . ($score->scorable?->institution?->name ?? '—')); $type = $isCompany ? 'Empresa' : 'Instituição'; $pct = fn($v) => $v !== null ? number_format($v * 100, 1) . '%' : '—'; $itse = $score->itse_score * 100; $color = $itse >= 75 ? '#16a34a' : ($itse >= 50 ? '#d97706' : '#dc2626'); $bg = $itse >= 75 ? '#f0fdf4' : ($itse >= 50 ? '#fffbeb' : '#fef2f2'); @endphp
🏅

{{ $name }}

{{ $type }} {{ __('Menção Honrosa') }}
{{ __('Pontuação ITSE') }} {{ number_format($itse, 1) }}%
@foreach([['Fiscal', $score->fiscal_score], ['Governação', $score->governacao_score], ['Social', $score->social_score], ['Ambiental', $score->ambiental_score]] as [$label, $val])
{{ $label }}
{{ $pct($val) }}
@endforeach
@endif {{-- Pior pontuação --}} @if($piorScore) @php $score = $piorScore; $isCompany = $score->scorable_type === CompanySubmission::class; $name = $isCompany ? ($score->scorable?->company?->name ?? '—') : (($score->scorable?->institution?->acronym ? $score->scorable->institution->acronym . ' — ' : '') . ($score->scorable?->institution?->name ?? '—')); $type = $isCompany ? 'Empresa' : 'Instituição'; $pct = fn($v) => $v !== null ? number_format($v * 100, 1) . '%' : '—'; $itse = $score->itse_score * 100; $color = '#dc2626'; $bg = '#fef2f2'; @endphp
📉

{{ $name }}

{{ $type }} {{ __('Pior pontuação') }}
{{ __('Pontuação ITSE') }} {{ number_format($itse, 1) }}%
@foreach([['Fiscal', $score->fiscal_score], ['Governação', $score->governacao_score], ['Social', $score->social_score], ['Ambiental', $score->ambiental_score]] as [$label, $val])
{{ $label }}
{{ $pct($val) }}
@endforeach
@endif @if($hasMore) {{-- Lista completa colapsável --}}
@foreach($remaining as $i => $score) @php $isCompany = $score->scorable_type === CompanySubmission::class; $name = $isCompany ? ($score->scorable?->company?->name ?? '—') : (($score->scorable?->institution?->acronym ? $score->scorable->institution->acronym . ' — ' : '') . ($score->scorable?->institution?->name ?? '—')); $type = $isCompany ? 'Empresa' : 'Instituição'; $pct = fn($v) => $v !== null ? number_format($v * 100, 1) . '%' : '—'; $itse = $score->itse_score * 100; $color = $itse >= 75 ? '#16a34a' : ($itse >= 50 ? '#d97706' : '#dc2626'); $bg = $itse >= 75 ? '#f0fdf4' : ($itse >= 50 ? '#fffbeb' : '#fef2f2'); $pos = $i + 5; @endphp
{{ $pos }}

{{ $name }}

{{ $type }}
{{ __('Pontuação ITSE') }} {{ number_format($itse, 1) }}%
@foreach([['Fiscal', $score->fiscal_score], ['Governação', $score->governacao_score], ['Social', $score->social_score], ['Ambiental', $score->ambiental_score]] as [$label, $val])
{{ $label }}
{{ $pct($val) }}
@endforeach
@endforeach
@else
@endif {{-- Nota metodológica --}}

{{ __('Nota metodológica:') }} {{ __('O ITSE é calculado pela média geométrica de 4 dimensões — Fiscal, Governação, Social e Ambiental. Uma pontuação de 0% em qualquer dimensão resulta num ITSE de 0%.') }}

@endif {{-- Cards informativos --}} {{-- CTA --}}

{{ __('Área reservada') }}

{{ __('Acesso para empresas, instituições e avaliadores CIP') }}

{{ __('Iniciar sessão') }}