From 9b6de370a0b6cb95f46c29f5e1827f9c418ef6cf Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Fri, 17 Apr 2026 12:36:00 -0500 Subject: phase 1: scaffold D3/TopoJSON migration structure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Extract country prison data to assets/data/countries.js (ES module) - Add ISO numeric→alpha-3 lookup table for TopoJSON ID bridging - Download world-atlas countries-110m.json (TopoJSON, 108KB) - Create stub ES modules for map, charts, and UI layers - Replace ZingChart/jQuery script tags with single ES module entry point - Preserve original app.js as _app.js.bak for Phase 2+ reference --- assets/js/ui/compare.js | 2 ++ assets/js/ui/controls.js | 3 +++ assets/js/ui/modal.js | 2 ++ 3 files changed, 7 insertions(+) create mode 100644 assets/js/ui/compare.js create mode 100644 assets/js/ui/controls.js create mode 100644 assets/js/ui/modal.js (limited to 'assets/js/ui') diff --git a/assets/js/ui/compare.js b/assets/js/ui/compare.js new file mode 100644 index 0000000..d933609 --- /dev/null +++ b/assets/js/ui/compare.js @@ -0,0 +1,2 @@ +// Phase 5: side-by-side country comparison panel +export function initCompare(countries) {} diff --git a/assets/js/ui/controls.js b/assets/js/ui/controls.js new file mode 100644 index 0000000..15c1a3b --- /dev/null +++ b/assets/js/ui/controls.js @@ -0,0 +1,3 @@ +// Phase 5: metric selector, label toggle, reset button bindings +export function initControls(onMetricChange, onLabelToggle, onReset) {} +export function getTop5(countries, metricKey) {} diff --git a/assets/js/ui/modal.js b/assets/js/ui/modal.js new file mode 100644 index 0000000..e110764 --- /dev/null +++ b/assets/js/ui/modal.js @@ -0,0 +1,2 @@ +// Phase 5: country detail modal +export function showCountryModal(countryData) {} -- cgit v1.2.3