diff options
| author | siddharth ravikumar <s@ricketyspace.net> | 2026-01-19 14:16:29 -0500 |
|---|---|---|
| committer | siddharth ravikumar <s@ricketyspace.net> | 2026-01-19 14:17:22 -0500 |
| commit | 546863e8a821648c3614ee6859891512805965ef (patch) | |
| tree | 555a2f1de676b41b82a5bf7f4811f23da07021c5 | |
| parent | 1a14419e39055c0e87c651339b7276938d68de98 (diff) | |
weather: update NewWeather
Add AreadDesc and Headline to Alert.
| -rw-r--r-- | nws/nws.go | 2 | ||||
| -rw-r--r-- | static/peach.css | 3 | ||||
| -rw-r--r-- | static/peach.min.css | 2 | ||||
| -rw-r--r-- | templates/weather.tmpl | 8 | ||||
| -rw-r--r-- | version/version.go | 2 | ||||
| -rw-r--r-- | weather/weather.go | 4 |
6 files changed, 18 insertions, 3 deletions
@@ -63,8 +63,10 @@ type Forecast struct { } type FeatureProperties struct { + AreaDesc string Event string Severity string + Headline string Description string Instruction string } diff --git a/static/peach.css b/static/peach.css index d5fbf3c..51a9bd0 100644 --- a/static/peach.css +++ b/static/peach.css @@ -169,7 +169,8 @@ body { font-size: 0.9em; } -.alert-container .alert-body .instruction { +.alert-container .alert-body .instruction, +.alert-container .alert-body .areas { font-size: 0.8em; border-top: 1px solid rgb(150,150,150); padding: 10px 0 0 0; diff --git a/static/peach.min.css b/static/peach.min.css index 5bf4a5b..30e0c33 100644 --- a/static/peach.min.css +++ b/static/peach.min.css @@ -1 +1 @@ -/* Copyright © 2022 siddharth ravikumar <s@ricketyspace.net> *//* SPDX-License-Identifier: ISC *//* Peach */@font-face{font-family: Roboto;src: url('/static/font/roboto-flex.ttf');font-display: swap;}body{font-family: Roboto, sans-serif;text-transform: lowercase;}.peach{display: flex;flex-direction: row;justify-content: center;}.root-container{display: flex;flex-direction: column;row-gap: 15px;}@media (min-width: 440px) {.root-container{width: 440px;}}@media (max-width: 440px) {.peach{flex-direction: column;}}/* Weather */.header-container,.main-container{display: flex;justify-content: center;}.header-container h1{margin: 0;}.header-container .header{margin-top: 10px;margin-bottom: 0px;font-size: 1.5em;}.period-container{display: flex;flex-direction: column;row-gap: 10px;}.now-container{display: flex;flex-direction: column;row-gap: 5px;}.temperature-forecast-container{display: flex;flex-direction: column;align-items: center;}.temperature-forecast-container .temperature{font-size: 2.8em;}.temperature-forecast-container .forecast{font-size: 1.8em;font-weight: 500;color: rgb(10,10,10);text-align: center;}.misc-container{display: flex;flex-direction: row;justify-content: center;column-gap: 20px;}.wind-container,.humidity-container{display: flex;flex-direction: row;justify-content: center;column-gap: 5px;color: rgb(10,10,10);}/* Q2H Timeline */.timeline-container{display: flex;justify-content: center;}.timeline-container .periods-container{width: 440px;display: flex;justify-content: space-around;align-content: space-around;}.timeline-container .periods-container .period .temperature{font-size: 1.2em;}.timeline-container .periods-container .period .hour{font-size: 0.8em;color: rgb(0,0,0);}/* Alerts */.alerts-container{display: flex;justify-content: center;flex-direction: column;row-gap: 10px;}@media (max-width: 440px) {.alerts-container{ padding: 0 15px;}}.alert-container .alert-header{background-color: rgb(0,0,0);color: rgb(255,255,255);font-weight: 900;padding: 5px 0px 5px 10px;}.alert-container{border-radius: 3px;border: 0.3px solid rgb(0,0,0);}.alert-container .alert-header .event-name{font-size: 1.2em;}.alert-container .alert-body{display: flex;flex-direction: column;padding: 15px 15px 2px 15px;}.alert-container .alert-body p{margin: 0 0 10px 0;}.alert-container .alert-body .severity{font-size: 1em;}.alert-container .alert-body .description{font-size: 0.9em;}.alert-container .alert-body .instruction{font-size: 0.8em;border-top: 1px solid rgb(150,150,150);padding: 10px 0 0 0;}/* BiDaily Timeline */.bd-timeline-container{display: flex;justify-content: center;}@media (max-width: 440px) {.bd-timeline-container{ padding: 0 15px;}}.bd-timeline-container .periods-container{width: 440px;display: flex;flex-direction: column;row-gap: 10px;}.bd-timeline-container .periods-container .period{display: flex;flex-direction: column;row-gap: 1px;border-radius: 3px;border: 0.1px solid rgb(0,0,0);padding: 10px 10px;}.bd-timeline-container .periods-container .period .name{font-size: 1.5em;}.bd-timeline-container .periods-container .period .temperature{font-size: 1.2em;}.bd-timeline-container .periods-container .period .forecast{font-size: 0.9em;}/* Search */.search-link-container{position: absolute;right: 10px;top: 0px;font-size: 1.5em;font-weight: 900;transform: rotate(-45deg);}.search-link-container a{text-decoration: none;color: rgb(0,0,0);}.search-container .search-form{display: flex;flex-direction: row;align-items: baseline;justify-content: center;}@media (max-width: 440px) {.search-container .search-form{ justify-content: flex-start; flex-wrap: wrap; row-gap: 5px;}}.search-container .search-form .search-box .location{font-size: 1.5em;border: 0;}.search-container .search-form .search-box .location:focus-within{border: 0;outline: 0;border-bottom: 2px solid rgb(0,0,0);}.search-container .search-form .search-box .location::placeholder{color: rgb(240,240,240);font-weight: 900;}.search-container .search-form .btn-block .search-btn{cursor: pointer;border: none;background-color: rgb(0 0 0);color: rgb(255 255 255);font-size: 1.3em;padding: 3px 10px 3px 10px;border-radius: 8px;font-weight: 900;}.message-container{font-size: 1.2em;}.message-container p{margin: 5px 0 5px 0;padding: 0 0 0 5px;}.search-result-container{display: flex;flex-direction: column;row-gap: 6px;}.search-result-container .item{font-size: 1.5em;}.search-result-container .location-name a{text-decoration: none;color: rgb(0,0,0);font-weight: 600;padding: 3px 5px 5px 5px;}.search-result-container .location-name a:hover{transition: background-color 0.3s linear;background-color: rgb(245,245,245);}/** About **/.about-container,.terms-container,.privacy-container{padding: 0 20px;}.about-container p,.terms-container p,.privacy-container p{margin: 10px 0;padding: 0 5px;line-height: 25px;}.about-container a,.terms-container a,.privacy-container a{text-decoration: none;border-bottom: 2px solid rgb(0,0,0);color: rgb(0,0,0);}.about-container .header{font-size: 1.5em;display: flex;flex-direction: column;}.about-container .header h1{margin: 5px 0 0px;}.about-container .header p{font-size: 0.5em;margin: 0;}.terms-container .header,.privacy-container .header{font-size: 1.3em;}.terms-container .header h2,.privacy-container .header h2{margin: 0 0 10px;}/** Footer **/.footer-container .footer{display: flex;justify-content: center;padding: 10px 0 10px 0;}.footer-container .footer .logo-container img{width: 20px;}
\ No newline at end of file +/* Copyright © 2022 siddharth ravikumar <s@ricketyspace.net> *//* SPDX-License-Identifier: ISC *//* Peach */@font-face{font-family: Roboto;src: url('/static/font/roboto-flex.ttf');font-display: swap;}body{font-family: Roboto, sans-serif;text-transform: lowercase;}.peach{display: flex;flex-direction: row;justify-content: center;}.root-container{display: flex;flex-direction: column;row-gap: 15px;}@media (min-width: 440px) {.root-container{width: 440px;}}@media (max-width: 440px) {.peach{flex-direction: column;}}/* Weather */.header-container,.main-container{display: flex;justify-content: center;}.header-container h1{margin: 0;}.header-container .header{margin-top: 10px;margin-bottom: 0px;font-size: 1.5em;}.period-container{display: flex;flex-direction: column;row-gap: 10px;}.now-container{display: flex;flex-direction: column;row-gap: 5px;}.temperature-forecast-container{display: flex;flex-direction: column;align-items: center;}.temperature-forecast-container .temperature{font-size: 2.8em;}.temperature-forecast-container .forecast{font-size: 1.8em;font-weight: 500;color: rgb(10,10,10);text-align: center;}.misc-container{display: flex;flex-direction: row;justify-content: center;column-gap: 20px;}.wind-container,.humidity-container{display: flex;flex-direction: row;justify-content: center;column-gap: 5px;color: rgb(10,10,10);}/* Q2H Timeline */.timeline-container{display: flex;justify-content: center;}.timeline-container .periods-container{width: 440px;display: flex;justify-content: space-around;align-content: space-around;}.timeline-container .periods-container .period .temperature{font-size: 1.2em;}.timeline-container .periods-container .period .hour{font-size: 0.8em;color: rgb(0,0,0);}/* Alerts */.alerts-container{display: flex;justify-content: center;flex-direction: column;row-gap: 10px;}@media (max-width: 440px) {.alerts-container{ padding: 0 15px;}}.alert-container .alert-header{background-color: rgb(0,0,0);color: rgb(255,255,255);font-weight: 900;padding: 5px 0px 5px 10px;}.alert-container{border-radius: 3px;border: 0.3px solid rgb(0,0,0);}.alert-container .alert-header .event-name{font-size: 1.2em;}.alert-container .alert-body{display: flex;flex-direction: column;padding: 15px 15px 2px 15px;}.alert-container .alert-body p{margin: 0 0 10px 0;}.alert-container .alert-body .severity{font-size: 1em;}.alert-container .alert-body .description{font-size: 0.9em;}.alert-container .alert-body .instruction,.alert-container .alert-body .areas{font-size: 0.8em;border-top: 1px solid rgb(150,150,150);padding: 10px 0 0 0;}/* BiDaily Timeline */.bd-timeline-container{display: flex;justify-content: center;}@media (max-width: 440px) {.bd-timeline-container{ padding: 0 15px;}}.bd-timeline-container .periods-container{width: 440px;display: flex;flex-direction: column;row-gap: 10px;}.bd-timeline-container .periods-container .period{display: flex;flex-direction: column;row-gap: 1px;border-radius: 3px;border: 0.1px solid rgb(0,0,0);padding: 10px 10px;}.bd-timeline-container .periods-container .period .name{font-size: 1.5em;}.bd-timeline-container .periods-container .period .temperature{font-size: 1.2em;}.bd-timeline-container .periods-container .period .forecast{font-size: 0.9em;}/* Search */.search-link-container{position: absolute;right: 10px;top: 0px;font-size: 1.5em;font-weight: 900;transform: rotate(-45deg);}.search-link-container a{text-decoration: none;color: rgb(0,0,0);}.search-container .search-form{display: flex;flex-direction: row;align-items: baseline;justify-content: center;}@media (max-width: 440px) {.search-container .search-form{ justify-content: flex-start; flex-wrap: wrap; row-gap: 5px;}}.search-container .search-form .search-box .location{font-size: 1.5em;border: 0;}.search-container .search-form .search-box .location:focus-within{border: 0;outline: 0;border-bottom: 2px solid rgb(0,0,0);}.search-container .search-form .search-box .location::placeholder{color: rgb(240,240,240);font-weight: 900;}.search-container .search-form .btn-block .search-btn{cursor: pointer;border: none;background-color: rgb(0 0 0);color: rgb(255 255 255);font-size: 1.3em;padding: 3px 10px 3px 10px;border-radius: 8px;font-weight: 900;}.message-container{font-size: 1.2em;}.message-container p{margin: 5px 0 5px 0;padding: 0 0 0 5px;}.search-result-container{display: flex;flex-direction: column;row-gap: 6px;}.search-result-container .item{font-size: 1.5em;}.search-result-container .location-name a{text-decoration: none;color: rgb(0,0,0);font-weight: 600;padding: 3px 5px 5px 5px;}.search-result-container .location-name a:hover{transition: background-color 0.3s linear;background-color: rgb(245,245,245);}/** About **/.about-container,.terms-container,.privacy-container{padding: 0 20px;}.about-container p,.terms-container p,.privacy-container p{margin: 10px 0;padding: 0 5px;line-height: 25px;}.about-container a,.terms-container a,.privacy-container a{text-decoration: none;border-bottom: 2px solid rgb(0,0,0);color: rgb(0,0,0);}.about-container .header{font-size: 1.5em;display: flex;flex-direction: column;}.about-container .header h1{margin: 5px 0 0px;}.about-container .header p{font-size: 0.5em;margin: 0;}.terms-container .header,.privacy-container .header{font-size: 1.3em;}.terms-container .header h2,.privacy-container .header h2{margin: 0 0 10px;}/** Footer **/.footer-container .footer{display: flex;justify-content: center;padding: 10px 0 10px 0;}.footer-container .footer .logo-container img{width: 20px;}
\ No newline at end of file diff --git a/templates/weather.tmpl b/templates/weather.tmpl index 8a7a6a2..ba5440c 100644 --- a/templates/weather.tmpl +++ b/templates/weather.tmpl @@ -82,6 +82,9 @@ </div> </div> <div class="alert-body"> + <div class="headline"> + <p>{{ .Headline }}</p> + </div> <div class="severity"> <p>Severity — {{ .Severity }}</p> </div> @@ -97,6 +100,11 @@ {{ end }} </div> {{ end }} + {{ if .AreaDesc }} + <div class="areas"> + <p>Affected Areas: {{ .AreaDesc }}</p> + </div> + {{ end }} </div> </div> {{ end }} diff --git a/version/version.go b/version/version.go index 53cd200..892a7e6 100644 --- a/version/version.go +++ b/version/version.go @@ -4,4 +4,4 @@ // Peach version. package version -const Version = "0.11.1-dev.1" +const Version = "0.11.1-dev.2" diff --git a/weather/weather.go b/weather/weather.go index 0e981a1..456ff46 100644 --- a/weather/weather.go +++ b/weather/weather.go @@ -47,8 +47,10 @@ type WeatherTimeline struct { } type Alert struct { + AreaDesc string Event string Severity string + Headline string Description []string Instruction []string } @@ -132,8 +134,10 @@ func NewWeather(lat, lng float32) (*Weather, error, int) { continue // Duplicate; skip. } a := Alert{ + AreaDesc: strings.ReplaceAll(f.Properties.AreaDesc, ";", ","), Event: f.Properties.Event, Severity: f.Properties.Severity, + Headline: f.Properties.Headline, Description: strings.Split(f.Properties.Description, "\n\n"), Instruction: strings.Split(f.Properties.Instruction, "\n\n"), } |
