diff --git a/alertproviders/ng3k.py b/alertproviders/ng3k.py
index fa487b1..9bb1a72 100644
--- a/alertproviders/ng3k.py
+++ b/alertproviders/ng3k.py
@@ -76,7 +76,6 @@ class NG3K(HTTPAlertProvider):
dx_country=dx_country,
freqs_modes=bands + (("; " + modes) if modes != "" else ""),
comment=by + "; " + comment + "; " + qsl_info,
- icon="globe-africa",
start_time=start_timestamp,
end_time=end_timestamp,
is_dxpedition=True)
diff --git a/core/constants.py b/core/constants.py
index 3cfa51b..f127166 100644
--- a/core/constants.py
+++ b/core/constants.py
@@ -12,25 +12,25 @@ HAMQTH_PRG = (SOFTWARE_NAME + " v" + SOFTWARE_VERSION + " operated by " + SERVER
# Special Interest Groups
SIGS = [
- SIG(name="POTA", description="Parks on the Air", icon="tree", ref_regex=r"[A-Z]{2}\-\d{4,5}"),
- SIG(name="SOTA", description="Summits on the Air", icon="mountain-sun", ref_regex=r"[A-Z0-9]{1,3}\/[A-Z]{2}\-\d{3}"),
- SIG(name="WWFF", description="World Wide Flora & Fauna", icon="seedling", ref_regex=r"[A-Z0-9]{1,3}FF\-\d{4}"),
- SIG(name="GMA", description="Global Mountain Activity", icon="person-hiking", ref_regex=r"[A-Z0-9]{1,3}\/[A-Z]{2}\-\d{3}"),
- SIG(name="WWBOTA", description="Worldwide Bunkers on the Air", icon="radiation", ref_regex=r"B\/[A-Z0-9]{1,3}\-\d{3,4}"),
- SIG(name="HEMA", description="HuMPs Excluding Marilyns Award", icon="mound", ref_regex=r"[A-Z0-9]{1,3}\/[A-Z]{3}\-\d{3}"),
- SIG(name="IOTA", description="Islands on the Air", icon="umbrella-beach", ref_regex=r"[A-Z]{2}\-\d{3}"),
- SIG(name="MOTA", description="Mills on the Air", icon="fan", ref_regex=r"X\d{4-6}"),
- SIG(name="ARLHS", description="Amateur Radio Lighthouse Society", icon="tower-observation", ref_regex=r"[A-Z]{3}\-\d{3,4}"),
- SIG(name="ILLW", description="International Lighthouse & Lightship Weekend", icon="tower-observation", ref_regex=r"[A-Z]{2}\d{4}"),
- SIG(name="SIOTA", description="Silos on the Air", icon="wheat-awn", ref_regex=r"[A-Z]{2}\-[A-Z]{3}\d"),
- SIG(name="WCA", description="World Castles Award", icon="chess-rook", ref_regex=r"[A-Z0-9]{1,3}\-\d{5}"),
- SIG(name="ZLOTA", description="New Zealand on the Air", icon="kiwi-bird", ref_regex=r"ZL[A-Z]/[A-Z]{2}\-\d{3,4}"),
- SIG(name="WOTA", description="Wainwrights on the Air", icon="w", ref_regex=r"[A-Z]{3}-[0-9]{2}"),
- SIG(name="BOTA", description="Beaches on the Air", icon="water"),
- SIG(name="KRMNPA", description="Keith Roget Memorial National Parks Award", icon="earth-oceania"),
- SIG(name="WAB", description="Worked All Britain", icon="table-cells-large", ref_regex=r"[A-Z]{1,2}[0-9]{2}"),
- SIG(name="WAI", description="Worked All Ireland", icon="table-cells-large", ref_regex=r"[A-Z][0-9]{2}"),
- SIG(name="TOTA", description="Toilets on the Air", icon="toilet", ref_regex=r"T\-[0-9]{2}")
+ SIG(name="POTA", description="Parks on the Air", ref_regex=r"[A-Z]{2}\-\d{4,5}"),
+ SIG(name="SOTA", description="Summits on the Air", ref_regex=r"[A-Z0-9]{1,3}\/[A-Z]{2}\-\d{3}"),
+ SIG(name="WWFF", description="World Wide Flora & Fauna", ref_regex=r"[A-Z0-9]{1,3}FF\-\d{4}"),
+ SIG(name="GMA", description="Global Mountain Activity", ref_regex=r"[A-Z0-9]{1,3}\/[A-Z]{2}\-\d{3}"),
+ SIG(name="WWBOTA", description="Worldwide Bunkers on the Air", ref_regex=r"B\/[A-Z0-9]{1,3}\-\d{3,4}"),
+ SIG(name="HEMA", description="HuMPs Excluding Marilyns Award", ref_regex=r"[A-Z0-9]{1,3}\/[A-Z]{3}\-\d{3}"),
+ SIG(name="IOTA", description="Islands on the Air", ref_regex=r"[A-Z]{2}\-\d{3}"),
+ SIG(name="MOTA", description="Mills on the Air", ref_regex=r"X\d{4-6}"),
+ SIG(name="ARLHS", description="Amateur Radio Lighthouse Society", ref_regex=r"[A-Z]{3}\-\d{3,4}"),
+ SIG(name="ILLW", description="International Lighthouse & Lightship Weekend", ref_regex=r"[A-Z]{2}\d{4}"),
+ SIG(name="SIOTA", description="Silos on the Air", ref_regex=r"[A-Z]{2}\-[A-Z]{3}\d"),
+ SIG(name="WCA", description="World Castles Award", ref_regex=r"[A-Z0-9]{1,3}\-\d{5}"),
+ SIG(name="ZLOTA", description="New Zealand on the Air", ref_regex=r"ZL[A-Z]/[A-Z]{2}\-\d{3,4}"),
+ SIG(name="WOTA", description="Wainwrights on the Air", ref_regex=r"[A-Z]{3}-[0-9]{2}"),
+ SIG(name="BOTA", description="Beaches on the Air"),
+ SIG(name="KRMNPA", description="Keith Roget Memorial National Parks Award"),
+ SIG(name="WAB", description="Worked All Britain", ref_regex=r"[A-Z]{1,2}[0-9]{2}"),
+ SIG(name="WAI", description="Worked All Ireland", ref_regex=r"[A-Z][0-9]{2}"),
+ SIG(name="TOTA", description="Toilets on the Air", ref_regex=r"T\-[0-9]{2}")
]
# Modes. Note "DIGI" and "DIGITAL" are also supported but are normalised into "DATA".
@@ -42,33 +42,33 @@ MODE_TYPES = ["CW", "PHONE", "DATA"]
# Band definitions
BANDS = [
- Band(name="2200m", start_freq=135700, end_freq=137800, color="#ff4500", contrast_color="white"),
- Band(name="600m", start_freq=472000, end_freq=479000, color="#1e90ff", contrast_color="white"),
- Band(name="160m", start_freq=1800000, end_freq=2000000, color="#7cfc00", contrast_color="black"),
- Band(name="80m", start_freq=3500000, end_freq=4000000, color="#e550e5", contrast_color="black"),
- Band(name="60m", start_freq=5250000, end_freq=5410000, color="#00008b", contrast_color="white"),
- Band(name="40m", start_freq=7000000, end_freq=7300000, color="#5959ff", contrast_color="white"),
- Band(name="30m", start_freq=10100000, end_freq=10150000, color="#62d962", contrast_color="black"),
- Band(name="20m", start_freq=14000000, end_freq=14350000, color="#f2c40c", contrast_color="black"),
- Band(name="17m", start_freq=18068000, end_freq=18168000, color="#f2f261", contrast_color="black"),
- Band(name="15m", start_freq=21000000, end_freq=21450000, color="#cca166", contrast_color="black"),
- Band(name="12m", start_freq=24890000, end_freq=24990000, color="#b22222", contrast_color="white"),
- Band(name="11m", start_freq=26965000, end_freq=27405000, color="#00ff00", contrast_color="black"),
- Band(name="10m", start_freq=28000000, end_freq=29700000, color="#ff69b4", contrast_color="black"),
- Band(name="6m", start_freq=50000000, end_freq=54000000, color="#FF0000", contrast_color="white"),
- Band(name="5m", start_freq=56000000, end_freq=60500000, color="#e0e0e0", contrast_color="black"),
- Band(name="4m", start_freq=70000000, end_freq=70500000, color="#cc0044", contrast_color="white"),
- Band(name="2m", start_freq=144000000, end_freq=148000000, color="#FF1493", contrast_color="black"),
- Band(name="1.25m", start_freq=219000000, end_freq=225000000, color="#CCFF00", contrast_color="black"),
- Band(name="70cm", start_freq=420000000, end_freq=450000000, color="#999900", contrast_color="white"),
- Band(name="23cm", start_freq=1240000000, end_freq=1325000000, color="#5AB8C7", contrast_color="black"),
- Band(name="2.4GHz", start_freq=2300000000, end_freq=2450000000, color="#FF7F50", contrast_color="black"),
- Band(name="5.8GHz", start_freq=5725000000, end_freq=5850000000, color="#cc0099", contrast_color="white"),
- Band(name="10GHz", start_freq=10000000000, end_freq=10500000000, color="#696969", contrast_color="white"),
- Band(name="24GHz", start_freq=24000000000, end_freq=24050000000, color="#f3edc6", contrast_color="black"),
- Band(name="47GHz", start_freq=47000000000, end_freq=47200000000, color="#ffe786", contrast_color="black"),
- Band(name="76GHz", start_freq=75500000000, end_freq=81500000000, color="#baf9d8", contrast_color="black")]
-UNKNOWN_BAND = Band(name="Unknown", start_freq=0, end_freq=0, color="black", contrast_color="white")
+ Band(name="2200m", start_freq=135700, end_freq=137800),
+ Band(name="600m", start_freq=472000, end_freq=479000),
+ Band(name="160m", start_freq=1800000, end_freq=2000000),
+ Band(name="80m", start_freq=3500000, end_freq=4000000),
+ Band(name="60m", start_freq=5250000, end_freq=5410000),
+ Band(name="40m", start_freq=7000000, end_freq=7300000),
+ Band(name="30m", start_freq=10100000, end_freq=10150000),
+ Band(name="20m", start_freq=14000000, end_freq=14350000),
+ Band(name="17m", start_freq=18068000, end_freq=18168000),
+ Band(name="15m", start_freq=21000000, end_freq=21450000),
+ Band(name="12m", start_freq=24890000, end_freq=24990000),
+ Band(name="11m", start_freq=26965000, end_freq=27405000),
+ Band(name="10m", start_freq=28000000, end_freq=29700000),
+ Band(name="6m", start_freq=50000000, end_freq=54000000),
+ Band(name="5m", start_freq=56000000, end_freq=60500000),
+ Band(name="4m", start_freq=70000000, end_freq=70500000),
+ Band(name="2m", start_freq=144000000, end_freq=148000000),
+ Band(name="1.25m", start_freq=219000000, end_freq=225000000),
+ Band(name="70cm", start_freq=420000000, end_freq=450000000),
+ Band(name="23cm", start_freq=1240000000, end_freq=1325000000),
+ Band(name="2.4GHz", start_freq=2300000000, end_freq=2450000000),
+ Band(name="5.8GHz", start_freq=5725000000, end_freq=5850000000),
+ Band(name="10GHz", start_freq=10000000000, end_freq=10500000000),
+ Band(name="24GHz", start_freq=24000000000, end_freq=24050000000),
+ Band(name="47GHz", start_freq=47000000000, end_freq=47200000000),
+ Band(name="76GHz", start_freq=75500000000, end_freq=81500000000)]
+UNKNOWN_BAND = Band(name="Unknown", start_freq=0, end_freq=0)
# Continents
CONTINENTS = ["EU", "NA", "SA", "AS", "AF", "OC", "AN"]
diff --git a/core/sig_utils.py b/core/sig_utils.py
index 151a100..7afc8fc 100644
--- a/core/sig_utils.py
+++ b/core/sig_utils.py
@@ -8,14 +8,6 @@ from core.constants import SIGS, HTTP_HEADERS
from core.geo_utils import wab_wai_square_to_lat_lon
-# Utility function to get the icon for a named SIG. If no match is found, the "circle-question" icon will be returned.
-def get_icon_for_sig(sig):
- for s in SIGS:
- if s.name == sig:
- return s.icon
- return "circle-question"
-
-
# Utility function to get the regex string for a SIG reference for a named SIG. If no match is found, None will be returned.
def get_ref_regex_for_sig(sig):
for s in SIGS:
diff --git a/data/alert.py b/data/alert.py
index 17b07f8..508057e 100644
--- a/data/alert.py
+++ b/data/alert.py
@@ -7,7 +7,7 @@ from datetime import datetime, timedelta
import pytz
from core.lookup_helper import lookup_helper
-from core.sig_utils import get_icon_for_sig, populate_sig_ref_info
+from core.sig_utils import populate_sig_ref_info
# Data class that defines an alert.
@@ -55,8 +55,6 @@ class Alert:
sig_refs: list = None
# Activation score. SOTA only
activation_score: int = None
- # Icon, from the Font Awesome set. This is fairly opinionated but is here to help the alerthole web UI and Field alertter. Does not include the "fa-" prefix.
- icon: str = None
# Whether this alert is for a DXpedition, as opposed to e.g. an xOTA programme.
is_dxpedition: bool = False
# Where we got the alert from, e.g. "POTA", "SOTA"...
@@ -109,10 +107,6 @@ class Alert:
if self.sig_refs and len(self.sig_refs) > 0 and not self.sig:
self.sig = self.sig_refs[0].sig
- # Icon from SIG
- if self.sig and not self.icon:
- self.icon = get_icon_for_sig(self.sig)
-
# DX operator details lookup, using QRZ.com. This should be the last resort compared to taking the data from
# the actual alertting service, e.g. we don't want to accidentally use a user's QRZ.com home lat/lon instead of
# the one from the park reference they're at.
diff --git a/data/band.py b/data/band.py
index 011d97f..56dd099 100644
--- a/data/band.py
+++ b/data/band.py
@@ -8,8 +8,4 @@ class Band:
# Start frequency, in Hz
start_freq: float
# Stop frequency, in Hz
- end_freq: float
- # Colour to use for this band, as per PSK Reporter
- color: str
- # Contrast colour to use for text against a background of the band colour
- contrast_color: str
\ No newline at end of file
+ end_freq: float
\ No newline at end of file
diff --git a/data/sig.py b/data/sig.py
index a0de179..64688c5 100644
--- a/data/sig.py
+++ b/data/sig.py
@@ -7,8 +7,5 @@ class SIG:
name: str
# Description, e.g. "Parks on the Air"
description: str
- # Icon to use for it, from the Font Awesome set. This is fairly opinionated but is here to help the Spothole web UI
- # and Field Spotter. Does not include the "fa-" prefix.
- icon: str
# Regex matcher for references, e.g. for POTA r"[A-Z]{2}\-\d+".
ref_regex: str = None
\ No newline at end of file
diff --git a/data/spot.py b/data/spot.py
index 2b365db..a41ccfa 100644
--- a/data/spot.py
+++ b/data/spot.py
@@ -11,7 +11,7 @@ from pyhamtools.locator import locator_to_latlong, latlong_to_locator
from core.config import MAX_SPOT_AGE
from core.lookup_helper import lookup_helper
-from core.sig_utils import get_icon_for_sig, populate_sig_ref_info, ANY_SIG_REGEX, get_ref_regex_for_sig
+from core.sig_utils import populate_sig_ref_info, ANY_SIG_REGEX, get_ref_regex_for_sig
from data.sig_ref import SIGRef
@@ -109,16 +109,6 @@ class Spot:
# Activation score. SOTA only
activation_score: int = None
- # Display guidance (optional)
-
- # Icon, from the Font Awesome set. This is fairly opinionated but is here to help the Spothole web UI and Field
- # Spotter. Does not include the "fa-" prefix.
- icon: str = None
- # Colour to represent this spot, if a client chooses to colour spots based on their frequency band, using PSK
- # Reporter's default colours. HTML colour e.g. hex. A contrast colour is also provided which will be black or white.
- band_color: str = None
- band_contrast_color: str = None
-
# Timing info
# Time of the spot, UTC seconds since UNIX epoch
@@ -214,8 +204,6 @@ class Spot:
if self.freq and not self.band:
band = lookup_helper.infer_band_from_freq(self.freq)
self.band = band.name
- self.band_color = band.color
- self.band_contrast_color = band.contrast_color
# Mode from comments or bandplan
if self.mode:
@@ -296,14 +284,6 @@ class Spot:
if self.sig_refs and len(self.sig_refs) > 0 and not self.sig:
self.sig = self.sig_refs[0].sig
- # Icon from SIG if we have one
- if self.sig:
- self.icon = get_icon_for_sig(self.sig)
-
- # Default "radio" icon if nothing else has set it
- if not self.icon:
- self.icon = "tower-cell"
-
# DX Grid to lat/lon and vice versa in case one is missing
if self.dx_grid and not self.dx_latitude:
ll = locator_to_latlong(self.dx_grid)
diff --git a/spotproviders/aprsis.py b/spotproviders/aprsis.py
index fa56bb9..da27afb 100644
--- a/spotproviders/aprsis.py
+++ b/spotproviders/aprsis.py
@@ -51,7 +51,6 @@ class APRSIS(SpotProvider):
comment=data["comment"] if "comment" in data else None,
dx_latitude=data["latitude"] if "latitude" in data else None,
dx_longitude=data["longitude"] if "longitude" in data else None,
- icon="tower-cell",
time=datetime.now(pytz.UTC).timestamp()) # APRS-IS spots are live so we can assume spot time is "now"
# Add to our list
diff --git a/spotproviders/dxcluster.py b/spotproviders/dxcluster.py
index 433b3d3..173829c 100644
--- a/spotproviders/dxcluster.py
+++ b/spotproviders/dxcluster.py
@@ -72,7 +72,6 @@ class DXCluster(SpotProvider):
de_call=match.group(1),
freq=float(match.group(2)) * 1000,
comment=match.group(4).strip(),
- icon="tower-cell",
time=spot_datetime.timestamp())
# Add to our list
diff --git a/spotproviders/rbn.py b/spotproviders/rbn.py
index 1e09d17..b8ac373 100644
--- a/spotproviders/rbn.py
+++ b/spotproviders/rbn.py
@@ -70,7 +70,6 @@ class RBN(SpotProvider):
de_call=match.group(1),
freq=float(match.group(2)) * 1000,
comment=match.group(4).strip(),
- icon="tower-cell",
time=spot_datetime.timestamp())
# Add to our list
diff --git a/spotproviders/ukpacketnet.py b/spotproviders/ukpacketnet.py
index b141fd5..0ee734a 100644
--- a/spotproviders/ukpacketnet.py
+++ b/spotproviders/ukpacketnet.py
@@ -61,7 +61,6 @@ class UKPacketNet(HTTPSpotProvider):
freq=freq,
mode="PKT",
comment=comment,
- icon="tower-cell",
time=datetime.strptime(heard["lastHeard"], "%Y-%m-%d %H:%M:%S").replace(tzinfo=pytz.UTC).timestamp(),
de_grid=node["location"]["locator"] if "locator" in node["location"] else None,
de_latitude=node["location"]["coords"]["lat"],
diff --git a/templates/about.html b/templates/about.html
index 1eeb600..a95187b 100644
--- a/templates/about.html
+++ b/templates/about.html
@@ -63,7 +63,11 @@
This software is dedicated to the memory of Tom G1PJB, SK, a friend and colleague who sadly passed away around the time I started writing it in Autumn 2025. I was looking forward to showing it to you when it was done.
-
+
+
+
+
+
{% end %}
\ No newline at end of file
diff --git a/templates/add_spot.html b/templates/add_spot.html
index 51f18d2..ba4a4e1 100644
--- a/templates/add_spot.html
+++ b/templates/add_spot.html
@@ -69,8 +69,12 @@
-
-
+
+
+
+
+
+
{% end %}
\ No newline at end of file
diff --git a/templates/alerts.html b/templates/alerts.html
index a68c185..dc8cbac 100644
--- a/templates/alerts.html
+++ b/templates/alerts.html
@@ -168,8 +168,12 @@
-
-
+
+
+
+
+
+
{% end %}
\ No newline at end of file
diff --git a/templates/bands.html b/templates/bands.html
index 8391f8a..d66d2d3 100644
--- a/templates/bands.html
+++ b/templates/bands.html
@@ -117,6 +117,11 @@
+
+ Band color scheme
+
+
@@ -129,9 +134,13 @@
-
-
-
+
+
+
+
+
+
+
{% end %}
\ No newline at end of file
diff --git a/templates/base.html b/templates/base.html
index 3d0a5e7..132deed 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -44,6 +44,7 @@
+
diff --git a/templates/map.html b/templates/map.html
index 9a3024e..974b76e 100644
--- a/templates/map.html
+++ b/templates/map.html
@@ -129,6 +129,11 @@
+
+ Band color scheme
+
+
@@ -147,9 +152,13 @@
-
-
-
+
+
+
+
+
+
+
{% end %}
\ No newline at end of file
diff --git a/templates/spots.html b/templates/spots.html
index dc8c953..c6cfd37 100644
--- a/templates/spots.html
+++ b/templates/spots.html
@@ -154,12 +154,17 @@
Theme
-
-
-
-
-
+
+
+
+
+
+
+ Band color scheme
+
+
@@ -218,9 +223,13 @@
-
-
-
+
+
+
+
+
+
+
{% end %}
\ No newline at end of file
diff --git a/templates/status.html b/templates/status.html
index 8ca719c..56d5b5f 100644
--- a/templates/status.html
+++ b/templates/status.html
@@ -3,8 +3,12 @@
-
-
+
+
+
+
+
+
{% end %}
\ No newline at end of file
diff --git a/webassets/apidocs/openapi.yml b/webassets/apidocs/openapi.yml
index 3a5485c..9445740 100644
--- a/webassets/apidocs/openapi.yml
+++ b/webassets/apidocs/openapi.yml
@@ -1084,18 +1084,6 @@ components:
type: integer
description: Activation score. SOTA only
example: 0
- icon:
- type: string
- descripton: Icon, from the Font Awesome set. This is fairly opinionated but is here to help the Spothole web UI and Field Spotter. Does not include the "fa-" prefix.
- example: tree
- band_color:
- type: string
- descripton: Colour to represent this spot, if a client chooses to colour spots based on their frequency band, using PSK Reporter's default colours. HTML colour e.g. hex.
- example: "#ff0000"
- band_contrast_color:
- type: string
- descripton: Black or white, whichever best contrasts with "band_color".
- example: "white"
qrt:
type: boolean
description: QRT state. Some APIs return spots marked as QRT. Otherwise we can check the comments.
@@ -1204,10 +1192,6 @@ components:
type: integer
description: Activation score. SOTA only
example: 0
- icon:
- type: string
- descripton: Icon, from the Font Awesome set. This is fairly opinionated but is here to help the Spothole web UI and Field Spotter. Does not include the "fa-" prefix.
- example: tree
source:
type: string
description: Where we got the alert from.
@@ -1283,14 +1267,6 @@ components:
type: int
description: The end frequency of this band, in Hz.
example: 7200000
- color:
- type: string
- description: The color associated with this mode, as used on PSK Reporter.
- example: "#5959ff"
- contrast_color:
- type: string
- description: Black or white, whichever provides the best contrast against the band colour.
- example: white
SIG:
type: object
@@ -1302,10 +1278,6 @@ components:
type: string
description: The full name of the SIG
example: Parks on the Air
- icon:
- type: string
- description: Icon, from the Font Awesome set. This is fairly opinionated but is here to help the Spothole web UI and Field Spotter. Does not include the "fa-" prefix.
- example: tree
ref_regex:
type: string
description: Regex that matches this SIG's reference IDs. Generally for Spothole's own internal use, clients probably won't need this.
diff --git a/webassets/js/alerts.js b/webassets/js/alerts.js
index 4363c72..37e1a2a 100644
--- a/webassets/js/alerts.js
+++ b/webassets/js/alerts.js
@@ -243,7 +243,7 @@ function addAlertRowsToTable(tbody, alerts) {
$tr.append(`
");
if (showSource) {
- $td2.append(` `);
+ $td2.append(` `);
}
if (showRef) {
$td2.append(`${sig_refs} `);
diff --git a/webassets/js/bands.js b/webassets/js/bands.js
index 219dc12..8cf97c5 100644
--- a/webassets/js/bands.js
+++ b/webassets/js/bands.js
@@ -70,7 +70,7 @@ function updateBands() {
var table = $('
').append('
');
bandToSpots.forEach(function (spotList, bandName) {
// Get the colours for the band from the first spot, and prepare the header
- table.find('thead tr').append(`
${spotList[0].band}
`);
+ table.find('thead tr').append(`
${spotList[0].band}
`);
// Get the band data to fetch start and end frequencies
let band = options["bands"].filter(function (b) {
@@ -145,7 +145,7 @@ function updateBands() {
// Now each spot is tagged with how far down the div it should go, add them to the DOM.
spotList.forEach(s => {
- bandSpotsDiv.append(`
`);
});
// Work out how tall the canvas should be. Normally this is matching the normal band column height, but if some
@@ -167,7 +167,7 @@ function updateBands() {
ctx.beginPath();
ctx.lineWidth = 2;
ctx.lineCap = "round";
- ctx.strokeStyle = s.band_color;
+ ctx.strokeStyle = bandToColor(s['band']);
ctx.moveTo(0, pxDownBandFreq);
ctx.lineTo(BAND_COLUMN_CANVAS_WIDTH_PX, pxDownBandLabel);
ctx.stroke();
@@ -228,6 +228,21 @@ function loadOptions() {
// Store options
options = jsonData;
+ // Populate the Display panel
+ options["web-ui-options"]["max-spot-age"].forEach(sc => $("#max-spot-age").append($('