@extends('layouts.app') @section('title', __('ui.admin_quality_v3_title').' — Coaster World') @section('content')
@include('admin._nav')
{{ __('ui.admin_quality_v3_kicker') }}

{{ __('ui.admin_quality_v3_title') }}

{{ __('ui.admin_quality_v3_intro') }}

{{ __('ui.admin_quality_v3_score') }} {{ $report['score'] }}/100 {{ __('ui.admin_quality_v3_state_'.$report['state']) }} {{ __('ui.admin_quality_v3_score_help') }}
{{ __('ui.admin_quality_v3_overview_kicker') }}

{{ __('ui.admin_quality_v3_overview_title') }}

🗂️ {{ __('ui.admin_quality_v3_category_catalog') }}{{ ($report['stats']['parks_incomplete'] ?? 0) + ($report['stats']['attractions_incomplete'] ?? 0) + ($report['stats']['coasters_incomplete'] ?? 0) }}{{ __('ui.admin_quality_v3_metric_incomplete') }} 📍 {{ __('ui.admin_quality_v3_category_maps') }}{{ ($report['stats']['parks_without_location'] ?? 0) + ($report['stats']['attractions_without_location'] ?? 0) + ($report['stats']['pois_without_location'] ?? 0) + ($report['stats']['invalid_coordinates'] ?? 0) }}{{ __('ui.admin_quality_v3_metric_coordinates') }} 🖼️ {{ __('ui.admin_quality_v3_category_media') }}{{ ($report['stats']['parks_without_media'] ?? 0) + ($report['stats']['attractions_without_media'] ?? 0) + ($report['stats']['coasters_without_media'] ?? 0) }}{{ __('ui.admin_quality_v3_metric_media') }} 🔗 {{ __('ui.admin_quality_v3_category_mapping') }}{{ ($report['stats']['parks_without_themeparks'] ?? 0) + ($report['stats']['attractions_without_themeparks'] ?? 0) + ($report['stats']['coasters_without_external'] ?? 0) + ($report['stats']['orphan_external_references'] ?? 0) }}{{ __('ui.admin_quality_v3_metric_mapping') }} 🧬 {{ __('ui.admin_quality_v3_category_duplicates') }}{{ ($report['stats']['park_duplicate_groups'] ?? 0) + ($report['stats']['attraction_duplicate_groups'] ?? 0) + ($report['stats']['poi_duplicate_groups'] ?? 0) }}{{ __('ui.admin_quality_v3_metric_duplicates') }} 🌍 {{ __('ui.admin_quality_v3_category_translations') }}{{ ($report['stats']['parks_translation_gaps'] ?? 0) + ($report['stats']['attractions_translation_gaps'] ?? 0) }}{{ __('ui.admin_quality_v3_metric_translations') }} 📡 {{ __('ui.admin_quality_v3_category_integrations') }}{{ $report['stats']['live_sources_failing'] ?? 0 }}{{ __('ui.admin_quality_v3_metric_integrations') }}
@if($query !== '' || $category !== 'all' || $severity !== 'all') {{ __('ui.admin_quality_v3_reset') }} @endif
{{ __('ui.admin_quality_v3_issues_kicker') }}

{{ __('ui.admin_quality_v3_issues_title') }}

{{ trans_choice('ui.admin_quality_v3_issue_count', $issues->total(), ['count' => $issues->total()]) }}
@if($issues->count())
@foreach($issues as $issue)
@if($issue['severity'] === 'critical') ! @elseif($issue['severity'] === 'warning') △ @else i @endif
{{ __('ui.admin_quality_v3_severity_'.$issue['severity']) }} {{ __('ui.admin_quality_v3_category_'.$issue['category']) }} {{ __('ui.admin_quality_v3_entity_'.$issue['entity_type']) }}
{{ $issue['label'] }}

{{ $issue['message'] }}

{{ __('ui.admin_quality_v3_open_issue') }}
@endforeach
@if($issues->hasPages())
{{ $issues->links() }}
@endif @else
{{ __('ui.admin_quality_v3_empty_title') }}

{{ __('ui.admin_quality_v3_empty_text') }}

@endif
🛡️
{{ __('ui.admin_quality_v3_safety_title') }}

{{ __('ui.admin_quality_v3_safety_text') }}

@endsection