From c89629ed7c5bc896f9854fa20f9dd7ddc1e786c3 Mon Sep 17 00:00:00 2001 From: Matt Hadden Date: Mon, 22 Apr 2024 17:26:30 -0400 Subject: [PATCH 1/7] style: add recwc font --- .../fonts/recw/RECWCPrimary-Regular.woff2 | Bin 0 -> 3044 bytes src/display/style/fonts/recw/recw.scss | 43 ++++++++++++++++++ src/display/style/main.scss | 2 + 3 files changed, 45 insertions(+) create mode 100644 src/display/style/fonts/recw/RECWCPrimary-Regular.woff2 create mode 100644 src/display/style/fonts/recw/recw.scss diff --git a/src/display/style/fonts/recw/RECWCPrimary-Regular.woff2 b/src/display/style/fonts/recw/RECWCPrimary-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2226527283f55180158dc9b1738eb4cb6ee56eef GIT binary patch literal 3044 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 literal 0 HcmV?d00001 diff --git a/src/display/style/fonts/recw/recw.scss b/src/display/style/fonts/recw/recw.scss new file mode 100644 index 00000000..17f7fcdf --- /dev/null +++ b/src/display/style/fonts/recw/recw.scss @@ -0,0 +1,43 @@ +@font-face { + font-family: "recwc-primary"; + font-style: normal; + font-weight: 400; + src: url("./fonts/recw/RECWCPrimary-Regular.woff2"); +} + +@font-face { + font-family: "recwc-primary"; + font-style: normal; + font-weight: 500; + src: url("./fonts/recw/RECWCPrimary-Regular.woff2"); +} + +@font-face { + font-family: "recwc-primary"; + font-style: normal; + font-weight: 600; + src: url("./fonts/recw/RECWCPrimary-Regular.woff2"); +} + +@font-face { + font-family: "recwc-primary"; + font-style: normal; + font-weight: 700; + src: url("./fonts/recw/RECWCPrimary-Regular.woff2"); +} + +@mixin recwc_font { + font-family: var(--recwc-font), monospace; +} + +@mixin recwc_body { + @include recwc_font; + + line-height: normal; + font-size: 31px; + font-weight: 400; +} + +:root { + --recwc-font: "recwc-primary"; +} diff --git a/src/display/style/main.scss b/src/display/style/main.scss index b29a9a3a..f0051401 100644 --- a/src/display/style/main.scss +++ b/src/display/style/main.scss @@ -4,6 +4,7 @@ @import "./forecast.scss"; @import "./alerts.scss"; @import "./fonts/ws4000/star4000.scss"; +@import "./fonts/recw/recw.scss"; * { box-sizing: border-box; @@ -62,6 +63,7 @@ ol { } #display { + @include recwc_body; align-items: center; display: flex; flex-direction: column; From 8b8d525608569a662b8d2206f68147d67bfb6220 Mon Sep 17 00:00:00 2001 From: Matt Hadden Date: Mon, 22 Apr 2024 18:03:51 -0400 Subject: [PATCH 2/7] style: correct colour for each background --- src/consts/screens.consts.ts | 10 ++++++---- src/display/components/screenrotator.tsx | 19 +++++++++++++++++-- src/display/style/main.scss | 4 ++++ 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/consts/screens.consts.ts b/src/consts/screens.consts.ts index ef36a78b..afa2e16c 100644 --- a/src/consts/screens.consts.ts +++ b/src/consts/screens.consts.ts @@ -58,11 +58,13 @@ export const SCREEN_DESCRIPTIONS = { export const SCREENS_WITH_AUTO_DURATION = [Screens.ALERTS, Screens.FORECAST]; -export const SCREEN_DEFAULT_DISPLAY_LENGTH = 20; -export const SCREEN_MIN_DISPLAY_LENGTH = 10; -export const SCREEN_ALERT_DISPLAY_LENGTH = 300; +export const SCREEN_DEFAULT_DISPLAY_LENGTH = 20 as const; +export const SCREEN_MIN_DISPLAY_LENGTH = 10 as const; +export const SCREEN_ALERT_DISPLAY_LENGTH = 300 as const; export const SCREEN_INFO_DISPLAY_LENGTH = 20 * 25; -export const SCREEN_FORECAST_DISPLAY_LENGTH = 180; +export const SCREEN_FORECAST_DISPLAY_LENGTH = 180 as const; export const SCREEN_BACKGROUND_BLUE = "rgb(0,0,135)"; +export const SCREEN_BACKGROUND_BLUE_TEXT_COL = "rgb(193,192,250)"; export const SCREEN_BACKGROUND_RED = "#610b00"; +export const SCREEN_BACKGROUND_RED_TEXT_COL = "rgb(227,168,139)"; diff --git a/src/display/components/screenrotator.tsx b/src/display/components/screenrotator.tsx index 69eb7a87..7b28038e 100644 --- a/src/display/components/screenrotator.tsx +++ b/src/display/components/screenrotator.tsx @@ -1,5 +1,11 @@ import { useEffect, useRef, useState } from "react"; -import { SCREEN_BACKGROUND_BLUE, SCREEN_BACKGROUND_RED, Screens } from "consts"; +import { + SCREEN_BACKGROUND_BLUE, + SCREEN_BACKGROUND_BLUE_TEXT_COL, + SCREEN_BACKGROUND_RED, + SCREEN_BACKGROUND_RED_TEXT_COL, + Screens, +} from "consts"; import { isAutomaticScreen } from "lib/flavour/utils"; import { AQHIObservationResponse, @@ -255,7 +261,16 @@ export function ScreenRotator(props: ScreenRotatorProps) { }; return ( -
+
{getComponentForDisplayedScreen()}
); diff --git a/src/display/style/main.scss b/src/display/style/main.scss index f0051401..5cedd9ff 100644 --- a/src/display/style/main.scss +++ b/src/display/style/main.scss @@ -85,5 +85,9 @@ ol { padding: 0 10%; text-align: center; width: 100%; + + #time_date { + @include recwc_body; + } } } From 8fc13499a05fe59abac1a428092d4cfbbcfa3d17 Mon Sep 17 00:00:00 2001 From: Matt Hadden Date: Mon, 22 Apr 2024 18:29:06 -0400 Subject: [PATCH 3/7] style: remove text colours as too dark --- src/display/components/screenrotator.tsx | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/display/components/screenrotator.tsx b/src/display/components/screenrotator.tsx index 7b28038e..5f280b2e 100644 --- a/src/display/components/screenrotator.tsx +++ b/src/display/components/screenrotator.tsx @@ -1,11 +1,5 @@ import { useEffect, useRef, useState } from "react"; -import { - SCREEN_BACKGROUND_BLUE, - SCREEN_BACKGROUND_BLUE_TEXT_COL, - SCREEN_BACKGROUND_RED, - SCREEN_BACKGROUND_RED_TEXT_COL, - Screens, -} from "consts"; +import { SCREEN_BACKGROUND_BLUE, SCREEN_BACKGROUND_RED, Screens } from "consts"; import { isAutomaticScreen } from "lib/flavour/utils"; import { AQHIObservationResponse, @@ -265,10 +259,6 @@ export function ScreenRotator(props: ScreenRotatorProps) { id="display" style={{ backgroundColor: backgroundColour, - color: - backgroundColour === SCREEN_BACKGROUND_BLUE - ? SCREEN_BACKGROUND_BLUE_TEXT_COL - : SCREEN_BACKGROUND_RED_TEXT_COL, }} > {getComponentForDisplayedScreen()} From 71c3b8c0c692ead0025ea2a8bee192de07355e4d Mon Sep 17 00:00:00 2001 From: Matt Hadden Date: Tue, 23 Apr 2024 17:16:38 -0400 Subject: [PATCH 4/7] chore: add font license --- .../style/fonts/recw/ECWC-font-license.txt | 105 ++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 src/display/style/fonts/recw/ECWC-font-license.txt diff --git a/src/display/style/fonts/recw/ECWC-font-license.txt b/src/display/style/fonts/recw/ECWC-font-license.txt new file mode 100644 index 00000000..23f33495 --- /dev/null +++ b/src/display/style/fonts/recw/ECWC-font-license.txt @@ -0,0 +1,105 @@ +# License Summary + +## Testing + +* Up to 1 desktop workstations, for testing and personal / non-commercial use only +* Up to 0 monthly unique web visitors, for testing and personal / non-commercial use only +* Up to 0 e-books, for testing and personal / non-commercial use only +* Up to 0 mobile apps, for testing and personal / non-commercial use only + +# DJR End User License Agreement + +## Multi-use License + +This End User License Agreement is a legal agreement between you and DJR (David Jonathan Ross). Please read it carefully. + +When you purchase a font from DJR, you are granted a non-exclusive license to use the font in your work. + +This agreement takes effect when you download or use the font. If you do not agree to or understand these terms, do not download and/or use the font. + +Fonts: For the purposes of this license, a “font” is defined as the font software, the designs embodied therein, and all supplemental materials provided along with the font software, as well as any future versions or upgrades. + +Limitations: For the purposes of this license, the “limitations” are defined in your order summary, which governs the maximum number of allowed installations on desktop computers, unique website visitors, and number of mobile apps and e-books. If you do not have an Order Summary, or a type of use is not identified, the assumed limitation is zero (0) and you are not permitted to use the font in that way. All rights not granted to you are expressly reserved to DJR. + + +## General Terms + +You are permitted to use the font for personal and internal business use. + +Protection: This font is protected under United States copyright and trademark law. + +Distribution: Except in very specific instances described and permitted in this license, you may not distribute (share, rent, lend, give away, or sell) the font. You agree to take all reasonable steps to prevent others from accessing, distributing, or re-serving the font file. + +Modifications: Conversion to outlined vector files is permitted. You may also modify the font software itself, as long as it is for your own purposes only and you do not distribute the modified font or the software. Any derived versions from the font remain the property of DJR and are subject to the same license. Please contact DJR and explain the nature of the modification. + +License transfer: You are allowed to transfer this license to another individual, company, or organization so long as they following conditions are met: + +* The transferee must agree to the terms of this license. +* You must destroy all copies of the font that you possess or control. +* You must notify DJR of the transfer and provide the name and contact information for the transferee. + +Upgrades: If any of your uses exceed of your defined limitations, you must purchase an upgrade to your license. + +Testing: If your Order Summary includes the phrase “For Testing Purposes Only” or does not explicitly define limitations, you are restricted to using the font for internal testing purposes only. You must upgrade to a full and appropriate license before delivering any work that uses the font. + +Special Uses: You must obtain a special upgrade if you wish to use the font in any way not identified in your license or limitations. You must also obtain a special upgrade if you wish to use the font in such a way that an unlicensed user has access to the alphabet in full, or in a product where an end-user can set type using the font or its design or distribute products with customized uses of the font. + +Credit: You are not obligated to include a colophon or credit the font or DJR, but are more than welcome to do so. + + +## Terms of Desktop Use + +This license allows you to install and use the font on a limited number of workstations defined in your order summary. All of these workstations must belong to the same individual, company, or organization that is licensing the font. + +Document Embedding: You are allowed to embed the font in document formats that allow embedding, such as PDF. The font must be embedded in such a way that the reader is restricted from changing its embedding permissions, extracting the complete font from the document, and create or edit new content using the font. Embedding in mobile apps or e-books is subject to a separate set of terms and is subject to separate limitations. + +Service Bureaus: If printing from an embedded PDF is not an option, you are permitted to send the font to a printer or service bureau that is creating the final output of your design. When the service bureau is finished printing your job, they must destroy all copies of the font. + +Internal Servers: You may install the font on an internal server as long as you do not exceed the total number of users defined in your order summary. + +Backups: You may create a copy of the desktop font for backup purposes, as long as the backup copy cannot be accessed by anyone other than licensed users. + + +## Terms of Web Use + +This license allows you to use the font on websites using CSS @font-face, so long as that website meets the web traffic limits defined in your order summary. + +Traffic: You are allowed to serve the font file on a website that receives a limited number of unique visitors per month as defined in your order summary. If you exceed the limit for three consecutive months, you must upgrade your license. DJR reserves the right to inspect or monitor your use. + +Domains: You are required to identify and register all domains where the font is served via @font-face with DJR. You may contact DJR at any time to register additional domains. You are not limited to a the number of domains or subdomains, so long as all websites using the font are operated by the licensee, and the cumulative traffic does not exceed your web traffic limitation. + +Formats: For web use, you are limited to serving the font in WOFF, WOFF2, EOT, and SVG formats. You may not use desktop formats like OTF and TTF. If you have questions, contact DJR for information. + +Server: You must host the font on your website’s server or on a CDN (content delivery network) where you host other website assets. You must make a reasonable effort to prevent unlicensed use of the fonts by other people. + +Hosted Services: In addition to hosting the font yourself, you are also permitted to host the font via a hosted-service where DJR has made the font available. You may not add the font to any public webfont-hosting service yourself, or host it in a way that allows for unauthorized use. + + +## Terms of Mobile App / E-Book Use + +This license allows you to distribute the font by embedding it in a limited number of mobile apps or e-books specified in your order summary. + +Platforms: Platform-specific versions with the same name and functionality may be counted together as a single app. On each platform, you must make a reasonable effort to secure the font and prevent it from unauthorized use. + + +## Finally + +Rights: DJR reserves all rights not otherwise specified, makes no guarantees, and disclaims all warranties except those proscribed by law. + +Liability: Under no circumstances is DJR responsible or liable for any issues or harm or physical damages that may result from the use of the font, even if notified in advance. + +If you encounter a problem with the font, DJR will make a good faith effort to provide you with documentation and support. If no solution can be found, DJR may offer you the option to terminate the license in exchange for a refund. A refund is not guaranteed and is completely up to DJR’s discretion. + +Termination: DJR reserves the right to terminate this license if you breach any term without the obligation of notice or opportunity to cure. If your license is terminated, you are obligated to destroy all copies of the font that you possess. + +Grounds for termination include: + +* Using the font outside of the terms set in this license +* Exceeding the agreed-upon limitations without purchasing an upgrade +* Unauthorized distribution of the font or other breaches of the terms stated above + +If possible, DJR will make a good faith effort to allow you to upgrade your license so that you can operate within its terms. + +Legal Use: DJR reserves all rights to modify, enforce, and terminate this license to the extent that it is permitted by law. You are responsible for making sure that you are in compliance with all laws, foreign and domestic, that might apply to its purchase and use. + +Questions: If you have any questions or concerns about this license, contact DJR at any time at (david@djr.com). \ No newline at end of file From e2e9bbc55ce765e85709daf31a53f028c25ce07e Mon Sep 17 00:00:00 2001 From: Matt Hadden Date: Mon, 6 May 2024 17:28:07 -0400 Subject: [PATCH 5/7] chore: update font --- .../style/fonts/recw/ECWCStandard-Regular.woff2 | Bin 0 -> 3096 bytes .../style/fonts/recw/RECWCPrimary-Regular.woff2 | Bin 3044 -> 0 bytes src/display/style/fonts/recw/recw.scss | 8 ++++---- 3 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 src/display/style/fonts/recw/ECWCStandard-Regular.woff2 delete mode 100644 src/display/style/fonts/recw/RECWCPrimary-Regular.woff2 diff --git a/src/display/style/fonts/recw/ECWCStandard-Regular.woff2 b/src/display/style/fonts/recw/ECWCStandard-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e92bef308f7c8d5d0f71202dfc45187a00c3cb88 GIT binary patch literal 3096 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 m2v6wMo`WpP__-33|8`ss0000ckkG&Y literal 0 HcmV?d00001 diff --git a/src/display/style/fonts/recw/RECWCPrimary-Regular.woff2 b/src/display/style/fonts/recw/RECWCPrimary-Regular.woff2 deleted file mode 100644 index 2226527283f55180158dc9b1738eb4cb6ee56eef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3044 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 diff --git a/src/display/style/fonts/recw/recw.scss b/src/display/style/fonts/recw/recw.scss index 17f7fcdf..2c38eb30 100644 --- a/src/display/style/fonts/recw/recw.scss +++ b/src/display/style/fonts/recw/recw.scss @@ -2,28 +2,28 @@ font-family: "recwc-primary"; font-style: normal; font-weight: 400; - src: url("./fonts/recw/RECWCPrimary-Regular.woff2"); + src: url("./fonts/recw/ECWCStandard-Regular.woff2"); } @font-face { font-family: "recwc-primary"; font-style: normal; font-weight: 500; - src: url("./fonts/recw/RECWCPrimary-Regular.woff2"); + src: url("./fonts/recw/ECWCStandard-Regular.woff2"); } @font-face { font-family: "recwc-primary"; font-style: normal; font-weight: 600; - src: url("./fonts/recw/RECWCPrimary-Regular.woff2"); + src: url("./fonts/recw/ECWCStandard-Regular.woff2"); } @font-face { font-family: "recwc-primary"; font-style: normal; font-weight: 700; - src: url("./fonts/recw/RECWCPrimary-Regular.woff2"); + src: url("./fonts/recw/ECWCStandard-Regular.woff2"); } @mixin recwc_font { From 4e0359fe6b6f10fd434c29d1c4d6dafacd97fee5 Mon Sep 17 00:00:00 2001 From: Matt Hadden Date: Wed, 8 May 2024 21:36:39 -0400 Subject: [PATCH 6/7] fix(outlook): erroring if normal max was missing --- src/display/components/screens/outlook.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/display/components/screens/outlook.tsx b/src/display/components/screens/outlook.tsx index f45d4edf..9aa3b346 100644 --- a/src/display/components/screens/outlook.tsx +++ b/src/display/components/screens/outlook.tsx @@ -67,8 +67,8 @@ export function OutlookScreen(props: OutlookScreenProps) { ))}
  • - Normal Low {almanac?.temperatures?.normalMin?.value?.toFixed(0) ?? ""}. High{" "} - {almanac?.temperatures?.normalMax?.value.toFixed(0) ?? ""}. + Normal Low {almanac?.temperatures?.normalMin?.value?.toFixed(0) ?? "N/A"}. High{" "} + {almanac?.temperatures?.normalMax?.value?.toFixed(0) ?? "N/A"}.
  • From 0d29d1a85b717d2739aac3e58eba3d0656775f7d Mon Sep 17 00:00:00 2001 From: Matt Hadden Date: Wed, 26 Jun 2024 14:34:34 -0400 Subject: [PATCH 7/7] test(conditions): update wind mock data --- src/__tests__/testdata/ecccData/conditions/s0000458_e.js | 2 +- src/__tests__/testdata/ecccData/conditions/s0000458_e_calm.js | 2 +- .../testdata/ecccData/conditions/s0000458_e_gusting.js | 2 +- .../testdata/ecccData/conditions/s0000458_e_windchill.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/__tests__/testdata/ecccData/conditions/s0000458_e.js b/src/__tests__/testdata/ecccData/conditions/s0000458_e.js index 7213c120..902c7dc9 100644 --- a/src/__tests__/testdata/ecccData/conditions/s0000458_e.js +++ b/src/__tests__/testdata/ecccData/conditions/s0000458_e.js @@ -58,7 +58,7 @@ export default ` 15 - NNW + NNW 337.0 diff --git a/src/__tests__/testdata/ecccData/conditions/s0000458_e_calm.js b/src/__tests__/testdata/ecccData/conditions/s0000458_e_calm.js index a88510dd..114bac4e 100644 --- a/src/__tests__/testdata/ecccData/conditions/s0000458_e_calm.js +++ b/src/__tests__/testdata/ecccData/conditions/s0000458_e_calm.js @@ -58,7 +58,7 @@ export default ` Calm - NNW + NNW 337.0 diff --git a/src/__tests__/testdata/ecccData/conditions/s0000458_e_gusting.js b/src/__tests__/testdata/ecccData/conditions/s0000458_e_gusting.js index 058f22cf..6d8d8971 100644 --- a/src/__tests__/testdata/ecccData/conditions/s0000458_e_gusting.js +++ b/src/__tests__/testdata/ecccData/conditions/s0000458_e_gusting.js @@ -58,7 +58,7 @@ export default ` 15 20 - NNW + NNW 337.0 diff --git a/src/__tests__/testdata/ecccData/conditions/s0000458_e_windchill.js b/src/__tests__/testdata/ecccData/conditions/s0000458_e_windchill.js index 1e78d192..b1bdda9f 100644 --- a/src/__tests__/testdata/ecccData/conditions/s0000458_e_windchill.js +++ b/src/__tests__/testdata/ecccData/conditions/s0000458_e_windchill.js @@ -58,7 +58,7 @@ export default ` 25 - NNW + NNW 337.0