From 48e8f3eb4b5a165c3c08007f0105ff90a1d21496 Mon Sep 17 00:00:00 2001 From: Mark Rapson Date: Fri, 23 Oct 2026 21:49:08 +0100 Subject: [PATCH] Include weather icon control refinements in v2.17.5 --- CHANGELOG.md | 1 + src/web/views/settings/weather-icons/list.hbs | 4 ++-- test/weather-icon-library.test.js | 9 +++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e9ffb15..d822d26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ All notable changes to this project will be documented in this file. - Added query-aligned database indexes for playlist loading, template and slide lookups, session cleanup, background task claiming, and data-source list ordering. - Audit log filtering, sorting, and pagination run in SQL; CSV exports still include all matching events. - Table header Create buttons use the same right inset as pagination controls. +- Weather icon Edit buttons use the standard primary colour, and edit dialogs place Save before Cancel. ## 2.17.4 - 2026-10-23 diff --git a/src/web/views/settings/weather-icons/list.hbs b/src/web/views/settings/weather-icons/list.hbs index 7abd9d0..547f6be 100644 --- a/src/web/views/settings/weather-icons/list.hbs +++ b/src/web/views/settings/weather-icons/list.hbs @@ -99,7 +99,7 @@ {{#if (anyPermission ../currentUser 'weather-icons.update' 'weather-icons.delete')}} {{#if (hasPermission ../currentUser 'weather-icons.update')}} - +
@@ -169,8 +169,8 @@
diff --git a/test/weather-icon-library.test.js b/test/weather-icon-library.test.js index 14fb8f5..12c7bd3 100644 --- a/test/weather-icon-library.test.js +++ b/test/weather-icon-library.test.js @@ -76,6 +76,15 @@ test('weather icons map exact WMO codes and fall back for missing or unsafe imag assert.match(weatherIcons.renderImage(sets[0].icons.clear, 48, 24), /object-fit:contain/); }); +test('weather icon edit controls use the standard colour and save before cancel', function () { + const html = require('../src/web/view').renderView('settings/weather-icons/list', { + sets: [{ id: 'example', name: 'Example', enabled: true, conditions: [] }], + currentUser: { permissionKeys: ['weather-icons.read', 'weather-icons.update'] } + }); + assert.match(html, /class="btn btn-primary btn-sm" data-bs-toggle="modal" data-bs-target="#edit-set-example">Edit<\/button>/); + assert.match(html, /