fix(cluster): NEW CALL is not NEW SLOT
The slot-highlight option reused the new-slot status, which already meant something else and something narrower: the ENTITY was worked on this band and on this mode, but never on the two together. What the option surfaces is a fact about the CALLSIGN - never worked on this band and mode - and the entity may be long since confirmed there. Overloading it cost exactly what it always costs. Forty consecutive rows read NEW SLOT, the genuine new-slot rows drowned in them, and the Status column stopped carrying information at all. new-call is its own status now, with its own badge, its own tooltip spelling out that it is the callsign and not the entity, and its own filter chip. It keeps the caution colour for the moment: it sits at the same "worth a look, not a new one" level as new-slot, and the colour rework will separate them. The status filter had to move onto the displayed status too. It read the raw backend entry, where new-call by construction never appears, so the chip would have selected nothing at all.
This commit is contained in:
@@ -48,7 +48,7 @@ type Entry = {
|
||||
// in front of you.
|
||||
function bringsNothingNew(s: Entry): boolean {
|
||||
if (!s || !s.status) return false; // unresolved — never hide, it would flicker
|
||||
if (s.status === 'new' || s.status === 'new-band' || s.status === 'new-mode' || s.status === 'new-slot') return false;
|
||||
if (s.status === 'new' || s.status === 'new-band' || s.status === 'new-mode' || s.status === 'new-slot' || s.status === 'new-call') return false;
|
||||
return !(s.new_pota || s.new_county || s.new_pfx);
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ export function applySpotDisplay<T extends Entry>(s: T, o: SpotDisplayOptions):
|
||||
// entity is precisely the spot the second option exists to surface. Promoting
|
||||
// first protects it for free: bringsNothingNew() returns false on new-slot.
|
||||
if (o.slotHighlight && e.worked_slot === false && (!e.status || e.status === 'worked')) {
|
||||
e = { ...e, status: 'new-slot' } as NonNullable<T>;
|
||||
e = { ...e, status: 'new-call' } as NonNullable<T>;
|
||||
}
|
||||
|
||||
if (o.muteWorked && bringsNothingNew(e)) {
|
||||
|
||||
Reference in New Issue
Block a user