Move Order and Display mode to the Photos tab
Build and push server image / build-and-push (push) Successful in 53s

Both are photos-specific settings (rotation order, how a photo's aspect
ratio gets reconciled with the panel), not device-wide configuration --
they belonged on the Photos tab next to the album/queue settings, not
Configuration. No backend change: both already save through the shared
partial-update /config endpoint regardless of which tab's form sends
them.
This commit is contained in:
2026-07-23 09:07:49 -04:00
parent db9a6f1875
commit 14cf212a60
5 changed files with 37 additions and 33 deletions
+7 -7
View File
@@ -1,17 +1,17 @@
// Configuration tab: frame settings + firmware card + take control.
// Frame name/mode live in the page header now (frame_header.js) and
// Calendar settings have their own tab (frame_calendar.js). window.
// FRAME_API is set by the template. Checkboxes are always sent
// explicitly as "true"/"false" -- the server treats absent fields as
// "leave unchanged", so a checkbox must never be simply omitted.
// Frame name/mode live in the page header now (frame_header.js), Calendar
// settings have their own tab (frame_calendar.js), and Order/Display mode
// live on the Photos tab (frame_photos.js) -- photos-specific settings,
// not device-wide configuration. window.FRAME_API is set by the template.
// Checkboxes are always sent explicitly as "true"/"false" -- the server
// treats absent fields as "leave unchanged", so a checkbox must never be
// simply omitted.
async function saveConfig() {
const minutes = parseInt(document.getElementById('refresh_interval_minutes').value, 10) || 60;
const body = new URLSearchParams({
order: document.getElementById('order').value,
orientation: document.getElementById('orientation').value,
refresh_interval_s: String(minutes * 60),
display_mode: document.getElementById('display_mode').value,
quiet_hours_enabled: String(document.getElementById('quiet_hours_enabled').checked),
quiet_hours_start: document.getElementById('quiet_hours_start').value || '22:00',
quiet_hours_end: document.getElementById('quiet_hours_end').value || '07:00',
+5 -3
View File
@@ -1,6 +1,6 @@
// Photos tab: now-displaying, album picker, and the upcoming grid
// (rendering/drag logic in queue.js). window.FRAME_API is set by the
// template.
// Photos tab: now-displaying, album picker, order/display-mode settings,
// and the upcoming grid (rendering/drag logic in queue.js). window.
// FRAME_API is set by the template.
function renderControlBanner(control) {
const banner = document.getElementById('control-banner');
@@ -74,6 +74,8 @@ async function savePhotoSettings() {
const body = new URLSearchParams({
album_id: document.getElementById('album_id').value || '',
queue_target_len: document.getElementById('queue_target_len').value,
order: document.getElementById('order').value,
display_mode: document.getElementById('display_mode').value,
});
const resp = await fetch(`${window.FRAME_API}/config`, {
method: 'POST',