feat: manual odometer baseline — Settings field computes baseline + trip distance, Dashboard shows (manual) label

This commit is contained in:
Mathieu Moran
2026-08-11 18:51:11 -04:00
parent 887a001723
commit 34253b3ffb
7 changed files with 58 additions and 30 deletions
+5
View File
@@ -38,6 +38,7 @@ const fields = {
deviceCarModel: document.getElementById('device-car-model'),
deviceAvatarPath: document.getElementById('device-avatar-path'),
deviceName: document.getElementById('device-name'),
odometerBaseline: document.getElementById('odometer-baseline'),
remoteServerUrl: document.getElementById('remote-server-url'),
remoteDeviceName: document.getElementById('remote-device-name'),
remoteApiKey: document.getElementById('remote-api-key'),
@@ -91,6 +92,7 @@ function applyErrors(errors) {
car_model: fields.deviceCarModel,
avatar_path: fields.deviceAvatarPath,
device_name: fields.deviceName,
odometer_baseline: Number(fields.odometerBaseline.value) || 0,
server_url: fields.remoteServerUrl,
remote_device_name: fields.remoteDeviceName,
api_key: fields.remoteApiKey,
@@ -128,6 +130,7 @@ function populate(settings) {
fields.ntfyToken.value = '';
fields.clearNtfyUrl.checked = false;
fields.clearNtfyToken.checked = false;
fields.odometerBaseline.value = (settings.odometer_baseline || 0).toFixed(1);
}
function populateDeviceConfig(deviceConfig) {
@@ -136,6 +139,7 @@ function populateDeviceConfig(deviceConfig) {
fields.deviceCarModel.value = deviceConfig.car_model;
fields.deviceAvatarPath.value = deviceConfig.avatar_path;
fields.deviceName.value = deviceConfig.device_name || '';
fields.odometerBaseline.value = (deviceConfig.odometer_baseline || 0).toFixed(1);
updateDeviceConfigFieldsState();
}
@@ -178,6 +182,7 @@ function payload() {
gps_loss_seconds: Number(fields.gpsLoss.value),
repeat_seconds: Number(fields.repeat.value),
},
odometer_baseline: Number(fields.odometerBaseline.value) || 0,
};
}