fix(ui,i18n): E30 review round 2 — honest bio failure, a full show summary, one HU name per thing

- Person page: a bio ask that fails says so with a retry instead of reading as 'no biography'.
- Show page: the summary is a ClampedText (5 lines + More), like the person and collection pages;
  one More/Less pair (plex.textMore/textLess) for all three.
- Channels: a re-slotted row is placed in the language the server orders by (the stored
  preference, else English), not the UI's guess.
- A skipped run's body is only the reason (its title already says skipped).
- HU: Behúzási kvótatartalék; Eseménynapló ürítve / az eseménynaplót; indok; közvetlenül
  játszható / közvetlen közvetítés in the Plex hints.
- Tests: ClampedText re-measures on a resize, the show summary clamp, serverOrderLang.
This commit is contained in:
2026-10-01 08:31:04 +02:00
parent 6ac9ffd45e
commit 9454717f47
19 changed files with 140 additions and 45 deletions
+10 -1
View File
@@ -6,7 +6,7 @@ import { afterEach, describe, expect, it, vi } from "vitest";
import { QueryClient } from "@tanstack/react-query";
import { api } from "./api";
import { LANGUAGE_ORDERED, qk } from "./queryKeys";
import { saveLanguage } from "./saveLanguage";
import { saveLanguage, serverOrderLang } from "./saveLanguage";
afterEach(() => vi.restoreAllMocks());
@@ -37,3 +37,12 @@ describe("saveLanguage", () => {
expect(asked).not.toHaveBeenCalled();
});
});
describe("serverOrderLang", () => {
it("is the stored language, else English — never the UI's guess", () => {
expect(serverOrderLang({ language: "hu" })).toBe("hu");
expect(serverOrderLang({})).toBe("en"); // nothing stored: the server sorts in English
expect(serverOrderLang({ language: "de" })).toBe("en");
expect(serverOrderLang(undefined)).toBe("en");
});
});