Weekdays that fit the weather columns, the top bar's own abbreviation, tile texts that fit, and a check that measures them

- The CYD's weather columns hold two letters beside the icon: every language has its own two-letter days (the CLDR's
  short width, Polish nd pn wt); French mar became nar there. check fails on a longer one.
- The top bar takes the language's abbreviation (sam. 19 sept., Sa., 19. Sept.), English keeps Sa 19 Sep.
- The editor's clock and date follow the screens: 7:05 PM in the top bar, 7:05 on the clock card.
- A long weather word ends in an ellipsis before the days.
- Tile lines that were cut on a screen are shorter (Zum Öffnen, Ouvrir, Otwórz, Sin imagen, ...); check measures
  them with the screens' font against the tile width of both boards.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Max Gramser
2026-09-19 17:13:59 +02:00
parent 365ed158b9
commit f02f429188
26 changed files with 145 additions and 81 deletions
+6 -1
View File
@@ -28,8 +28,13 @@ describe("clock and date", () => {
const evening = new Date(2026, 8, 15, 19, 5);
it("formats the clock the way the screen does", () => {
expect(clockText(true, evening)).toBe("19:05");
expect(clockText(false, evening)).toBe("07:05");
// The clock card's big digits: no leading zero, no day period (its font has no letters).
expect(clockText(false, evening)).toBe("7:05");
expect(clockText(false, new Date(2026, 8, 15, 0, 30))).toBe("12:30");
// The top bar: with the language's day period, as screen_text::clock_text writes it.
expect(clockText(false, evening, "en")).toBe("7:05 PM");
expect(clockText(false, new Date(2026, 8, 15, 0, 30), "en")).toBe("12:30 AM");
expect(clockText(true, evening, "en")).toBe("19:05");
});
it("writes the date short", () => {
expect(dateText(evening)).toBe("Tu 15 Sep");