@php $destinasiList ??= collect([]); $totalDestinasiAnalisis ??= 0; $totalDestinasiBerkeluhan ??= 0; $totalNegatif ??= 0; $totalPositif ??= 0; $totalNetral ??= 0; $totalUlasan ??= 0; $persenNegatif ??= 0; $tingkatKepuasan ??= 0; $labelKepuasan ??= 'Kurang'; $isuDominan ??= '-'; $isuDominanPersen ??= 0; $isuUtama ??= []; $kataDominan ??= []; $saranPerbaikan ??= []; $prioritas ??= []; @endphp @php // $persenPositif, $persenNetral, $isuNegatif, $isuNetral, $isuPositif sudah dikirim dari controller // Icon map untuk prioritas cards $iconMap = [ 'harga' => '๐ŸŽซ', 'tiket' => '๐ŸŽซ', 'kebersihan'=> '๐Ÿงน', 'parkir' => '๐Ÿš—', 'fasilitas' => '๐Ÿ—๏ธ', 'keramaian' => '๐Ÿ‘ฅ', 'akses' => '๐Ÿ›ฃ๏ธ', 'jalan' => '๐Ÿ›ฃ๏ธ', 'default' => 'โš™๏ธ', ]; @endphp
{{-- HEADER --}}

Rekomendasi Layanan

Rekomendasi dibuat dari hasil analisis sentimen untuk perbaikan layanan destinasi wisata.

{{ $totalDestinasiAnalisis }} destinasi dianalisis, {{ $totalDestinasiBerkeluhan }} destinasi memiliki ulasan negatif.

{{-- FILTER DESTINASI โ€” submit ke /dashboard agar tab tidak reset --}}
@if(request('periode_bulan')) @endif
{{-- SUMMARY CARDS โ€” 3 gauge cards seperti di screenshot --}}
{{-- Tingkat Positif --}}

Tingkat Positif

{{ $persenPositif }}%

Positif

{{ $totalPositif }} ulasan

๐Ÿ˜Š
{{-- Tingkat Negatif --}}

Tingkat Negatif

{{ $persenNegatif }}%

Negatif

{{ $totalNegatif }} ulasan

๐Ÿ˜Ÿ
{{-- Tingkat Netral --}}

Tingkat Netral

{{ $persenNetral }}%

Netral

{{ $totalNetral }} ulasan

๐Ÿ˜
{{-- TABEL ISU 3 KOLOM (Negatif / Netral / Positif) --}}
{{-- ISU NEGATIF UTAMA --}}

Isu Negatif Utama (Top 5)

@forelse ($isuNegatif as $i => $isu) @if($i >= 5) @break @endif
{{ $i + 1 }}. {{ $isu['nama'] }} {{ $isu['persen'] }}% @if(isset($isu['jumlah'])) ({{ $isu['jumlah'] }}) @endif
@empty

Belum ada data isu negatif.

@endforelse

Persentase berdasarkan dari total ulasan negatif ({{ $totalNegatif }} ulasan)

{{-- ISU NETRAL UTAMA --}}

Isu Netral Utama (Top 5)

@forelse ($isuNetral as $i => $isu) @if($i >= 5) @break @endif
{{ $i + 1 }}. {{ $isu['nama'] }} {{ $isu['persen'] }}% @if(isset($isu['jumlah'])) ({{ $isu['jumlah'] }}) @endif
@empty

Belum ada data isu netral.

@endforelse

Persentase berdasarkan dari total ulasan netral ({{ $totalNetral }} ulasan)

{{-- ASPEK POSITIF UTAMA --}}

Aspek Positif Utama (Top 5)

@forelse ($isuPositif as $i => $isu) @if($i >= 5) @break @endif
{{ $i + 1 }}. {{ $isu['nama'] }} {{ $isu['persen'] }}% @if(isset($isu['jumlah'])) ({{ $isu['jumlah'] }}) @endif
@empty

Belum ada data isu positif.

@endforelse

Persentase berdasarkan dari total ulasan positif ({{ $totalPositif }} ulasan)

{{-- PRIORITAS REKOMENDASI --}}

Prioritas Rekomendasi Perbaikan Layanan

Prioritas disusun berdasarkan frekuensi isu negatif dan dampaknya terhadap kepuasan pengunjung.

@forelse ($prioritas as $p) @php $border = match($p['color']) { 'red' => 'border-red-200', 'orange' => 'border-orange-200', 'yellow' => 'border-yellow-200', 'green' => 'border-green-200', default => 'border-blue-200', }; $title = match($p['color']) { 'red' => 'text-red-600', 'orange' => 'text-orange-500', 'yellow' => 'text-yellow-600', 'green' => 'text-green-600', default => 'text-blue-600', }; $dampak = match($p['color']) { 'red' => 'bg-red-50 text-red-500 border border-red-200', 'orange' => 'bg-orange-50 text-orange-500 border border-orange-200', 'yellow' => 'bg-yellow-50 text-yellow-600 border border-yellow-200', 'green' => 'bg-green-50 text-green-700 border border-green-200', default => 'bg-blue-50 text-blue-600 border border-blue-200', }; $badgeBg = match($p['color']) { 'red' => 'bg-red-500', 'orange' => 'bg-orange-400', 'yellow' => 'bg-yellow-400', 'green' => 'bg-green-500', default => 'bg-blue-500', }; $namaLower = strtolower($p['nama']); $icon = 'โš™๏ธ'; foreach ($iconMap as $key => $val) { if (str_contains($namaLower, $key)) { $icon = $val; break; } } @endphp
{{ $p['rank'] }}

Prioritas {{ $p['rank'] === 1 ? 'Utama' : ($p['rank'] === 2 ? 'Kedua' : 'Ketiga') }}

{{ $p['nama'] }}

{{ $icon }}
    @foreach ($p['actions'] as $action)
  • โœ” {{ $action }}
  • @endforeach
Alasan: {{ $p['dampak'] }}
@empty
Belum ada data rekomendasi. Pastikan analisis sentimen sudah dijalankan.
@endforelse
{{-- FOOTER NOTE --}}
โ„น๏ธ Rekomendasi dihasilkan secara otomatis berdasarkan hasil analisis sentimen dan kata kunci dominan dari ulasan wisatawan.