diff --git a/firmware/esp32-s3-dashboard/dashboard_config.h b/firmware/esp32-s3-dashboard/dashboard_config.h index 66c6ab1..9b425e6 100644 --- a/firmware/esp32-s3-dashboard/dashboard_config.h +++ b/firmware/esp32-s3-dashboard/dashboard_config.h @@ -1,6 +1,6 @@ #pragma once -static const char *DASHBOARD_VERSION = "0.1.83-doubletap-target-fix"; +static const char *DASHBOARD_VERSION = "0.1.84-doubletap-helper-fix"; // Update these if your Cargo ESP AP credentials are different. static const char *CARGO_WIFI_SSID = "OverlandController"; diff --git a/firmware/esp32-s3-dashboard/esp32-s3-dashboard.ino b/firmware/esp32-s3-dashboard/esp32-s3-dashboard.ino index 3f108bb..4667684 100644 --- a/firmware/esp32-s3-dashboard/esp32-s3-dashboard.ino +++ b/firmware/esp32-s3-dashboard/esp32-s3-dashboard.ino @@ -572,6 +572,14 @@ static void battery_nav_doubletap_cb(lv_event_t *event) last_click_ms = now_ms; } +static void add_doubletap_nav_target(lv_obj_t *obj, DashboardScreen target) +{ + if (obj == nullptr) return; + lv_obj_add_flag(obj, LV_OBJ_FLAG_CLICKABLE); + lv_obj_add_event_cb(obj, battery_nav_doubletap_cb, LV_EVENT_RELEASED, (void *)target); + lv_obj_add_event_cb(obj, battery_nav_doubletap_cb, LV_EVENT_SHORT_CLICKED, (void *)target); +} + static void dashboard_root_event_cb(lv_event_t *event) { if (lv_event_get_code(event) != LV_EVENT_GESTURE) return;