Skip to content

fix: perbaikan tampilan website ketika slider belum diisi#1040

Merged
affandii06 merged 3 commits into
rilis-devfrom
fix/placeholder_slide_website
May 20, 2026
Merged

fix: perbaikan tampilan website ketika slider belum diisi#1040
affandii06 merged 3 commits into
rilis-devfrom
fix/placeholder_slide_website

Conversation

@pandigresik
Copy link
Copy Markdown
Contributor

Pull Request: Fix Placeholder Slider Website

Deskripsi

Menambahkan gambar placeholder dan styling minimum height pada komponen slider website untuk menjaga tampilan tetap konsisten ketika belum ada slide yang ditambahkan atau gambar slide tidak ditemukan.

Perubahan yang dilakukan:

  1. CSS Enhancement (public/web/css/openkab.css): Menambahkan min-height: 350px pada .header-carousel dan .header-carousel .owl-carousel-item beserta centering layout
  2. Blade Template (resources/views/web/partials/slider.blade.php): Menambahkan fallback image placeholder untuk kondisi empty state dan broken image
  3. Error Handler (inline): Menambahkan onerror attribute pada img tag untuk menangani kasus gambar slide tidak ditemukan di storage

Alasan perubahan:

  • UX Consistency: Tampilan halaman web menjadi berantakan ketika belum ada slide yang dikonfigurasi karena carousel tidak memiliki konten
  • Broken Image Handling: Ketika file gambar slide dihapus atau tidak ditemukan di storage, browser menampilkan ikon broken image yang merusak tampilan
  • Layout Stability: Tanpa minimum height, carousel collapse dan menyebabkan layout shift pada elemen di bawahnya

Dampak perubahan:

Visual Consistency: Slider selalu menampilkan area dengan tinggi minimum 350px
Graceful Degradation: Placeholder image tampil saat tidak ada data atau gambar hilang
No Breaking Changes: Perubahan hanya pada tampilan, tidak mengubah logic repository atau database

Masalah Terkait (Related Issue)

Langkah untuk mereproduksi (Steps to Reproduce)

Sebelum perbaikan (masalah):

  1. Akses halaman website OpenKab
  2. Pastikan belum ada data slide di database atau file gambar slide tidak ada di storage
  3. Lihat area slider di halaman utama
  4. ❌ Area slider kosong/berantakan, layout collapse, atau muncul ikon broken image

Setelah perbaikan (fix):

  1. Akses halaman website OpenKab
  2. Pastikan belum ada data slide di database atau file gambar slide tidak ada di storage
  3. Lihat area slider di halaman utama
  4. ✅ Area slider menampilkan gambar placeholder dengan tinggi konsisten 350px

Testing pada fitur lain yang terkait:

  • Slider dengan data normal ✅ Tidak terpengaruh, gambar slide tampil normal
  • Navigasi carousel (prev/next) ✅ Berfungsi normal
  • Responsive layout ✅ Min-height tetap konsisten di semua ukuran layar

Daftar Periksa (Checklist)

Teknis Detail

Penjelasan Teknis

CSS Changes (public/web/css/openkab.css):

.header-carousel {
    min-height: 350px;
}

