feat(sat): a wider frequency list, a resizable readout, one locator

Three things reported together from the tab.

The shipped frequency plan went from eleven satellites to twenty-five:
the eight Tevel FM cubesats, EO-88, AO-109, CAS-4A and 4B, TO-108,
GreenCube's single-frequency digipeater, and QO-100's wideband
transponder beside its narrowband one. It remains a starting point in a
file the operator can correct — a transponder gets switched and no
release should be needed to follow it — and the picker still lists every
bird in the element set when the "with a plan" filter is unticked.

The readout column drags to any width between 240 and 720 pixels,
double-clicks back to its default, and folds away entirely. How much map
against how much detail is the operator's call: watching a footprint
cross an ocean and working a pass want opposite things.

And the locator is no longer asked for twice. Passes are predicted from
the station locator, which is set once in Station information; the field
here was only ever for an antenna at another site, so it says so and sits
folded away. Nobody should have to wonder which of two locators is in
use.

Also: "Driven by" is two columns wide. "OpsLog (EasyComm II)" did not fit
in a third of the row, and a truncated choice is a choice that cannot be
read.
This commit is contained in:
2026-09-07 22:36:48 +02:00
parent 76022ff91c
commit b478cbfd2a
6 changed files with 388 additions and 33 deletions
+12 -4
View File
@@ -595,10 +595,14 @@ const en: Dict = {
'sat.geoHint': 'Geostationary: always there, no Doppler to correct. Point once and leave it.',
'sat.noneFollowed': 'no satellite followed — choose some in Settings',
'sat.tleStale': 'elements are old — refresh them in Settings',
'sat.hideSide': 'Hide the readout — all map', 'sat.showSide': 'Show the readout',
'sat.sideWidthTip': 'Drag to resize the readout. Double-click to reset it.',
'sec.satellite': 'Satellites',
'satset.hint': 'Where the antenna is, and the machine that points it. The satellites you follow and the frequency plan are in the Satellites tab.',
'satset.grid': 'Locator', 'satset.gridPlaceholder': 'your stations',
'satset.gridHint': 'Leave the locator empty to use your stations own. Altitude is the antenna above sea level — it changes the horizon, and so the start and end of a low pass.',
'satset.gridPlaceholder': 'e.g. JN18cx',
'satset.altHint': 'Passes are predicted from your station locator (Station information). Altitude is the antenna above sea level — it changes the horizon, and so the start and end of a low pass. “Lowest pass” hides the ones that scrape the horizon and will never be a QSO.',
'satset.otherSite': 'The satellite antenna is at another site…',
'satset.otherSiteHint': 'Only fill this in if your satellite station is somewhere other than your logged locator. Empty means your stations own.',
'satset.altM': 'Altitude (m)', 'satset.minEl': 'Lowest pass (°)', 'satset.windowH': 'Predict ahead (hours)',
'satset.autoTle': 'Fetch fresh elements at startup when they are more than three days old',
'satset.rotor': 'Azimuth / elevation rotator',
@@ -1182,10 +1186,14 @@ const fr: Dict = {
'sat.geoHint': 'Géostationnaire : toujours là, aucun Doppler à corriger. On pointe une fois et on ny touche plus.',
'sat.noneFollowed': 'aucun satellite suivi — choisissez-en dans les Réglages',
'sat.tleStale': 'éléments anciens — actualisez-les dans les Réglages',
'sat.hideSide': 'Masquer le panneau — carte plein écran', 'sat.showSide': 'Afficher le panneau',
'sat.sideWidthTip': 'Glisser pour redimensionner le panneau. Double-clic pour le remettre par défaut.',
'sec.satellite': 'Satellites',
'satset.hint': 'Où se trouve lantenne, et la machine qui la pointe. Les satellites suivis et le plan de fréquences sont dans longlet Satellites.',
'satset.grid': 'Locator', 'satset.gridPlaceholder': 'celui de la station',
'satset.gridHint': 'Laissez le locator vide pour utiliser celui de votre station. Laltitude est celle de lantenne au-dessus du niveau de la mer — elle change lhorizon, donc le début et la fin dun passage rasant.',
'satset.gridPlaceholder': 'ex. JN18cx',
'satset.altHint': 'Les passages sont calculés depuis le locator de votre station (Informations station). Laltitude est celle de lantenne au-dessus du niveau de la mer — elle change lhorizon, donc le début et la fin dun passage rasant. « Passage minimal » masque ceux qui rasent lhorizon et ne feront jamais un QSO.',
'satset.otherSite': 'Lantenne satellite est sur un autre site…',
'satset.otherSiteHint': 'À remplir seulement si votre station satellite est ailleurs que le locator de votre log. Vide = celui de votre station.',
'satset.altM': 'Altitude (m)', 'satset.minEl': 'Passage minimal (°)', 'satset.windowH': 'Prévoir sur (heures)',
'satset.autoTle': 'Récupérer des éléments frais au démarrage quand ils ont plus de trois jours',
'satset.rotor': 'Rotor azimut / élévation',