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

@ -6436,11 +6436,11 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get jellyfinSubtitle =>
'Watch shows and films from your own Jellyfin server, and learn the words of their subtitles.';
'Watch shows and films and listen to music from your own Jellyfin server, and learn the words of their subtitles and lyrics. Signed in, a studyset\'s Add material offers From Jellyfin.';
@override
String get jellyfinPrivacy =>
'Your server\'s address and your sign-in stay on this device, and the shows tied to a studyset follow you as ids, never titles. To find the words of a line, the app asks the instance about its text, which it answers and doesn\'t keep.';
'Your server\'s address and your sign-in stay on this device, and what you tie to a studyset follows you as ids, never titles. To find the words of a line, the app asks the instance about its text, which it answers and doesn\'t keep. Words you add are tagged with where you met them, kept with your flashcards like any tag.';
@override
String jellyfinSignedInAs(String user, String server) {
@ -6505,10 +6505,10 @@ class AppLocalizationsEn extends AppLocalizations {
'That didn\'t work on the Jellyfin server. Try again.';
@override
String get studysetWatch => 'Watch from Jellyfin';
String get studysetWatch => 'From Jellyfin';
@override
String get jellyfinBrowseTitle => 'Watch';
String get jellyfinBrowseTitle => 'Jellyfin';
@override
String get jellyfinTied => 'Tied to this studyset';
@ -6517,7 +6517,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get jellyfinLibraries => 'Libraries';
@override
String get jellyfinSearchHint => 'Search shows and films';
String get jellyfinSearchHint => 'Search shows, films and music';
@override
String get jellyfinTie => 'Tie to this studyset';
@ -6640,10 +6640,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get watchStudyWordsSong => 'Study this song\'s words';
@override
String get watchStudyNothingSong =>
'The studyset holds none of this song\'s words yet';
@override
String get watchNoLyrics =>
'This song has no lyrics, so there is nothing to look up.';
@ -6658,8 +6654,45 @@ class AppLocalizationsEn extends AppLocalizations {
String get watchStudyWords => 'Study this video\'s words';
@override
String get watchStudyNothing =>
'The studyset holds none of this video\'s words yet';
String watchAddListed(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Add $count words',
one: 'Add 1 word',
);
return '$_temp0';
}
@override
String get watchAddListedHint =>
'Adds the words listed to the studyset, tagged with where they were met, to study them';
@override
String get watchAddNothing => 'No new words listed: change the filter';
@override
String watchAddNew(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Add the $count new words listed',
one: 'Add the 1 new word listed',
);
return '$_temp0';
}
@override
String watchAddedWords(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count words added',
one: '1 word added',
zero: 'No words added',
);
return '$_temp0';
}
@override
String get watchStudyScheduled => 'Study, on their schedules';