feat(train): signing in to Jellyfin and marking playlists (ADR 0030, D47)
Music's decisions as D47, and its first part: the music screen from the account sheet, on Android, signs in to the person's Jellyfin with Quick Connect, else a password, and lists their playlists of music to mark for running. The token is in the keyring, the server and the marks in the person's music.json, nothing on Train's server. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
5ff9b2e053
commit
3336fe4eca
1 changed files with 2364 additions and 3 deletions
|
|
@ -2835,6 +2835,162 @@ abstract class AppLocalizations {
|
|||
/// In en, this message translates to:
|
||||
/// **'Heading up'**
|
||||
String get recordingHeadingUp;
|
||||
|
||||
/// The music screen's title, and its tile in the account sheet.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Music'**
|
||||
String get musicTitle;
|
||||
|
||||
/// Under Music in the account sheet.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Jellyfin playlists to run to'**
|
||||
String get musicHint;
|
||||
|
||||
/// No description provided for @musicIntro.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Train plays music from your Jellyfin server, choosing tracks whose beat fits your steps. Your account and music stay on this phone.'**
|
||||
String get musicIntro;
|
||||
|
||||
/// The label of the server's address.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Jellyfin server'**
|
||||
String get musicServer;
|
||||
|
||||
/// No description provided for @musicConnect.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Connect'**
|
||||
String get musicConnect;
|
||||
|
||||
/// No description provided for @musicBadAddress.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Enter the server\'s address, such as jellyfin.example.org.'**
|
||||
String get musicBadAddress;
|
||||
|
||||
/// No description provided for @musicUnreachable.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'The server can\'t be reached. Check the address and the connection.'**
|
||||
String get musicUnreachable;
|
||||
|
||||
/// No description provided for @musicNotJellyfin.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'There is no Jellyfin server at this address.'**
|
||||
String get musicNotJellyfin;
|
||||
|
||||
/// No description provided for @musicRefused.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Jellyfin refused. Check the user name and password.'**
|
||||
String get musicRefused;
|
||||
|
||||
/// No description provided for @musicCodeExpired.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'The code has expired.'**
|
||||
String get musicCodeExpired;
|
||||
|
||||
/// No description provided for @musicFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Jellyfin answered with an error. Try again later.'**
|
||||
String get musicFailed;
|
||||
|
||||
/// No description provided for @musicQuickConnect.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'To sign in to {server}, enter this code in Jellyfin on another device, under Settings, Quick Connect.'**
|
||||
String musicQuickConnect(String server);
|
||||
|
||||
/// No description provided for @musicNewCode.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'New code'**
|
||||
String get musicNewCode;
|
||||
|
||||
/// No description provided for @musicBack.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Back'**
|
||||
String get musicBack;
|
||||
|
||||
/// No description provided for @musicUsePassword.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Use a password'**
|
||||
String get musicUsePassword;
|
||||
|
||||
/// No description provided for @musicPasswordIntro.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Sign in to {server} with your Jellyfin user name and password.'**
|
||||
String musicPasswordIntro(String server);
|
||||
|
||||
/// No description provided for @musicUserName.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'User name'**
|
||||
String get musicUserName;
|
||||
|
||||
/// No description provided for @musicPassword.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Password'**
|
||||
String get musicPassword;
|
||||
|
||||
/// No description provided for @musicSignIn.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Sign in'**
|
||||
String get musicSignIn;
|
||||
|
||||
/// No description provided for @musicSignedInAs.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Signed in as {name}'**
|
||||
String musicSignedInAs(String name);
|
||||
|
||||
/// No description provided for @musicSignOut.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Sign out'**
|
||||
String get musicSignOut;
|
||||
|
||||
/// No description provided for @musicPlaylists.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Playlists for running'**
|
||||
String get musicPlaylists;
|
||||
|
||||
/// No description provided for @musicPlaylistsHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Train chooses from the tracks of the playlists you mark, and keeps them on this phone.'**
|
||||
String get musicPlaylistsHint;
|
||||
|
||||
/// No description provided for @musicNoPlaylists.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'There are no music playlists on this server yet.'**
|
||||
String get musicNoPlaylists;
|
||||
|
||||
/// No description provided for @musicRetry.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Try again'**
|
||||
String get musicRetry;
|
||||
|
||||
/// No description provided for @musicTracks.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{count, plural, =1{1 track} other{{count} tracks}}'**
|
||||
String musicTracks(int count);
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate
|
||||
|
|
|
|||
Loading…
Reference in a new issue