v1.2.0
Terbaru StableFitur Baru
- Menambahkan tabel tracking progres daily login streak pada halaman profil member:
- Header dengan efek animasi api aktif saat streak > 0 dan tampilan rekor streak
- Tabel progres 7 hari terakhir dengan indikator visual (✓ login, ✗ tidak login, ⏰ hari ini)
- Statistik grid: Login bulan ini & Total poin yang diperoleh dari login
- Progress bar menuju milestone berikutnya (7, 14, 30, 60, 90, 180, 365 hari)
- Tips random untuk memotivasi user mempertahankan streak
- Fungsi PHP baru
ps_member_get_weekly_streak_progress()untuk mengambil data login 7 hari terakhir - Fungsi PHP baru
ps_member_get_streak_stats()untuk mengambil statistik lengkap streak - Layout responsif: Di mobile/tablet tampil di sidebar, di desktop tampil di main content area
- CSS visibility rules dengan class
sidebar-onlydanmain-only - Desktop layout dengan grid hari lebih besar dan bagian bawah dalam 3 kolom horizontal
- Redesain style dan layout footer halaman dengan tampilan yang lebih modern dan bersahabat pada semua perangkat:
- Desain footer baru dengan layout 4 kolom responsif
- Typography modern dengan font hierarchy yang jelas
- Color scheme yang konsisten dengan brand identity
- Spacing dan padding yang seimbang untuk kenyamanan visual
- Support dark mode dengan penyesuaian warna yang harmonis
- Menambahkan fungsi langganan email pada bagian footer:
- Form input email dengan desain minimalis dan modern
- Button submit dengan efek hover dan loading state
- Validasi form client-side dengan feedback user-friendly
- Integrasi dengan sistem backend untuk penyimpanan data subscriber
- Responsive design yang menyesuaikan pada semua ukuran layar
- Menambahkan fungsi dinamis pada tombol mobile auth (Login/Profil & Daftar/Logout) pada mobile menu:
- PHP logic
is_user_logged_in()untuk deteksi status login - Jika belum login: Menampilkan tombol
LogindanDaftar - Jika sudah login: Menampilkan tombol
ProfildanLogout - Tombol Profil mengarah ke
/member/profile/ - Tombol Logout menggunakan
wp_logout_url()dengan konfirmasi - Styling CSS khusus untuk tombol profil (biru) dan logout (merah)
- Support dark mode dengan warna yang disesuaikan
- JavaScript enhancement dengan ripple effect dan loading state
- Responsive design yang menyesuaikan pada semua ukuran layar
- PHP logic
- Menambahkan mekanisme baru pada game "Tebak Tokoh" dengan sistem timer, penalti petunjuk, konfigurasi per kesulitan, dan database pertanyaan baru:
- Timer Countdown: Batas waktu 45 detik (default) untuk menebak setiap tokoh
- Tampilan timer di header game dengan perubahan warna: Normal (biru) → Warning ≤10 detik (kuning) → Danger ≤5 detik (merah dengan animasi pulse)
- Otomatis lanjut ke tokoh berikutnya jika waktu habis dengan status "Waktu Habis!"
- Pengaturan
tokoh_time_limitdi panel "Mekanik Game" (range: 10-120 detik) - Sistem Penalti Petunjuk: Setiap petunjuk yang dibuka mengurangi poin potensial sebesar 15% (default)
- Panel UI "Perhitungan Poin" menampilkan: Poin Dasar, Pengurangan Petunjuk, dan Potensi Poin (real-time update)
- Minimum poin yang bisa didapat: 10% dari poin dasar
- Pengaturan
tokoh_hint_penaltydi panel "Mekanik Game" (range: 0-50%) - Jumlah Tokoh per Kesulitan: Konfigurasi terpisah untuk setiap tingkat kesulitan
- Pengaturan
tokoh_count_easy,tokoh_count_medium,tokoh_count_hard(range: 1-20 tokoh) - Tombol "Lewati Tokoh" untuk skip jika tidak tahu jawaban
- Feedback poin setelah menjawab dengan breakdown perhitungan lengkap
- CSS baru:
.tokoh-timer,.tokoh-points-info,.feedback-points-earned - Menyesuaikan Deskripsi serta informasi petunjuk pada beberapa tokoh
- Menambahkan 10 database tokoh pada tingkat kesulitan mudah
- Menambahkan 15 database tokoh pada tingkat kesulitan sedang
- Menambahkan 10 database tokoh pada tingkat kesulitan sulit
- Meningkatkan point dasar yang diperoleh dari 20 menjadi 25
Peningkatan & Optimasi
- Optimasi tata letak dan layout halaman profil member pada perangkat mobile dan tablet:
- Breakpoint responsif lengkap: 1024px (Tablet), 768px (Mobile), 480px (Small Mobile)
- Profile card dengan avatar centered di mobile dan horizontal di tablet
- Stats dalam grid 3 kolom yang tetap proporsional di semua ukuran layar
- Quick actions berubah menjadi icon-centered grid 2 kolom di mobile
- Form input full-width di mobile dengan padding dan font yang disesuaikan
- Badge grid 2 kolom dengan deskripsi yang di-truncate menggunakan line-clamp
- Touch-friendly enhancements dengan min-height 48-60px untuk tombol dan input
- Safe area insets untuk perangkat dengan notch menggunakan
env(safe-area-inset-*) - Landscape orientation adjustments dengan layout horizontal untuk profile card
- Dark mode improvements untuk stat items dan avatar upload section
- Active states untuk touch feedback dengan transform scale effect
- Optimasi tata letak dan layout halaman Pengajuan Pinjaman Buku pada perangkat mobile dan tablet:
- Progress Steps - Tetap horizontal dengan ukuran yang lebih kompak dan garis penghubung yang berfungsi di semua ukuran layar
- Kartu Buku - Layout baris dipertahankan untuk efisiensi ruang, dengan ukuran cover dan typography yang disesuaikan per breakpoint
- Form Container - Padding dan border-radius disesuaikan untuk tampilan lebih nyaman di layar kecil
- Breakpoint responsif lengkap: 1199px, 1023px, 767px, 639px, 479px
- Sidebar - Grid 3 kolom di tablet, 2 kolom di layar lebih kecil, dan 1 kolom di mobile
- Preselected Book Banner - Tombol aksi di posisi fixed bottom pada mobile untuk akses mudah
- Touch device optimizations
- Safe area insets untuk perangkat dengan notch
- Dark mode responsive adjustments
- Focus states untuk accessibility
- Print styles
- Smooth scroll behavior
- Optimasi tata letak dan layout halaman dosen pada perangkat mobile dan tablet:
- Menambahkan field (url) baru kedalam database dosen "Profil SINTA" dan "Profil Scholar"
- Menampilkan tombol SINTA dan Scholar dengan ikon SVG khusus pada halaman dosen (jika ada), Posisi di bawah meta grid dan sebelum tombol aksi
- Menambahkan atribut keamanan (rel="noopener noreferrer") Link field saat terbuka di tab baru
- Breakpoint responsif lengkap: 1200px, 1024px, 768px, 640px, 480px, 360px
- Grid kartu menyesuaikan otomatis untuk setiap ukuran layar
- Filter section lebih kompak di mobile
- Tombol profile links (SINTA/Scholar) responsif dengan efek hover
- Typography dan spacing yang proporsional di semua device
- Dark mode support untuk tombol SINTA & Scholar
- Optimasi tata letak dan layout halaman penukaran rewards member pada perangkat mobile dan tablet:
- Desain responsif dengan grid layout yang menyesuaikan ukuran layar
- Penyesuaian ukuran font dan spacing untuk keterbacaan optimal
- Optimasi tata letak kartu rewards agar lebih compact pada layar kecil
- Perbaikan alignment dan padding pada elemen-elemen interaksi
- Optimasi tata letak dan layout halaman berita pada perangkat mobile dan tablet:
- 5 breakpoint responsif baru: 1200px, 992px, 768px, 480px, 360px
- Horizontal scrollable category chips di tablet/mobile (tidak lagi stack vertikal)
- Touch-friendly dengan area sentuh minimal 44px
- Collapsible filter di mobile dengan animasi smooth
- Landscape mode optimasi khusus
- Safe area insets untuk perangkat dengan notch
- Reduced motion untuk aksesibilitas
- Dark mode dukungan lengkap untuk komponen baru
- Mobile filter toggle button untuk show/hide filter di layar kecil
- Shorter placeholder text untuk search input
- ARIA labels untuk aksesibilitas
- JavaScript toggle untuk filter collapse dengan animasi
- Grid berubah dari 3 → 2 → 1 kolom sesuai ukuran layar
- Newsletter form yang lebih baik di mobile
- Pagination yang lebih compact di layar kecil
- Scroll indicator gradient untuk category chips
- Optimasi tata letak dan layout halaman Leaderboard/Peringkat pada perangkat mobile dan tablet:
- 5 breakpoint responsif baru: 1200px, 1024px, 768px, 480px, 360px, Landscape orientation support
- Optimasi Podium: (1) Tablet: 3 kolom dengan ukuran lebih kecil, (2) Mobile: Stack vertikal dengan rank 1 di atas, (3) Landscape: Kembali ke 3 kolom compact
- Optimasi Tabel: (1) Desktop/Tablet: Tabel standar, (2) Mobile (< 768px): Diubah menjadi card-style - setiap row menjadi card tersendiri yang lebih mudah dibaca
- Optimasi Tab buttons responsif (icon only di layar kecil)
- Optimasi My Rank Card: Grid 2x2 untuk statistik di mobile
- Optimasi Touch-friendly: Min height 44-48px untuk tombol
- Optimasi Safe area support untuk notched devices (iPhone X+)
- Optimasi Reduced motion support untuk aksesibilitas
- Optimasi Spacing dan font size proporsional di setiap breakpoint
- Peningkatan panel "Kelola Game" bagian "Tokoh" dengan fitur sorting dan view mode:
- Menambahkan dropdown filter kesulitan (Mudah/Sedang/Sulit)
- Menambahkan dropdown sorting dengan opsi: Nama A-Z, Kesulitan (Mudah-Sulit), Kesulitan (Sulit-Mudah), Kategori, Terbaru
- Menambahkan toggle view mode (Grid/List) dengan ikon di toolbar
- List view menampilkan tabel dengan kolom: Foto, Nama, Tahun, Kategori, Kesulitan, Petunjuk, Status, dan Aksi
- CSS baru:
.ps-game-view-toggle,.ps-game-tokoh-list-view,.ps-game-difficulty-badge
- Peningkatan panel "Kelola Game" bagian "Laporan" dengan perbaikan tampilan chart:
- Memperbaiki chart "Tren Harian" dan "Breakdown per Tipe Game" yang memanjang jauh ke bawah
- Membungkus canvas chart dalam container dengan tinggi tetap (280px)
- Mengubah
maintainAspectRatiomenjaditruedenganaspectRatio: 2 - Chart sekarang tampil proporsional dan mudah dibaca tanpa perlu scroll
- CSS baru:
.ps-game-chart-containerdengan max-height constraint
Technical Fix
- Menggabungkan CSS halaman rewards member menjadi satu file utuh:
- Sebelumnya CSS berada di file terpisah, sekarang terkonsolidasi dalam satu file utuh
- Mengurangi jumlah HTTP request untuk loading yang lebih cepat
- Meningkatkan maintainability dengan struktur CSS yang terorganisir
- Menghilangkan duplikasi kode CSS yang sebelumnya tersebar
- Optimasi performa dengan CSS bundling dan minification
- Melakukan Refactor kode pada halaman dev log
- Memindahkan CSS ke file terpisah dengan semua styles termasuk CSS variables, responsive breakpoints, dan dark mode support.
- Memindahkan JS dan dioptimasi dengan menggabungkan fungsi updateTimeSinceRelease() yang berulang menjadi konfigurasi array yang lebih bersih.
- Menambahkan PHP fungsi devlog_enqueue_assets() untuk memuat CSS dan JS menggunakan WordPress wp_enqueue_style() dan wp_enqueue_script().
- Memperbaiki masalah fungsi pencarian pada halaman dosen tidak berfungsi dengan benar (JavaScript)
- Menggunakan .attr() sebagai pengganti .data() - Method .attr('data-name') mengembalikan nilai sebagai string murni
- Menambahkan helper function toSearchableString() - Mengkonversi semua nilai ke lowercase string dengan aman
- Menambahkan function containsSearchTerm() - Menggunakan .indexOf() yang lebih kompatibel dengan berbagai browser
- Memperbaiki fungsi sorting - Menggunakan localeCompare() untuk perbandingan string yang lebih akurat
- Mengganti alert() dengan notifikasi visual yang lebih modern untuk fitur copy link
- Memperbaiki masalah hasil pencarian menjadi invisible/belum dirender pada halaman dosen (JavaScript)
- initializePage() - Memaksa semua card visible saat halaman dimuat dengan override CSS AOS
- .stop(true, true) - Menghentikan animasi yang sedang berjalan sebelum memulai yang baru
- Menambahkan CSS override untuk memastikan cards selalu terlihat setelah halaman dimuat
- Memperbaiki masalah mobile menu dimana tombol auth tidak muncul pada perangkat mobile/tablet:
- Menambahkan CSS media query untuk menampilkan tombol hanya di mobile/tablet
- Memastikan tombol auth memiliki z-index yang cukup tinggi
- Menambahkan padding dan spacing yang sesuai untuk mobile layout
- Memperbaiki positioning tombol dalam mobile menu container
- Memperbaiki masalah konten dev log v1.2.0 terpotong dan tidak ditampilkan seutuhnya:
- Meningkatkan nilai
max-heightpada.devlog-card.open .devlog-card-contentdari 5000px menjadi 15000px - Memperbarui versi CSS enqueue dari 1.2.0 menjadi 1.2.1 untuk cache busting
- Memastikan semua konten changelog dapat ditampilkan tanpa terpotong
- Meningkatkan nilai
- Memperbaiki panel "Kelola Game" bagian "Kategori & Era" dimana fungsi tambah kategori tidak berfungsi:
- Memperbaiki logika penyimpanan kategori ke database
game_categories - Menambahkan validasi duplikasi sebelum insert untuk mencegah kategori ganda
- Mengintegrasikan kategori tersimpan dengan kategori yang sudah digunakan dalam data game
- Menambahkan tombol hapus untuk kategori yang belum digunakan (count = 0)
- Kategori baru akan muncul di daftar dengan penanda "0 soal/event/tokoh"
- Pesan error yang informatif jika kategori sudah ada
- Memperbaiki logika penyimpanan kategori ke database
- Memperbaiki pengaturan "Jumlah Event Timeline" (
timeline_events_count) yang tidak terimplementasi:- Memperbaiki JavaScript untuk membaca
timeline_events_countdari settings - Sebelumnya nilai hardcoded 5, sekarang menggunakan nilai dari pengaturan admin
- Update fungsi
startTimelineWithDifficulty()dimember-system.js - Game Timeline Challenge sekarang menggunakan jumlah event sesuai konfigurasi admin
- Memperbaiki JavaScript untuk membaca
Technical Enhancement
- Menambahkan perhitungan waktu sejak rilis secara dinamis untuk semua versi:
- Menambahkan fungsi PHP
get_days_since_release()untuk perhitungan server-side - Implementasi real-time updates menggunakan JavaScript dengan refresh setiap menit
- Format tampilan waktu: Hari ini, 1 hari lalu, X hari lalu, X bulan lalu, X tahun lalu
- Penambahan ID unik untuk setiap versi:
version-1-0-0-time-since,version-1-1-0-time-since,version-1-2-0-time-since - Integrasi dengan tanggal rilis masing-masing versi: v1.0.0 (30 Des 2025), v1.1.0 (3 Jan 2026), v1.2.0 (5 Jan 2026)
- Perubahan teks statis "Update Terbaru" menjadi output PHP dinamis pada versi v1.1.0 dan v1.2.0
- Perubahan teks statis "1 bulan lalu" menjadi output PHP dinamis pada versi v1.0.0
- Menambahkan fungsi PHP
Ringkasan: Update v1.2.0 fokus pada peningkatan pengalaman pengguna melalui optimasi tampilan mobile & tablet, terutama pada halaman profil member, rewards member, berita, leaderboard, dan dosen. Fitur baru utama adalah tabel tracking progres daily login streak yang menampilkan statistik login 7 hari terakhir, milestone progress, dan tips motivasi dengan layout responsif yang berbeda untuk desktop dan mobile. Perubahan signifikan dilakukan pada desain footer dengan tampilan modern dan penambahan fitur langganan email. Fitur baru ditambahkan berupa sistem tombol mobile auth dinamis yang menyesuaikan status login pengguna (Login/Profil & Daftar/Logout). Game Tebak Tokoh mendapat peningkatan besar dengan sistem timer countdown (30 detik default), penalti pengurangan poin per petunjuk (15% default), dan konfigurasi jumlah tokoh per tingkat kesulitan. Panel Admin "Kelola Game" ditingkatkan dengan fitur sorting/filter kesulitan dan mode list view pada bagian Tokoh, perbaikan tampilan chart pada Laporan, dan perbaikan fungsi tambah kategori pada Kategori & Era. Perbaikan teknis dilakukan pada implementasi pengaturan
timeline_events_count yang sebelumnya tidak berfungsi.
24 commits
15 files changed
1 contributors
Game system upgrade
