Skip to content

Perbaikan Tampilan Widget Event, Media Terkait, Serta Layout Detail Event#1666

Open
habibie11 wants to merge 3 commits into
rilis-devfrom
dev-1656
Open

Perbaikan Tampilan Widget Event, Media Terkait, Serta Layout Detail Event#1666
habibie11 wants to merge 3 commits into
rilis-devfrom
dev-1656

Conversation

@habibie11

Copy link
Copy Markdown
Contributor

issue # #1656

🎯 Deskripsi

Pull request ini memperbaiki sejumlah rentetan bug pada antarmuka pengguna (UI) halaman publik, secara spesifik pada beberapa widget sidebar (Event, Sinergi Program, Media Sosial, Media Terkait) serta kegagalan rendering pada halaman detail Event.

Penyebab utamanya bervariasi di beberapa lapisan:

  1. Model Event sebelumnya memanggil seluruh data tanpa penyaringan status OPEN dan menggunakan groupBy yang membuat format Collection menjadi array berlapis dan sulit diekstrak oleh JavaScript di frontend.
  2. JavaScript untuk widget Event mencoba membaca event.slug sebagai teks judul event, padahal seharusnya event.event_name.
  3. Terdapat kesalahan direktori/path asset pada widget Media Terkait (media_terkait/ alih-alih storage/media_terkait/), serta tidak adanya perlindungan null (null-safety) jika admin lupa mengunggah logo/gambar, yang memicu error JavaScript (crash).
  4. Typo (ekstra spasi) di berkas blade event_detail.blade.php pada @extends('layouts.app ') yang menyebabkan kerangka aplikasi (layout) gagal dimuat (not found).

PR ini memperbaiki seluruh anomali tersebut sehingga widget dapat berfungsi lancar, anti-error, serta menata ulang sedikit tampilan detail event agar lebih proporsional.


🛠️ Perubahan yang Dilakukan

1. app/Models/Event.php

Fix — Koreksi query pengambilan data event:

  • Menambahkan Scope scopeOpen() untuk memfilter event berdasarkan status 'OPEN'.
  • Mengubah kembalian data dari getOpenEvents() agar menjadi Collection tunggal (tidak lagi di groupBy berdasarkan tanggal) untuk mempermudah konsumsi JSON pada frontend.

2. themes/opendk/default/resources/views/components/website-data.blade.php

Fix — Koreksi integrasi JavaScript pada semua widget pendukung:

  • Widget Event: Mengubah logika looping untuk membaca data JSON yang kini berbentuk array datar tunggal, lalu memastikan tautan (teks judul) menggunakan event_name bukan slug.
  • Widget Media Terkait: Mengubah alamat path gambar/logo dari {{ asset("media_terkait") }} menjadi {{ asset("storage/media_terkait") }} sehingga logo yang di-upload via admin dapat ter-render dengan sempurna.
  • Null-Safety: Menambahkan proteksi null check pada updateMediaSosial, updateSinergiProgram, dan updateMediaTerkait supaya pemanggilan replace() dan ekstensi URL gambar tidak me-throw error saat data logo di-set kosong (null).

3. themes/opendk/default/resources/views/pages/event/event_detail.blade.php

Fix & Refactor — Perbaikan ekstensi layout dan penataan elemen:

  • Menghilangkan trailing space pada pendefinisian direktori layout di fungsi @extends.
  • Merapikan struktur HTML dan penamaan kelas, seperti menambah batas judul dan garis pemisah (hr) di atas daftar peserta untuk estetika halaman baca event.

✅ Test Cases yang Diimplementasikan

  • Tambah event berstatus OPEN dari dashboard admin, dan pastikan event tersebut merender nama acara (event_name) dengan benar pada sidebar widget.
  • Klik pada tautan salah satu event di sidebar untuk membuka detail event. Pastikan halaman termuat tanpa error View Not Found serta memperlihatkan dekskripsi secara penuh.
  • Pastikan widget Media Terkait kini menayangkan gambar (logo) dengan normal tanpa error 404 pada browser developer tools.
  • Pastikan widget lain seperti Media Sosial dan Sinergi Program kebal terhadap kegagalan JavaScript apabila ada baris datanya yang diisi tanpa gambar (tidak membuat widget blank).

📸 Cara Menjalankan Uji Coba Manual

  1. Buka halaman panel admin, menuju ke menu profil atau pengaturan konten (Event, Media Terkait, Media Sosial).
  2. Buatlah data baru masing-masing dari konten tersebut.
  3. Upload logo baru pada data "Media Terkait" yang dibuat.
  4. Buka beranda utama / halaman publik web OpenDK.
  5. Verifikasi sidebar sebelah kanan:
    • Event Widget: Harusnya muncul daftar Event terbaru. Judul event tampil benar, dan dapat diklik menuju halaman detail.
    • Media Terkait: Harusnya menampilkan perulangan gambar (marquee) dari gambar logo yang Anda unggah barusan.

📸 Screenshot atau Video

image image

⚠️ Catatan Penting

Karena cache API website bertahan selama 1 jam (website:api), setiap kali Anda memverifikasi atau menambah data dari admin, disarankan untuk menjalankan php artisan cache:clear secara manual (atau membuat Observer tersendiri) agar perubahannya segera ter-refleksi di halaman antarmuka publik secara instan.

@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI PR Review sedang antri di server...

Proses review akan segera dimulai di background — hasil akan muncul sebagai komentar setelah selesai.
Powered by CrewAI · PR #1666

@habibie11
habibie11 requested a review from vickyrolanda July 14, 2026 06:54
@analisopendesa

Copy link
Copy Markdown
Contributor

perbaiki konflik & perbaiki tombol pada halaman event agar standar penerapan
image

@habibie11

@habibie11

Copy link
Copy Markdown
Contributor Author

silahkan dicek kembali mas @analisopendesa

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants