dawarich/app/javascript/controllers
Claude f1474d105b
Add interactive timeline slider with graph visualization to map
This commit implements a comprehensive timeline feature for the map interface,
allowing users to visualize and navigate through location history interactively.

**New Features:**
- Interactive timeline slider at the bottom of the map
- Real-time graph visualization showing:
  - Speed over time (km/h)
  - Battery level (%)
  - Elevation/altitude (meters)
- Play/pause animation controls for automatic timeline progression
- Smooth synchronization between timeline and map layers
- Graph type selector to switch between different metrics

**Technical Implementation:**
- New Stimulus controller (maps--timeline) for timeline UI and interactions
- Canvas-based graph rendering for performance
- Event-driven architecture for map-timeline communication
- Real-time filtering of points and routes based on timeline position
- Integration with existing MapLibre GL layers

**User Benefits:**
- Clear visualization of movement progression over time
- Easy identification of journey start, end, and direction
- Ability to "replay" trips with animation
- Additional context through speed, battery, and elevation data
- Toggleable visibility to preserve screen space when not needed

**Files Added:**
- app/javascript/controllers/maps/timeline_controller.js
- app/views/map/maplibre/_timeline.html.erb

**Files Modified:**
- app/javascript/controllers/maps/maplibre_controller.js
- app/javascript/controllers/maps/maplibre/map_data_manager.js
- app/views/map/maplibre/index.html.erb
2025-12-23 20:23:07 +00:00
..
maps Add interactive timeline slider with graph visualization to map 2025-12-23 20:23:07 +00:00
add_visit_controller.js Remove some debug logging statements. 2025-11-07 10:32:49 +01:00
application.js Add flashes with StumulusJS 2024-01-03 12:13:00 +01:00
area_creation_v2_controller.js 0.36.2 (#2007) 2025-12-06 20:54:49 +01:00
area_drawer_controller.js 0.36.2 (#2007) 2025-12-06 20:54:49 +01:00
area_selector_controller.js 0.36.2 (#2007) 2025-12-06 20:54:49 +01:00
base_controller.js Update flash message styles 2025-02-15 17:58:33 +01:00
checkbox_select_all_controller.js Hide "Delete Selected" button when no points are selected. 2025-07-26 14:41:03 +02:00
clipboard_controller.js Add a button to copy invitation link for pending invitations 2025-10-14 13:28:56 +02:00
color_picker_controller.js 0.36.0 (#1952) 2025-11-24 19:45:09 +01:00
datetime_controller.js Inherit all stimulus controllers from base_controller 2025-02-15 16:48:03 +01:00
direct_upload_controller.js Remove some debug logging statements. 2025-11-07 10:32:49 +01:00
emoji_picker_controller.js 0.36.0 (#1952) 2025-11-24 19:45:09 +01:00
family_members_controller.js 0.36.3 (#2013) 2025-12-14 12:05:59 +01:00
family_navbar_indicator_controller.js Show family members on the map 2025-09-29 21:31:24 +02:00
imports_controller.js Update importing process 2025-07-02 20:22:40 +02:00
index.js Add flashes with StumulusJS 2024-01-03 12:13:00 +01:00
location_sharing_toggle_controller.js 0.36.0 (#1952) 2025-11-24 19:45:09 +01:00
map_controls_controller.js Make sure date nav not being hidden when clicking next/prev day button 2025-10-14 17:39:17 +02:00
map_panel_controller.js 0.36.2 (#2007) 2025-12-06 20:54:49 +01:00
map_preview_controller.js Inherit all stimulus controllers from base_controller 2025-02-15 16:48:03 +01:00
maps_controller.js 0.36.3 (#2013) 2025-12-14 12:05:59 +01:00
notifications_controller.js Fix notifications scroll 2025-06-11 21:12:03 +02:00
onboarding_modal_controller.js Add limits for import size for trial users 2025-08-14 20:50:22 +02:00
place_creation_controller.js 0.36.0 (#1952) 2025-11-24 19:45:09 +01:00
places_filter_controller.js 0.36.0 (#1952) 2025-11-24 19:45:09 +01:00
privacy_radius_controller.js 0.36.0 (#1952) 2025-11-24 19:45:09 +01:00
public_stat_map_controller.js 0.36.3 (#2013) 2025-12-14 12:05:59 +01:00
removals_controller.js Inherit all stimulus controllers from base_controller 2025-02-15 16:48:03 +01:00
sharing_modal_controller.js Add a button to copy invitation link for pending invitations 2025-10-14 13:28:56 +02:00
speed_color_editor_controller.js 0.36.2 (#2007) 2025-12-06 20:54:49 +01:00
stat_page_controller.js Update map layers based on user theme preference (light/dark) and add theme-aware styling to map controls and buttons. 2025-09-26 18:49:13 +02:00
trip_map_controller.js Update map layers based on user theme preference (light/dark) and add theme-aware styling to map controls and buttons. 2025-09-26 18:49:13 +02:00
trips_controller.js Updte map view 2025-10-30 19:16:38 +01:00
user_data_archive_direct_upload_controller.js Rework importing user data archive 2025-09-23 20:39:12 +02:00
visit_creation_v2_controller.js 0.36.2 (#2007) 2025-12-06 20:54:49 +01:00
visit_modal_map_controller.js Inherit all stimulus controllers from base_controller 2025-02-15 16:48:03 +01:00
visit_modal_places_controller.js Add visits to the map page 2025-03-02 21:24:57 +01:00
visit_name_controller.js Inherit all stimulus controllers from base_controller 2025-02-15 16:48:03 +01:00
visits_map_controller.js Add visits to the map page 2025-03-02 21:24:57 +01:00