fix(train): a day's page of its own, in cards, its night and Recharge drawn in place

The night's chart threw mid-paint where Polar's last phase starts at the
night's end or after it: its right edge was clamped between left + 1 and
the row's width, the lower bound then above the upper (an ArgumentError).
A throw mid-paint leaves the canvas moved, so the rows below and the charts
after them were drawn out of place, the skin temperature's among them. Each
phase now stays within its row, a pixel wide at least.

Nightly Recharge showed Polar's marks for a figure it has none of (-1 for
the recovery and the intervals, -100 for the nervous system's status, 0 for
a baseline not yet learnt) as the person's own. Recharge.known leaves them
out, on the page and in the days' list; the figures are rows, each with the
person's usual below it, and Polar's explanation of them (the status from
-10 to +10, what each measures) is behind halkyon_ui's question mark.

The page is a screen of its own over the tabs, without the bar and with the
way back at its top left, its parts in cards (the developer's review of
3 Nov 2026; D60 had it inside Profile).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-11-03 21:36:34 +01:00
commit ddca423b8a
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -2242,35 +2242,59 @@ abstract class AppLocalizations {
/// **'Nightly Recharge'**
String get dayRecharge;
/// No description provided for @dayRechargeLevel.
/// No description provided for @dayRecovery.
///
/// In en, this message translates to:
/// **'Recovery {level} of 6'**
String dayRechargeLevel(int level);
/// **'Recovery'**
String get dayRecovery;
/// No description provided for @dayAnsStatus.
/// No description provided for @dayRecoveryOf.
///
/// In en, this message translates to:
/// **'Autonomic nervous system {value}, from −10 to +10'**
String dayAnsStatus(String value);
/// **'{level} of 6'**
String dayRecoveryOf(int level);
/// No description provided for @dayNightHeart.
/// No description provided for @dayAns.
///
/// In en, this message translates to:
/// **'Heart rate {bpm} bpm, your usual {usual} bpm'**
String dayNightHeart(int bpm, int usual);
/// **'Autonomic nervous system'**
String get dayAns;
/// No description provided for @dayHrv.
/// No description provided for @dayHrvName.
///
/// In en, this message translates to:
/// **'Heart rate variability {ms} ms, your usual {usual} ms'**
String dayHrv(int ms, int usual);
/// **'Heart rate variability'**
String get dayHrvName;
/// No description provided for @dayBreathing.
/// No description provided for @dayBreathingName.
///
/// In en, this message translates to:
/// **'Breathing {rate} a minute'**
String dayBreathing(String rate);
/// **'Breathing'**
String get dayBreathingName;
/// No description provided for @dayPerMinute.
///
/// In en, this message translates to:
/// **'{rate} a minute'**
String dayPerMinute(String rate);
/// No description provided for @dayMs.
///
/// In en, this message translates to:
/// **'{ms} ms'**
String dayMs(int ms);
/// Below a figure of the night: the person's own usual, as Polar learnt it.
///
/// In en, this message translates to:
/// **'usually {value}'**
String dayUsual(String value);
/// No description provided for @dayRechargeHelp.
///
/// In en, this message translates to:
/// **'Nightly Recharge is Polar\'s measure of how your body recovered in the first hours of sleep, against your own usual. Recovery runs from 1 to 6. The autonomic nervous system\'s status runs from −10 to +10: above 0, it settled better than usual. Heart rate variability is how much the time between heartbeats varies; higher than usual tends to mean a better recovery. Breathing counts your breaths a minute. A figure the band has none of yet is left out.'**
String get dayRechargeHelp;
/// No description provided for @daySkin.
///