# ThrillWiki Frontend JavaScript Refactoring Plan **Date**: 2025-01-15 **Status**: In Progress **Priority**: CRITICAL ## Overview Refactoring ThrillWiki frontend to comply with the core rule: "🚨 **ABSOLUTELY NO Custom JS** - HTMX + AlpineJS ONLY". The audit identified 20 custom JavaScript files that need to be removed and their functionality migrated to HTMX endpoints and AlpineJS components in templates. ## Current Violations ### Custom JavaScript Files to Remove (19 files): 1. `static/js/thrillwiki-enhanced.js` (600+ lines) - ❌ REMOVE 2. `static/js/alpine-components.js` (500+ lines) - ⚠️ REFACTOR (contains valid AlpineJS components) 3. `static/js/alerts.js` - ❌ REMOVE 4. `static/js/dark-mode-maps.js` - ❌ REMOVE 5. `static/js/geolocation.js` - ❌ REMOVE 6. `static/js/htmx-maps.js` - ❌ REMOVE 7. `static/js/location-autocomplete.js` - ❌ REMOVE 8. `static/js/location-search.js` - ❌ REMOVE 9. `static/js/main.js` - ❌ REMOVE 10. `static/js/map-filters.js` - ❌ REMOVE 11. `static/js/map-integration.js` - ❌ REMOVE 12. `static/js/map-markers.js` - ❌ REMOVE 13. `static/js/maps.js` - ❌ REMOVE 14. `static/js/mobile-touch.js` - ❌ REMOVE 15. `static/js/park-map.js` - ❌ REMOVE 16. `static/js/photo-gallery.js` - ❌ REMOVE 17. `static/js/roadtrip.js` - ❌ REMOVE 18. `static/js/search.js` - ❌ REMOVE 19. `static/js/theme.js` - ❌ REMOVE ### Files to Keep: - `static/js/alpine.min.js` - ✅ KEEP (AlpineJS library) ## Functionality Migration Strategy ### 1. AlpineJS Components (from alpine-components.js) **Action**: Move to inline `