Compare commits

...

6 Commits

Author SHA1 Message Date
Matt Walsh
1b49e02cd8 5.23.3 2025-06-06 16:40:14 -05:00
Matt Walsh
9a55a6ec39 fix setting boolean-style query string parsing close #106 2025-06-06 16:40:08 -05:00
Matt Walsh
faaf6f770f 5.23.2 2025-06-06 16:31:13 -05:00
Matt Walsh
79e4ed6e8b clean up star4000 large font baseline differences between linux/win 2025-06-06 16:31:05 -05:00
Matt Walsh
f956df1272 5.23.1 2025-06-05 23:34:47 -05:00
Matt Walsh
089ef56b10 add event type to hazard scroll #92 2025-06-05 23:34:25 -05:00
10 changed files with 45 additions and 37 deletions

View File

@@ -139,6 +139,11 @@ Ws4kp is muted by default, but if it was unmuted on the last visit it is coded t
Chrome seems to be more lenient on auto play and will eventually let a site auto-play music if you're visited it enough recently and manually clicked to start playing music on each visit. It also has a flag you can add to the command line when launching Chrome: `chrome.exe --autoplay-policy=no-user-gesture-required`. This is the best solution when using Kiosk-style setup. Chrome seems to be more lenient on auto play and will eventually let a site auto-play music if you're visited it enough recently and manually clicked to start playing music on each visit. It also has a flag you can add to the command line when launching Chrome: `chrome.exe --autoplay-policy=no-user-gesture-required`. This is the best solution when using Kiosk-style setup.
If you're unable to pre-set the play state before entering kiosk mode (such as with a home dashboard implemenation) you can add the query string value below to the url. The browser will still follow the auto play rules outlined above.
```
?settings-mediaPlaying-boolean=true
```
## Community Notes ## Community Notes
Thanks to the WeatherStar community for providing these discussions to further extend your retro forecasts! Thanks to the WeatherStar community for providing these discussions to further extend your retro forecasts!

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "ws4kp", "name": "ws4kp",
"version": "5.23.0", "version": "5.23.3",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ws4kp", "name": "ws4kp",
"version": "5.23.0", "version": "5.23.3",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"dotenv": "^16.5.0", "dotenv": "^16.5.0",

View File

@@ -1,6 +1,6 @@
{ {
"name": "ws4kp", "name": "ws4kp",
"version": "5.23.0", "version": "5.23.3",
"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

@@ -99,6 +99,12 @@ const drawScreen = async () => {
break; break;
default: drawCondition(thisScreen); default: drawCondition(thisScreen);
} }
// add the header if available
if (thisScreen.header) {
setHeader(thisScreen.header);
} else {
setHeader('');
}
} else { } else {
// can't identify screen, get another one // can't identify screen, get another one
incrementInterval(true); incrementInterval(true);
@@ -115,6 +121,7 @@ const hazards = (data) => {
text: hazard, text: hazard,
type: 'scroll', type: 'scroll',
classes: ['hazard'], classes: ['hazard'],
header: data.hazards[0].properties.event,
}; };
}; };
@@ -167,6 +174,13 @@ const drawCondition = (text) => {
elemForEach('.weather-display .scroll .fixed', (elem) => { elemForEach('.weather-display .scroll .fixed', (elem) => {
elem.innerHTML = text; elem.innerHTML = text;
}); });
setHeader('');
};
const setHeader = (text) => {
elemForEach('.weather-display .scroll .scroll-header', (elem) => {
elem.innerHTML = text ?? '';
});
}; };
// store the original number of screens // store the original number of screens

View File

@@ -38,6 +38,9 @@ class Setting {
if (this.type === 'checkbox' && urlValue !== undefined) { if (this.type === 'checkbox' && urlValue !== undefined) {
urlState = urlValue === 'true'; urlState = urlValue === 'true';
} }
if (this.type === 'boolean' && urlValue !== undefined) {
urlState = urlValue === 'true';
}
if (this.type === 'select' && urlValue !== undefined) { if (this.type === 'select' && urlValue !== undefined) {
urlState = parseFloat(urlValue); urlState = parseFloat(urlValue);
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -22,9 +22,10 @@
&.right { &.right {
right: 0px; right: 0px;
font-family: 'Star4000 Large'; font-family: "Star4000 Large";
font-size: 16pt; font-size: 20px;
font-weight: bold; font-weight: bold;
line-height: 24px;
.row { .row {
margin-bottom: 12px; margin-bottom: 12px;

View File

@@ -117,18 +117,28 @@
height: 70px; height: 70px;
overflow: hidden; overflow: hidden;
margin-top: 3px; margin-top: 3px;
padding-top: 7px;
&.hazard { &.hazard {
background-color: rgb(112, 35, 35); background-color: rgb(112, 35, 35);
} }
.fixed { .fixed,
font-family: 'Star4000'; .scroll-header {
font-size: 24pt;
margin-left: 55px; margin-left: 55px;
margin-right: 55px; margin-right: 55px;
overflow: hidden; overflow: hidden;
}
.scroll-header {
height: 26px;
font-family: "Star4000 Small";
font-size: 20pt;
margin-top: -10px;
}
.fixed {
font-family: 'Star4000';
font-size: 24pt;
.scroll-area { .scroll-area {
text-wrap: nowrap; text-wrap: nowrap;

View File

@@ -1,4 +1,5 @@
<div class="scroll"> <div class="scroll">
<div class="scrolling template"></div> <div class="scrolling template"></div>
<div class="scroll-header"></div>
<div class="fixed"></div> <div class="fixed"></div>
</div> </div>