# Changelog Semua perubahan penting di proyek **Flight Schedules Connector** akan didokumentasikan di file ini. Format mengikuti [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), dan versi mengikuti [Semantic Versioning](https://semver.org/). ## [1.7.10] - 2025-08-25 ### Added - Shortcode attribute `show_columns="..."` yang bisa dipilih via Generator (multi-select). - Nilai dikirim juga ke REST `/board`. - Shortcode builder menampilkan `show_columns="col1,col2"`. - Dukungan builder untuk flag eksplisit `search="0"` dan `show_full_btn="0"`. - Sekarang jika checkbox tidak dicentang, builder tetap menambahkan `search="0"` dan `show_full_btn="0"` ke shortcode. - Frontend: `FSC_Frontend::render_board()` membaca opsi `search` dan `show_full_btn` dari shortcode/preview, bukan hanya dari Settings global. - Toolbar fullscreen button menggunakan ikon Font Awesome ✈️ (paper-plane) warna biru, inline di board. - Debounce render di generator (80ms) untuk mencegah spam fetch saat input berubah cepat. ### Changed - **generator.js**: - Payload sekarang menyertakan `show_columns` array. - Shortcode builder output selalu menyertakan nilai eksplisit `search` / `show_full_btn` (1 atau 0). - Preview REST `/board` juga menerima properti `show_columns`. - Event wiring diperluas supaya Layout & Theme langsung trigger refresh. - **frontend.css**: - Penataan ulang untuk konsistensi tiap template (table/list/cards/compact/mobile/panel). - Tombol fullscreen: ikon biru, tanpa background, hover lebih halus. - Toolbar & board layout lebih rapih, responsif lebih baik. - **class-fsc-frontend.php**: - Render board sekarang menyembunyikan tombol fullscreen jika `show_full_btn="0"`. - Menyembunyikan toolbar search jika `search="0"`. ### Fixed - Bug di mana meskipun shortcode menonaktifkan `show_full_btn="0"`, tombol fullscreen tetap muncul. - Bug di mana pilihan Layout/Theme di Generator tidak mengupdate Live Preview. - Preview REST error karena payload `show_columns` tidak dikirim dengan format array. --- ## [1.7.9] - 2025-08-24 ### Added - **Fullscreen toggle button redesign** - Menggunakan ikon Font Awesome `` alih-alih teks. - Styling baru: ikon biru polos (`#2271b1`) tanpa background box. - Hover/focus → biru lebih gelap (`#135e96`) untuk feedback visual. - Fallback JS handler di footer: memastikan toggle fullscreen berfungsi walau `frontend.js` tidak tersedia. ### Changed - `class-fsc-frontend.php`: refactor toolbar builder untuk menampilkan tombol fullscreen dengan ikon FA. - `frontend.css`: override khusus `.fsc-btn--fullscreen` → hilangkan background & border, gunakan warna biru ikon. ### Notes - Pastikan Font Awesome 6.5.2 (CDN) termuat via enqueue di plugin. - Tombol hanya muncul bila opsi `show_full_btn=1` (shortcode) **atau** setting “Enable Fullscreen” aktif. ## [1.7.8] - 2025-08-24 ### Added - Setting "Enable Demo Data (Provider: None)" to show realistic sample flights in Generator/Shortcode when no provider is configured. ### Changed - Mock provider only activates when provider=none AND demo setting is enabled. ### Added - Info notice in Settings → Connector when Demo Data is enabled and Provider=None. ## [1.7.7] - 2025-08-24 ### Added - Compat layer (PHP 7.0–8.x): polyfills for starts_with/ends_with/contains/array_key_first. ### Changed - Admin: Clear Cache now uses FSC_Compat::starts_with(), removing PHP 8 hard dependency. ### Fixed - Data: removed arrow functions for broader PHP compatibility. ## [1.7.6] - 2025-08-24 ### Added - REST endpoints: /status, /airports, /board (HTML renderer). - Frontend renderer & assets wiring; shortcode ["fsc"] with auto-refresh. - Admin Generator JS (live preview) using REST /board. ### Improved - Data layer abstraction via FSC_Data using `fsc_fetch_flights` filter (providers plug-in). ### Fixed - English-only UI copy across admin & frontend components. ## [1.7.5] - 2025-08-24 ### Added - “Test Connection” button in Settings → Connector with AJAX handler `fsc_test_connection`. ### Improved - Developer UX: quick validation for provider credentials directly from settings. ## [1.7.4] - 2025-08-24 ### Added - Connector Settings page (admin view + settings registration). - AJAX “Test Connection” for AviationStack, FlightAware (AeroAPI), and Aerodatabox. ### Improved - Admin styles integrated across Settings and Generator pages. ## [1.7.3] - 2025-08-24 ### Added - FlightAware (AeroAPI) provider adapter via `fsc_fetch_flights`. - Aerodatabox provider adapter via `fsc_fetch_flights`. ### Notes - Configure provider & keys in Settings → Connector. - Basic throttling added to reduce external API pressure. ## [1.7.2] - 2025-08-24 ### Added - AviationStack provider adapter (skeleton) via filter `fsc_fetch_flights`. - Rate limit guard + transient cache alignment. ### Notes - Configure in Settings → Connector (provider, API key, endpoint). --- ## [1.7.1] - 2025-08-24 ### Added - i18n bootstrap (`includes/class-fsc-i18n.php`) with textdomain loader and optional force-en_US. ### Changed - All UI strings converted to English as the source language. - Wrapped strings with WordPress i18n functions (__/esc_html__/etc.) under `fsc` domain. ### Notes - Use `wp i18n make-pot . languages/fsc.pot --domain=fsc` to regenerate translation template. - Optional: provide `languages/fsc-id_ID.po/mo` for Indonesian UI later. ## [1.7.0] - 2025-08-23 ### Added - **Shortcodes & Generator (UI)** - Airport field dengan autocomplete (`seed-airports.json`), default: CGK. - Direction: Arrivals, Departures, Both (default: Both). - Theme: Light / Dark (default: Light). - Fullscreen toggle. - Auto Refresh interval (0 / 15 / 30 / 60 detik). - Search/Filter box (default: Yes). - Page Size / Infinite Scroll (default: 25). - Timezone: Site atau Airport. - Custom CSS Class (opsional). - **Live Preview** pada Generator - Menggunakan REST API bila tersedia. - Fallback ke data seed/mock bila REST tidak aktif. - Auto refresh preview sesuai interval. - **Display Templates** - Table, List, Cards. - Compact, Mobile Card, Panel (baru). - **Seed Data Extended** - File `data/seed-airports.json` berisi ±50 bandara populer global + Indonesia. - **Tools Page** - Tombol *Clear Cache* (hapus semua transient `fsc_cache_*`). - Debug Info (dir, url, versi plugin, REST base). - **Admin CSS (`assets/css/admin.css`)** - Styling generator, card, preview, form table, tombol, dan Select2. - **Status Colors** - Warna khusus untuk Scheduled, Boarding, Departed, Arrived, Delayed, Cancelled, Diverted. ### Changed - **Refactor Modular** - Kelas dipisah: `FSC_Admin`, `FSC_REST`, `FSC_Frontend`, `FSC_License`. - **Settings Tabbed** - General, Connector, Data, Themes, Modules, Status, License. - Semua opsi disanitasi dengan default jelas. - **Bootstrap Kompatibel** - `FSC_Admin::init()` ditambahkan agar sesuai dengan pemanggilan di file utama. - **Preview** - Status badge menampilkan sumber data: REST / Cache / Mock. ### Fixed - **Fatal error**: pemanggilan `FSC_Admin::init()` sebelumnya tidak ada → ditambahkan back-compat method. - Duplikasi render ketika pilih *Arrivals* / *Departures* → diperbaiki agar hanya tampil sekali. --- ## [1.6.0] - 2025-08-21 ### Added - Global airports list + geolocate. - Infinite scroll di board. - Shortcode dasar `["fsc board airport="CGK""]`. - Fallback sederhana untuk preview generator. ### Changed - Preview generator lebih stabil, dengan pesan error bila REST nonaktif. - Frontend board bisa auto-refresh manual. --- ## [1.5.x] - 2025-08 (early releases) ### Added - Versi awal plugin dengan konektor jadwal penerbangan. - REST endpoints dasar (`/status`, `/board`) & integrasi frontend board. - Basic shortcode `["fsc board"]`. --- ## [Unreleased] ### Planned - **Themes Module** (Dark Mode + Fullscreen FIDS) → gagal build, perlu revisi. - **Purchase Code Checker + Envato Updater** (untuk distribusi CodeCanyon). - Optimasi cache query (transient/DB). - Dokumentasi shortcode & hooks (developer-friendly).