feat: add 2m, 10m presets and custom duration for slideshow interval
Presets are now [1, 2, 5, 10, 15, 30, 60] minutes. A 'Custom' button reveals a number input clamped to 1–60 minutes. Backend also clamps the received value with constrain(v, 1, 60) for safety. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -310,7 +310,10 @@ void AppWebServer::handlePostSettings(AsyncWebServerRequest* request,
|
||||
|
||||
Settings s = _settings->get();
|
||||
|
||||
if (!doc["interval_min"].isNull()) s.interval_min = doc["interval_min"];
|
||||
if (!doc["interval_min"].isNull()) {
|
||||
uint8_t v = doc["interval_min"];
|
||||
s.interval_min = constrain(v, 1, 60);
|
||||
}
|
||||
if (!doc["cycle_mode"].isNull()) s.cycle_mode = static_cast<CycleMode>((uint8_t)doc["cycle_mode"]);
|
||||
if (!doc["img_quality"].isNull()) s.img_quality = static_cast<ImageQuality>((uint8_t)doc["img_quality"]);
|
||||
if (!doc["meta_flags"].isNull()) s.meta_flags = doc["meta_flags"];
|
||||
|
||||
Reference in New Issue
Block a user