diff --git a/appearance.go b/appearance.go
index b2f25ed..2e75d5f 100644
--- a/appearance.go
+++ b/appearance.go
@@ -174,6 +174,11 @@ type MatrixColors struct {
EntityWorked string `json:"entity_worked"`
NotWorked string `json:"not_worked"`
CurrentEntry string `json:"current_entry"`
+ // The dot marking a slot already worked with the callsign in hand. It is a
+ // mark rather than a background, so it needs its own two colours: it is
+ // drawn on top of all five of the above and must stay legible over each.
+ MarkWorked string `json:"mark_worked"`
+ MarkConfirmed string `json:"mark_confirmed"`
}
// normMatrixColors keeps only plain hex values. Anything else becomes "" — i.e.
@@ -196,6 +201,8 @@ func normMatrixColors(c MatrixColors) MatrixColors {
EntityWorked: clean(c.EntityWorked),
NotWorked: clean(c.NotWorked),
CurrentEntry: clean(c.CurrentEntry),
+ MarkWorked: clean(c.MarkWorked),
+ MarkConfirmed: clean(c.MarkConfirmed),
}
}
diff --git a/changelog.json b/changelog.json
index 4422683..41c27fa 100644
--- a/changelog.json
+++ b/changelog.json
@@ -4,11 +4,11 @@
"date": "",
"en": [
"Each radio carries its own MY_RIG (Settings → CAT), written on every QSO made with it — ahead of the per-band station in Operating conditions, which says what you planned to use rather than which radio is keying. Left empty, nothing changes.",
- "Worked-before matrix: a dot in the corner of a cell now means the callsign you are working has already been worked on that slot, whatever colour the entity status gave the cell."
+ "Worked-before matrix: a dot in the corner of a cell now means the callsign you are working has already been worked on that slot, whatever colour the entity status gave the cell. Its two colours (worked / confirmed with this callsign) are in Appearance with the other matrix colours."
],
"fr": [
"Chaque radio porte son propre MY_RIG (Réglages → CAT), inscrit sur chaque QSO fait avec elle — avant la station par bande des Conditions de trafic, qui dit ce qui était prévu et non quelle radio émet. Laissé vide, rien ne change.",
- "Matrice des contacts : un point dans le coin d'une case indique que l'indicatif en cours a déjà été contacté sur ce créneau, quelle que soit la couleur donnée par le statut de l'entité."
+ "Matrice des contacts : un point dans le coin d'une case indique que l'indicatif en cours a déjà été contacté sur ce créneau, quelle que soit la couleur donnée par le statut de l'entité. Ses deux couleurs (contacté / confirmé avec cet indicatif) se règlent dans Apparence avec les autres couleurs de la matrice."
]
},
{
diff --git a/frontend/src/components/AppearancePanel.tsx b/frontend/src/components/AppearancePanel.tsx
index 6cee9e5..1995aa6 100644
--- a/frontend/src/components/AppearancePanel.tsx
+++ b/frontend/src/components/AppearancePanel.tsx
@@ -127,6 +127,12 @@ function MatrixColorsSection() {
+
+
+
+
+
+