.header-carousel .owl-carousel-item {
    min-height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-carousel .owl-carousel-item img {
    max-height: 350px;
    object-fit: contain;
}
  • min-height pada container mencegah layout collapse
  • Flexbox centering memastikan placeholder image berada di tengah
  • object-fit: contain menjaga aspect ratio gambar placeholder

Blade Template Changes (resources/views/web/partials/slider.blade.php):

  • Menggunakan @forelse dengan @empty block untuk menangani kondisi tidak ada slide
  • Variable $placeholderImage di-define di @php block untuk menghindari nested Blade syntax issue di dalam attribute
  • onerror handler mengganti src ke placeholder ketika gambar slide gagal dimuat

Konfigurasi yang berubah

Tidak ada

Dependencies yang ditambahkan

Tidak ada dependencies baru

Testing

Manual Testing

  • Slider tampil dengan placeholder saat tidak ada data di SlideRepository
  • Slider tampil dengan placeholder saat file gambar slide tidak ditemukan di storage
  • Slider tampil normal saat ada data slide dan gambar tersedia
  • Navigasi carousel (prev/next buttons) berfungsi dengan placeholder
  • Responsive layout di mobile (min-height tetap konsisten)
  • Regression Testing - fitur CMS slide management tidak terpengaruh

Screenshots / Video

simplescreenrecorder-2026-05-19_14.05.09.mp4

Sebelum:

Area slider kosong atau menampilkan ikon broken image, layout collapse

Sesudah:

Area slider menampilkan gambar placeholder "no-image.png" dengan tinggi konsisten 350px, gambar ter-center di tengah carousel

Breaking Changes

Tidak ada

Migration Guide

Tidak diperlukan

References


Catatan tambahan: Perubahan ini bersifat visual-only dan tidak mempengaruhi logic bisnis atau data slide di database. Placeholder menggunakan asset yang sudah tersedia di public/assets/img/no-image.png.

@pandigresik pandigresik requested a review from affandii06 May 19, 2026 07:18
@github-actions
Copy link
Copy Markdown

🔄 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 #1040

@affandii06 affandii06 merged commit 5b7a59c into rilis-dev May 20, 2026
@affandii06 affandii06 deleted the fix/placeholder_slide_website branch May 20, 2026 03:21
affandii06 added a commit that referenced this pull request May 22, 2026
* Fix/detail statistik pangan tidak tampil (#989)

* fix: data detail statistik tidak tampil

* fix: perbaikan detail presisi statistik pangan

* fix: perbaikan detail presisi statistik pangan

* Tambahkan test

* hapus

* fix: tambahkan link detail untuk belum mengisi, jumlah dan total agar seragam

* perbaikan judul

* perbaikan filter tahun

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Feat: detail statistik presisi sandang (#1014)

* fix: data detail statistik tidak tampil

* fix: perbaikan detail presisi statistik pangan

* fix: perbaikan detail presisi statistik pangan

* Tambahkan test

* hapus

* fix: tambahkan link detail untuk belum mengisi, jumlah dan total agar seragam

* feat: detail statistik sandang

* perbaikan sesuai rekomendasi AI review

* perbaiki test

* perbaikan judul

* perbaikan test

* perbaikan filter tahun

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request Feat: detail statistik papan (#1016)

* simpan dulu

* feat: detail presisi papan

* tambahkan test

* perbaikan mengikuti rekomendasi AI review

* perbaikan filter tahun

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From feat: detail statistik pendidikan (#1017)

* feat: detail statistik pendidikan

* perbaikan sesuai rekomendasi AI review

* perbaikan test

* perbaikan filter tahun

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From Feat: detail statistik ketenagakeerjaan (#1019)

* simpan dulu

* feat: detail  statistik ketenagakerjaan

* perbaikan filter tahun

* perbaikan filter tahun

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From feat: detail statistik keagamaan (#1020)

* feat: detail statistik keagamaan

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From fix: tinymce pada artikel (#1022)

* fix: tinymce pada artikel

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From fix: error ketika halaman login menampilkan captcha (#1024)

* fix: error ketika halaman login menampilkan captcha

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From Validasi kategori artikel ketika membuat artikel baru (#1027)

* validasi kategori artikel ketika membuat artikel baru

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From Fix: ijinkan upload video pada tinymce (#1029)

* fix: tinymce pada artikel

* fix: ijinkan upload video pada tinymce

* allow tag video

* perbaikan config

* upgrade versi tinymce

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From Perbaiki tekan enter di form kategori membuat refresh halaman (#1028)

* perbaiki tekan enter membuat refresh halaman

* sesuaikan label aksi tertukar di tabel kategori

* perbaiki tombol simpan melalui cursor

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From Validasi kategori artikel ketika membuat artikel cms baru (#1035)

* Validasi kategori artikel ketika membuat artikel cms baru

* test

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Feat/detail statistik jaminan sosial (#1030)

* feat: Detail statistik Jaminan Sosial

* simpan dulu

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From feat: detail statistik kesehatan (#1034)

* feat: detail kesehatan

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From feat: detail statistik seni (#1036)

* feat: detail statistik seni

* perbaikan judul

* tambahkan judul

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From fix: gambar logo desa pada website desa aktif (#1038)

* fix: gambar logo desa pada website desa aktif

* fix: gambar logo desa pada website desa aktif

* ikuti rekomendasi AI review

* perbaiki test

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From fix: perbaikan tampilan website ketika slider belum diisi (#1040)

* fix: perbaikan tampilan website ketika slider belum diisi

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From feat: datatable debounce (#1042)

* feat: datatable debounce

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* rilis v2605.0.1

---------

Co-authored-by: ahmad afandi <ahmad.afandi85@gmail.com>
Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>
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