Changelog
Riwayat perubahan dan pembaruan situs.
Juni 2026
chore: resolve rebase conflict, remove old cerita directory
29 Juni 2026
feat: rebrand from KKN team portal to kecamatan portal
29 Juni 2026
Update Pariwisata “taw-kramat-suci”
29 Juni 2026
Create Cerita “akshdjklsahdlka”
29 Juni 2026
Update Cerita “fidel”
29 Juni 2026
docs: add spec and implementation plan for bugfix + improvements
29 Juni 2026
feat: extract ContentCard base component for shared card pattern
29 Juni 2026
feat: add UMKM and festival entries to dynamic sitemap
29 Juni 2026
feat: add content validation script for frontmatter checking
29 Juni 2026
feat: add JSON-LD structured data helpers for SEO
29 Juni 2026
feat: add styled error boundaries for root and per-route pages
29 Juni 2026
feat: add skeleton loading states for all content pages
29 Juni 2026
feat: add backdrop overlay behind mobile navigation menu
29 Juni 2026
fix: improve text readability with stronger text-shadow and better contrast on hero and page heroes
29 Juni 2026
fix: modal centering on mobile, bottom sheet behavior, swipe-to-close, and UMKM overflow
29 Juni 2026
fix: admin CMS page — local_backend in config, rewritten index.html, fix rewrites and source maps
29 Juni 2026
fix: quote cerita frontmatter dates and coerce string type to prevent YAML parsing errors
29 Juni 2026
fix: replace arbitrary cubic-bezier easing with custom token, move shadow utilities to tailwind config
29 Juni 2026
fix: production 500 error, huge navbar, and CMS issues
29 Juni 2026
feat: comprehensive frontend refactor — decorations, layout fixes, responsiveness
29 Juni 2026
Create Cerita “fidel”
29 Juni 2026
Update Cerita “persiapan-festival”
29 Juni 2026
fix: popup must SEND handshake first, not listen for it
29 Juni 2026
fix: implement proper Decap CMS auth popup handshake protocol
29 Juni 2026
fix: implement full Decap CMS OAuth popup protocol in /api/auth
29 Juni 2026
fix: handle OAuth callback in GET handler to stop infinite redirect
29 Juni 2026
fix: add GET handler to /api/auth for Decap CMS OAuth redirect
29 Juni 2026
fix: convert OAuth endpoint to Next.js Route Handler
29 Juni 2026
fix: admin OAuth login + add Vercel Speed Insights
29 Juni 2026
feat: CMS-driven content, Google Maps, CeritaStats, modal, mobile, docs
29 Juni 2026
fix: CMS repo mismatch, pariwisata duplicate h1, e2e test mismatches
29 Juni 2026
feat: CMS as source of truth, a11y/visual audit, map fix, decap-server integration
28 Juni 2026
feat: update site metadata to village-profile framing
27 Juni 2026
feat: add purposeful micro-interactions - hero parallax, card hover, countdown pulse, section reveals
27 Juni 2026
feat: add TMA XLSX import pipeline for Air & Tanah data
27 Juni 2026
feat: update homepage grid, map UMKM layer, CMS config, and sitemap for new sections
27 Juni 2026
feat: add Lingkungan page with GIS gallery and map deep-link
27 Juni 2026
feat: add Air & Tanah page with TMA data table and chart
27 Juni 2026
feat: migrate UMKM schema from product to kategori, require lat/lng
27 Juni 2026
feat: restructure navbar with grouped dropdowns for Profil and Data & Analisis
27 Juni 2026
fix: Kilas Sambelia gallery fallback, reframe to Potensi Desa, verify social links
27 Juni 2026
feat: remove KKN-centric sections (kegiatan, mitra, SponsorCta, tim)
27 Juni 2026
fix: adjust hero image crop to show boat and beach
27 Juni 2026
feat: replace Vercel favicon with village logo
27 Juni 2026
fix: hero image, mitra, /peta crash, tentang images, image optimization, footer
27 Juni 2026
fix: add missing lib/links.ts with petaLink helper, wire tab query param into MapPanel
26 Juni 2026
docs: self-review findings and future work
26 Juni 2026
refactor(listings): split listing pages into server page + client list component
26 Juni 2026
docs: add content contributor guide
26 Juni 2026
feat(seo): add per-page metadata and title template
26 Juni 2026
feat(content): replace hero and placeholders with real nature photos and descriptions
26 Juni 2026
feat(listings): add DetailModal popups and cross-links across content pages
26 Juni 2026
feat(links): cross-linking helpers and query-driven map state
26 Juni 2026
feat(card): add modal detail trigger to DataCard
26 Juni 2026
feat(modal): reusable DetailModal with chips, prose body, map, and cta
26 Juni 2026
fix(leaflet): stop default marker icon requests causing 500s
26 Juni 2026
chore(gitignore): ignore superpowers worktrees
26 Juni 2026
docs(spec): content and ux refresh spec
26 Juni 2026
feat(website): full visual refresh, real photos, animations, CI
26 Juni 2026
feat(pages): restyle cerita, tentang-sambelia, mitra, pariwisata detail
23 Juni 2026
feat(content-pages): restyle pariwisata, irigasi, kesehatan, kegiatan, umkm
23 Juni 2026
feat(peta): MapFilterChips and warm map panel styling
23 Juni 2026
feat(festival): terracotta hero, CountdownStrip, themed timeline cards
23 Juni 2026
feat(beranda): new hero, Kilas Sambelia, SponsorCta, themed cards
23 Juni 2026
feat(shell): pill nav active states, warm wine footer, restyled 404
23 Juni 2026
refactor(content): remove off-theme JPGs, point covers at on-brand SVGs
23 Juni 2026
feat(assets): generate on-brand illustrated placeholders
23 Juni 2026
feat(components): CountdownStrip, MapFilterChips, KilasSambelia, SponsorCta
23 Juni 2026
feat(components): Pill, GradientText, restyled SectionHeader/StatCard/DataCard/MotifDivider
23 Juni 2026
feat(design-system): finalize Figma-derived tokens, gradient text, shadows, motif animation
23 Juni 2026
docs: visual refresh implementation plan
23 Juni 2026
docs: visual refresh design spec (clean Figma-informed interpretation)
23 Juni 2026
feat: Figma design reflection, Tentang Sambelia, BPS import script
23 Juni 2026
docs: deploy guide + CMS content guide for non-technical team members
22 Juni 2026
feat: expand content — 5 pariwisata, 3 irigasi, 3 kesehatan, 3 festival, 3 kegiatan, 4 tim, 3 cerita, 3 umkm, 3 mitra
22 Juni 2026
feat: styling beautification — SectionHeader tones, card hover lift, festival hero, prose, footer gradient, warmer empty states
22 Juni 2026
feat: mobile responsive — hamburger nav, responsive hero, map sidebar caps, mobile E2E
22 Juni 2026
perf: trim fonts 2.9MB -> 748KB, generate static OG PNG, add typography plugin
22 Juni 2026
chore: ignore test-results artifacts
20 Juni 2026
fix: E2E smoke tests — use banner role, skip admin in dev (static-serve quirk)
20 Juni 2026
feat: 404, robots, sitemap, OG metadata, Vercel Analytics, Playwright E2E
20 Juni 2026
feat: Decap CMS admin + config + OAuth proxy (deploy-time)
20 Juni 2026
feat: Peta dual-map (InteractiveMap + GisMap + MapPanel), GIS manifest builder
20 Juni 2026
feat: all page routes (Beranda, Profil Tim, Pariwisata + detail, Irigasi, Kesehatan, Festival, Kegiatan, Cerita + detail, UMKM, Mitra)
20 Juni 2026
feat: reusable display components (StatCard, DataCard, etc.)
20 Juni 2026
feat: Logo, Nav, Footer components
20 Juni 2026
feat: map marker aggregator from content collections
20 Juni 2026
feat: content loaders, settings, seed content
20 Juni 2026
feat: add zod schemas for all content collections
20 Juni 2026
chore: set up vitest + Playwright
20 Juni 2026
feat: initialize shadcn/ui + core primitives
20 Juni 2026
feat: define Sasak palette as CSS variables + Tailwind tokens
20 Juni 2026
fix: split Beautique Condensed into own font instance, correct serif->sans-serif fallback
20 Juni 2026
feat: wire Gontserrat + Beautique Display fonts via next/font/local
20 Juni 2026
fix: pin @next/mdx to ^14.2.35 to match next major
20 Juni 2026
chore: scaffold Next.js 14 with TypeScript, Tailwind, MDX, static export
20 Juni 2026
docs: make implementation plan local-first (stubs, no deploy until gate)
20 Juni 2026
docs: add Melukis Sambelia implementation plan
20 Juni 2026
docs: add Melukis Sambelia design spec
20 Juni 2026
Initial commit
20 Juni 2026