feat(jellyfin): From Jellyfin once signed in, the panel in the glow's colour, adding the words listed
All checks were successful
CI / check (push) Successful in 16m0s
CI / deploy (push) Successful in 1m13s

Add material's entry is now From Jellyfin (Aus Jellyfin), with a play
icon rather than a TV, as it plays music too, and shows only once the
device is signed in to a server in Settings, as the assistant shows only
once switched on; Settings says where it then is. The screen it opens is
called Jellyfin, and its search finds music too.

The words' panel takes the glow's colour as the scene changes: each copy
the glow takes (every 3 s) gives its average, no lighter than 35 % so the
text stays readable, as strong as the glow and fading into the next as
it does. In the light theme, which has no glow, the panel is tinted from
it while the pointer is over it. What lights up in the panel takes a
scheme made from the same colour; the episode's thumbnail is no longer
used.

While the studyset holds none of the video's words, the study button
adds the words listed (Add 11 words, as the filter shows them), tagged
as a word added alone is; afterwards it studies them, and its menu adds
the new ones listed.

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

View file

@ -6492,11 +6492,11 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get jellyfinSubtitle =>
'Schau Serien und Filme von deinem eigenen Jellyfin-Server und lerne die Wörter ihrer Untertitel.';
'Schau Serien und Filme und hör Musik von deinem eigenen Jellyfin-Server und lerne die Wörter ihrer Untertitel und Liedtexte. Angemeldet bietet „Material hinzufügen“ eines Lernsets „Aus Jellyfin“ an.';
@override
String get jellyfinPrivacy =>
'Die Adresse deines Servers und deine Anmeldung bleiben auf diesem Gerät, und die mit einem Lernset verbundenen Serien folgen dir als IDs, nie als Titel. Um die Wörter einer Zeile zu finden, fragt die App die Instanz nach ihrem Text; sie antwortet und speichert ihn nicht.';
'Die Adresse deines Servers und deine Anmeldung bleiben auf diesem Gerät, und was du mit einem Lernset verbindest, folgt dir als IDs, nie als Titel. Um die Wörter einer Zeile zu finden, fragt die App die Instanz nach ihrem Text; sie antwortet und speichert ihn nicht. Wörter, die du hinzufügst, bekommen Tags, wo du ihnen begegnet bist, gespeichert mit deinen Karteikarten wie jeder Tag.';
@override
String jellyfinSignedInAs(String user, String server) {
@ -6563,10 +6563,10 @@ class AppLocalizationsDe extends AppLocalizations {
'Das hat auf dem Jellyfin-Server nicht geklappt. Versuch es noch einmal.';
@override
String get studysetWatch => 'Von Jellyfin schauen';
String get studysetWatch => 'Aus Jellyfin';
@override
String get jellyfinBrowseTitle => 'Schauen';
String get jellyfinBrowseTitle => 'Jellyfin';
@override
String get jellyfinTied => 'Mit diesem Lernset verbunden';
@ -6575,7 +6575,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get jellyfinLibraries => 'Mediatheken';
@override
String get jellyfinSearchHint => 'Serien und Filme suchen';
String get jellyfinSearchHint => 'Serien, Filme und Musik suchen';
@override
String get jellyfinTie => 'Mit diesem Lernset verbinden';
@ -6699,10 +6699,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get watchStudyWordsSong => 'Die Wörter dieses Lieds lernen';
@override
String get watchStudyNothingSong =>
'Das Lernset enthält noch keins der Wörter dieses Lieds';
@override
String get watchNoLyrics =>
'Dieses Lied hat keinen Liedtext, es gibt nichts nachzuschlagen.';
@ -6717,8 +6713,46 @@ class AppLocalizationsDe extends AppLocalizations {
String get watchStudyWords => 'Die Wörter dieses Videos lernen';
@override
String get watchStudyNothing =>
'Das Lernset enthält noch keins der Wörter dieses Videos';
String watchAddListed(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Wörter hinzufügen',
one: '1 Wort hinzufügen',
);
return '$_temp0';
}
@override
String get watchAddListedHint =>
'Fügt die aufgelisteten Wörter dem Lernset hinzu, mit Tags, wo sie vorkamen, um sie zu lernen';
@override
String get watchAddNothing =>
'Keine neuen Wörter in der Liste: ändere den Filter';
@override
String watchAddNew(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Die $count neuen Wörter der Liste hinzufügen',
one: 'Das 1 neue Wort der Liste hinzufügen',
);
return '$_temp0';
}
@override
String watchAddedWords(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Wörter hinzugefügt',
one: '1 Wort hinzugefügt',
zero: 'Keine Wörter hinzugefügt',
);
return '$_temp0';
}
@override
String get watchStudyScheduled => 'Lernen, nach Plan';