Compare commits

..

4 Commits

Author SHA1 Message Date
Matt Walsh
8678d9f053 5.16.4 2025-04-07 22:13:33 -05:00
Matt Walsh
a592668d0d hourly color coded feels like temperatures close #69 2025-04-07 22:13:20 -05:00
Matt Walsh
b3faf95e39 5.16.3 2025-04-06 21:35:12 -05:00
Matt Walsh
3a304d7c08 remove debugging refresh rate #74 2025-04-06 21:32:59 -05:00
8 changed files with 29 additions and 11 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "ws4kp", "name": "ws4kp",
"version": "5.16.2", "version": "5.16.4",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ws4kp", "name": "ws4kp",
"version": "5.16.2", "version": "5.16.4",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"ejs": "^3.1.5", "ejs": "^3.1.5",

View File

@@ -1,6 +1,6 @@
{ {
"name": "ws4kp", "name": "ws4kp",
"version": "5.16.2", "version": "5.16.4",
"description": "Welcome to the WeatherStar 4000+ project page!", "description": "Welcome to the WeatherStar 4000+ project page!",
"main": "index.mjs", "main": "index.mjs",
"type": "module", "type": "module",

View File

@@ -76,9 +76,9 @@ class Hourly extends WeatherDisplay {
const temperature = data.temperature.toString().padStart(3); const temperature = data.temperature.toString().padStart(3);
const feelsLike = data.apparentTemperature.toString().padStart(3); const feelsLike = data.apparentTemperature.toString().padStart(3);
fillValues.temp = temperature; fillValues.temp = temperature;
// only plot apparent temperature if there is a difference
// if (temperature !== feelsLike) line.querySelector('.like').innerHTML = feelsLike; // apparent temperature is color coded if different from actual temperature (after fill is applied)
if (temperature !== feelsLike) fillValues.like = feelsLike; fillValues.like = feelsLike;
// wind // wind
let wind = 'Calm'; let wind = 'Calm';
@@ -91,7 +91,17 @@ class Hourly extends WeatherDisplay {
// image // image
fillValues.icon = { type: 'img', src: data.icon }; fillValues.icon = { type: 'img', src: data.icon };
return this.fillTemplate('hourly-row', fillValues); const filledRow = this.fillTemplate('hourly-row', fillValues);
// alter the color of the feels like column to reflect wind chill or heat index
if (feelsLike < temperature) {
filledRow.querySelector('.like').classList.add('wind-chill');
}
if (feelsLike > temperature) {
filledRow.querySelector('.like').classList.add('heat-index');
}
return filledRow;
}); });
list.append(...lines); list.append(...lines);

View File

@@ -22,7 +22,7 @@ const init = () => {
['us', 'US'], ['us', 'US'],
['si', 'Metric'], ['si', 'Metric'],
]); ]);
settings.refreshTime = new Setting('refreshTime', 'Refresh Time', 'select', 30_000, null, false, [ settings.refreshTime = new Setting('refreshTime', 'Refresh Time', 'select', 600_000, null, false, [
[30_000, 'TESTING'], [30_000, 'TESTING'],
[300_000, '5 minutes'], [300_000, '5 minutes'],
[600_000, '10 minutes'], [600_000, '10 minutes'],

View File

@@ -181,7 +181,7 @@ class Setting {
selectHighlight(newValue) { selectHighlight(newValue) {
// set the dropdown to the provided value // set the dropdown to the provided value
this.element.querySelectorAll('option').forEach((elem) => { this?.element?.querySelectorAll('option')?.forEach?.((elem) => {
elem.selected = (newValue?.toFixed?.(2) === elem.value) || (newValue === elem.value); elem.selected = (newValue?.toFixed?.(2) === elem.value) || (newValue === elem.value);
}); });
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -82,6 +82,14 @@
.like { .like {
left: 425px; left: 425px;
&.heat-index {
color: #e00;
}
&.wind-chill {
color: c.$extended-low;
}
} }
.wind { .wind {