From c2224680217043bd664a4bc61ad37108da8aa5e4 Mon Sep 17 00:00:00 2001 From: rouggy Date: Fri, 28 Aug 2026 23:24:06 +0200 Subject: [PATCH] style(cluster): give NEW SLOT its own colour MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The whole new-* family shared the warning amber while the NEW PFX marker sits in caution yellow — two different facts, two near-identical colours in one cell. NEW SLOT now takes aqua (chart-2), the same story the panadapter palette already tells: its default for new-slot has been cyan all along. --- changelog.json | 6 ++++-- frontend/src/components/ClusterGrid.tsx | 8 +++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/changelog.json b/changelog.json index 358b4b6..df6ad61 100644 --- a/changelog.json +++ b/changelog.json @@ -4,11 +4,13 @@ "date": "", "en": [ "TCI (SunSDR): the meter subscription is renewed when the radio announces it is ready — sent only at connect, it could fall inside the initial state dump and be ignored, which left the transmit power and SWR empty. The log now also records the subscription and the first sensor frames, so a report can tell “the radio never sends them” from “they arrived and were dropped”.", - "Sending a spot while in split now pre-fills the RX frequency — where the station actually is — instead of the TX frequency, which spotted the pile-up five up from the DX." + "Sending a spot while in split now pre-fills the RX frequency — where the station actually is — instead of the TX frequency, which spotted the pile-up five up from the DX.", + "Cluster: NEW SLOT gets its own colour (aqua, matching the panadapter palette) — it shared the amber of the NEW family while NEW PFX sat in a near-identical yellow beside it." ], "fr": [ "TCI (SunSDR) : l'abonnement aux mesures est renouvelé quand la radio annonce qu'elle est prête — envoyé seulement à la connexion, il pouvait tomber pendant l'envoi initial de l'état et être ignoré, laissant la puissance et le ROS vides en émission. Le journal enregistre aussi l'abonnement et les premières trames de mesure, pour distinguer « la radio ne les envoie jamais » de « elles arrivaient et étaient perdues ».", - "Envoyer un spot en split préremplit désormais la fréquence RX — là où la station se trouve réellement — au lieu de la fréquence TX, qui spottait le pile-up cinq au-dessus du DX." + "Envoyer un spot en split préremplit désormais la fréquence RX — là où la station se trouve réellement — au lieu de la fréquence TX, qui spottait le pile-up cinq au-dessus du DX.", + "Cluster : NOUVEAU SLOT reçoit sa propre couleur (aqua, celle de la palette du panadapter) — il partageait l'ambre de la famille NOUVEAU alors que NOUVEAU PFX portait un jaune quasi identique juste à côté." ] }, { diff --git a/frontend/src/components/ClusterGrid.tsx b/frontend/src/components/ClusterGrid.tsx index 9fdeed3..6f05238 100644 --- a/frontend/src/components/ClusterGrid.tsx +++ b/frontend/src/components/ClusterGrid.tsx @@ -148,6 +148,11 @@ function statusFor(p: any): SpotStatusEntry | undefined { // filled pfx → new prefix filled POTA → new park filled county → new county // blue call → already worked (not a novelty, so text only) const NEW = 'var(--warning)'; // yellow: something here is new +// NEW SLOT gets its own hue. It shared the amber NEW family while the NEW PFX +// marker sits in caution yellow — two different facts, two near-identical +// colours in the same cell. Aqua matches the cyan the panadapter palette +// already gives new-slot, so the two views tell the story in the same colour. +const NEWSLOT = 'var(--chart-2)'; const WKD = 'var(--info)'; // blue: this callsign is already in the log // FILLING the cell that carries the fact, rather than only tinting its text. @@ -190,9 +195,10 @@ function statusColor(s: SpotStatusEntry | undefined): string | null { case 'new-band-mode': case 'new-band': case 'new-mode': - case 'new-slot': case 'new-call': return NEW; + case 'new-slot': + return NEWSLOT; default: return s?.worked_call ? WKD : null; }