From 44cd8bd19212b8bccc036515ed766fb2f3af1171 Mon Sep 17 00:00:00 2001 From: Mathieu Moran Date: Tue, 11 Aug 2026 19:52:51 -0400 Subject: [PATCH] feat: odometer_baseline field on server portal device settings page --- server/templates/device_settings.html | 5 +++++ static/js/portal-device-settings.js | 3 +++ 2 files changed, 8 insertions(+) diff --git a/server/templates/device_settings.html b/server/templates/device_settings.html index 40f139e..602f030 100644 --- a/server/templates/device_settings.html +++ b/server/templates/device_settings.html @@ -102,6 +102,11 @@
Relative to the shared static/ folder.
+
+ + +
Enter the car's current odometer reading. The app adds trip distances to this baseline. Synced to the Pi on next config sync.
+
diff --git a/static/js/portal-device-settings.js b/static/js/portal-device-settings.js index 7ba722b..164fe2c 100644 --- a/static/js/portal-device-settings.js +++ b/static/js/portal-device-settings.js @@ -28,6 +28,7 @@ const fields = { car_model: document.getElementById('car_model'), device_name: document.getElementById('device_name'), avatar_path: document.getElementById('avatar_path'), + odometer_baseline: document.getElementById('odometer_baseline'), }; let devices = []; @@ -56,6 +57,7 @@ function currentState() { car_model: fields.car_model.value.trim(), device_name: fields.device_name.value.trim(), avatar_path: fields.avatar_path.value.trim(), + odometer_baseline: Number(fields.odometer_baseline.value) || 0, }; } @@ -115,6 +117,7 @@ function populateDevice(device, config) { fields.car_model.value = config.car_model || ''; fields.device_name.value = config.device_name || ''; fields.avatar_path.value = config.avatar_path || ''; + fields.odometer_baseline.value = (config.odometer_baseline || 0).toFixed(1); initialState = currentState(); credentialFields.deviceName.value = device.name; renderDeviceList();