refactor: move scrobbler to their own place

This commit is contained in:
Kingkor Roy Tirtho 2025-08-19 20:22:48 +06:00
parent c0dcc87eb2
commit 08d1c98674
4 changed files with 287 additions and 200 deletions

View File

@ -108,6 +108,10 @@ class AppRouter extends RootStackRouter {
path: "settings/about", path: "settings/about",
page: AboutSpotubeRoute.page, page: AboutSpotubeRoute.page,
), ),
AutoRoute(
path: "settings/scrobbling",
page: SettingsScrobblingRoute.page,
),
AutoRoute( AutoRoute(
path: "album/:id", path: "album/:id",
page: AlbumRoute.page, page: AlbumRoute.page,

View File

@ -8,10 +8,10 @@
// coverage:ignore-file // coverage:ignore-file
// ignore_for_file: no_leading_underscores_for_library_prefixes // ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:auto_route/auto_route.dart' as _i40; import 'package:auto_route/auto_route.dart' as _i41;
import 'package:flutter/material.dart' as _i41; import 'package:flutter/material.dart' as _i42;
import 'package:shadcn_flutter/shadcn_flutter.dart' as _i43; import 'package:shadcn_flutter/shadcn_flutter.dart' as _i44;
import 'package:spotube/models/metadata/metadata.dart' as _i42; import 'package:spotube/models/metadata/metadata.dart' as _i43;
import 'package:spotube/pages/album/album.dart' as _i2; import 'package:spotube/pages/album/album.dart' as _i2;
import 'package:spotube/pages/artist/artist.dart' as _i3; import 'package:spotube/pages/artist/artist.dart' as _i3;
import 'package:spotube/pages/connect/connect.dart' as _i6; import 'package:spotube/pages/connect/connect.dart' as _i6;
@ -21,14 +21,14 @@ import 'package:spotube/pages/home/home.dart' as _i9;
import 'package:spotube/pages/home/sections/section_items.dart' as _i8; import 'package:spotube/pages/home/sections/section_items.dart' as _i8;
import 'package:spotube/pages/lastfm_login/lastfm_login.dart' as _i10; import 'package:spotube/pages/lastfm_login/lastfm_login.dart' as _i10;
import 'package:spotube/pages/library/library.dart' as _i11; import 'package:spotube/pages/library/library.dart' as _i11;
import 'package:spotube/pages/library/user_albums.dart' as _i35; import 'package:spotube/pages/library/user_albums.dart' as _i36;
import 'package:spotube/pages/library/user_artists.dart' as _i36; import 'package:spotube/pages/library/user_artists.dart' as _i37;
import 'package:spotube/pages/library/user_downloads.dart' as _i37; import 'package:spotube/pages/library/user_downloads.dart' as _i38;
import 'package:spotube/pages/library/user_local_tracks/local_folder.dart' import 'package:spotube/pages/library/user_local_tracks/local_folder.dart'
as _i13; as _i13;
import 'package:spotube/pages/library/user_local_tracks/user_local_tracks.dart' import 'package:spotube/pages/library/user_local_tracks/user_local_tracks.dart'
as _i38; as _i39;
import 'package:spotube/pages/library/user_playlists.dart' as _i39; import 'package:spotube/pages/library/user_playlists.dart' as _i40;
import 'package:spotube/pages/lyrics/lyrics.dart' as _i15; import 'package:spotube/pages/lyrics/lyrics.dart' as _i15;
import 'package:spotube/pages/lyrics/mini_lyrics.dart' as _i16; import 'package:spotube/pages/lyrics/mini_lyrics.dart' as _i16;
import 'package:spotube/pages/player/lyrics.dart' as _i17; import 'package:spotube/pages/player/lyrics.dart' as _i17;
@ -44,20 +44,21 @@ import 'package:spotube/pages/settings/blacklist.dart' as _i4;
import 'package:spotube/pages/settings/logs.dart' as _i14; import 'package:spotube/pages/settings/logs.dart' as _i14;
import 'package:spotube/pages/settings/metadata/metadata_form.dart' as _i24; import 'package:spotube/pages/settings/metadata/metadata_form.dart' as _i24;
import 'package:spotube/pages/settings/metadata_plugins.dart' as _i25; import 'package:spotube/pages/settings/metadata_plugins.dart' as _i25;
import 'package:spotube/pages/settings/scrobbling/scrobbling.dart' as _i27;
import 'package:spotube/pages/settings/settings.dart' as _i26; import 'package:spotube/pages/settings/settings.dart' as _i26;
import 'package:spotube/pages/stats/albums/albums.dart' as _i27; import 'package:spotube/pages/stats/albums/albums.dart' as _i28;
import 'package:spotube/pages/stats/artists/artists.dart' as _i28; import 'package:spotube/pages/stats/artists/artists.dart' as _i29;
import 'package:spotube/pages/stats/fees/fees.dart' as _i32; import 'package:spotube/pages/stats/fees/fees.dart' as _i33;
import 'package:spotube/pages/stats/minutes/minutes.dart' as _i29; import 'package:spotube/pages/stats/minutes/minutes.dart' as _i30;
import 'package:spotube/pages/stats/playlists/playlists.dart' as _i31; import 'package:spotube/pages/stats/playlists/playlists.dart' as _i32;
import 'package:spotube/pages/stats/stats.dart' as _i30; import 'package:spotube/pages/stats/stats.dart' as _i31;
import 'package:spotube/pages/stats/streams/streams.dart' as _i33; import 'package:spotube/pages/stats/streams/streams.dart' as _i34;
import 'package:spotube/pages/track/track.dart' as _i34; import 'package:spotube/pages/track/track.dart' as _i35;
/// generated route for /// generated route for
/// [_i1.AboutSpotubePage] /// [_i1.AboutSpotubePage]
class AboutSpotubeRoute extends _i40.PageRouteInfo<void> { class AboutSpotubeRoute extends _i41.PageRouteInfo<void> {
const AboutSpotubeRoute({List<_i40.PageRouteInfo>? children}) const AboutSpotubeRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
AboutSpotubeRoute.name, AboutSpotubeRoute.name,
initialChildren: children, initialChildren: children,
@ -65,7 +66,7 @@ class AboutSpotubeRoute extends _i40.PageRouteInfo<void> {
static const String name = 'AboutSpotubeRoute'; static const String name = 'AboutSpotubeRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i1.AboutSpotubePage(); return const _i1.AboutSpotubePage();
@ -75,12 +76,12 @@ class AboutSpotubeRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i2.AlbumPage] /// [_i2.AlbumPage]
class AlbumRoute extends _i40.PageRouteInfo<AlbumRouteArgs> { class AlbumRoute extends _i41.PageRouteInfo<AlbumRouteArgs> {
AlbumRoute({ AlbumRoute({
_i41.Key? key, _i42.Key? key,
required String id, required String id,
required _i42.SpotubeSimpleAlbumObject album, required _i43.SpotubeSimpleAlbumObject album,
List<_i40.PageRouteInfo>? children, List<_i41.PageRouteInfo>? children,
}) : super( }) : super(
AlbumRoute.name, AlbumRoute.name,
args: AlbumRouteArgs( args: AlbumRouteArgs(
@ -94,7 +95,7 @@ class AlbumRoute extends _i40.PageRouteInfo<AlbumRouteArgs> {
static const String name = 'AlbumRoute'; static const String name = 'AlbumRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
final args = data.argsAs<AlbumRouteArgs>(); final args = data.argsAs<AlbumRouteArgs>();
@ -114,11 +115,11 @@ class AlbumRouteArgs {
required this.album, required this.album,
}); });
final _i41.Key? key; final _i42.Key? key;
final String id; final String id;
final _i42.SpotubeSimpleAlbumObject album; final _i43.SpotubeSimpleAlbumObject album;
@override @override
String toString() { String toString() {
@ -128,11 +129,11 @@ class AlbumRouteArgs {
/// generated route for /// generated route for
/// [_i3.ArtistPage] /// [_i3.ArtistPage]
class ArtistRoute extends _i40.PageRouteInfo<ArtistRouteArgs> { class ArtistRoute extends _i41.PageRouteInfo<ArtistRouteArgs> {
ArtistRoute({ ArtistRoute({
required String artistId, required String artistId,
_i41.Key? key, _i42.Key? key,
List<_i40.PageRouteInfo>? children, List<_i41.PageRouteInfo>? children,
}) : super( }) : super(
ArtistRoute.name, ArtistRoute.name,
args: ArtistRouteArgs( args: ArtistRouteArgs(
@ -145,7 +146,7 @@ class ArtistRoute extends _i40.PageRouteInfo<ArtistRouteArgs> {
static const String name = 'ArtistRoute'; static const String name = 'ArtistRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
final pathParams = data.inheritedPathParams; final pathParams = data.inheritedPathParams;
@ -167,7 +168,7 @@ class ArtistRouteArgs {
final String artistId; final String artistId;
final _i41.Key? key; final _i42.Key? key;
@override @override
String toString() { String toString() {
@ -177,8 +178,8 @@ class ArtistRouteArgs {
/// generated route for /// generated route for
/// [_i4.BlackListPage] /// [_i4.BlackListPage]
class BlackListRoute extends _i40.PageRouteInfo<void> { class BlackListRoute extends _i41.PageRouteInfo<void> {
const BlackListRoute({List<_i40.PageRouteInfo>? children}) const BlackListRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
BlackListRoute.name, BlackListRoute.name,
initialChildren: children, initialChildren: children,
@ -186,7 +187,7 @@ class BlackListRoute extends _i40.PageRouteInfo<void> {
static const String name = 'BlackListRoute'; static const String name = 'BlackListRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i4.BlackListPage(); return const _i4.BlackListPage();
@ -196,8 +197,8 @@ class BlackListRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i5.ConnectControlPage] /// [_i5.ConnectControlPage]
class ConnectControlRoute extends _i40.PageRouteInfo<void> { class ConnectControlRoute extends _i41.PageRouteInfo<void> {
const ConnectControlRoute({List<_i40.PageRouteInfo>? children}) const ConnectControlRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
ConnectControlRoute.name, ConnectControlRoute.name,
initialChildren: children, initialChildren: children,
@ -205,7 +206,7 @@ class ConnectControlRoute extends _i40.PageRouteInfo<void> {
static const String name = 'ConnectControlRoute'; static const String name = 'ConnectControlRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i5.ConnectControlPage(); return const _i5.ConnectControlPage();
@ -215,8 +216,8 @@ class ConnectControlRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i6.ConnectPage] /// [_i6.ConnectPage]
class ConnectRoute extends _i40.PageRouteInfo<void> { class ConnectRoute extends _i41.PageRouteInfo<void> {
const ConnectRoute({List<_i40.PageRouteInfo>? children}) const ConnectRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
ConnectRoute.name, ConnectRoute.name,
initialChildren: children, initialChildren: children,
@ -224,7 +225,7 @@ class ConnectRoute extends _i40.PageRouteInfo<void> {
static const String name = 'ConnectRoute'; static const String name = 'ConnectRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i6.ConnectPage(); return const _i6.ConnectPage();
@ -234,8 +235,8 @@ class ConnectRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i7.GettingStartedPage] /// [_i7.GettingStartedPage]
class GettingStartedRoute extends _i40.PageRouteInfo<void> { class GettingStartedRoute extends _i41.PageRouteInfo<void> {
const GettingStartedRoute({List<_i40.PageRouteInfo>? children}) const GettingStartedRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
GettingStartedRoute.name, GettingStartedRoute.name,
initialChildren: children, initialChildren: children,
@ -243,7 +244,7 @@ class GettingStartedRoute extends _i40.PageRouteInfo<void> {
static const String name = 'GettingStartedRoute'; static const String name = 'GettingStartedRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i7.GettingStartedPage(); return const _i7.GettingStartedPage();
@ -254,12 +255,12 @@ class GettingStartedRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i8.HomeBrowseSectionItemsPage] /// [_i8.HomeBrowseSectionItemsPage]
class HomeBrowseSectionItemsRoute class HomeBrowseSectionItemsRoute
extends _i40.PageRouteInfo<HomeBrowseSectionItemsRouteArgs> { extends _i41.PageRouteInfo<HomeBrowseSectionItemsRouteArgs> {
HomeBrowseSectionItemsRoute({ HomeBrowseSectionItemsRoute({
_i43.Key? key, _i44.Key? key,
required String sectionId, required String sectionId,
required _i42.SpotubeBrowseSectionObject<Object> section, required _i43.SpotubeBrowseSectionObject<Object> section,
List<_i40.PageRouteInfo>? children, List<_i41.PageRouteInfo>? children,
}) : super( }) : super(
HomeBrowseSectionItemsRoute.name, HomeBrowseSectionItemsRoute.name,
args: HomeBrowseSectionItemsRouteArgs( args: HomeBrowseSectionItemsRouteArgs(
@ -273,7 +274,7 @@ class HomeBrowseSectionItemsRoute
static const String name = 'HomeBrowseSectionItemsRoute'; static const String name = 'HomeBrowseSectionItemsRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
final args = data.argsAs<HomeBrowseSectionItemsRouteArgs>(); final args = data.argsAs<HomeBrowseSectionItemsRouteArgs>();
@ -293,11 +294,11 @@ class HomeBrowseSectionItemsRouteArgs {
required this.section, required this.section,
}); });
final _i43.Key? key; final _i44.Key? key;
final String sectionId; final String sectionId;
final _i42.SpotubeBrowseSectionObject<Object> section; final _i43.SpotubeBrowseSectionObject<Object> section;
@override @override
String toString() { String toString() {
@ -307,8 +308,8 @@ class HomeBrowseSectionItemsRouteArgs {
/// generated route for /// generated route for
/// [_i9.HomePage] /// [_i9.HomePage]
class HomeRoute extends _i40.PageRouteInfo<void> { class HomeRoute extends _i41.PageRouteInfo<void> {
const HomeRoute({List<_i40.PageRouteInfo>? children}) const HomeRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
HomeRoute.name, HomeRoute.name,
initialChildren: children, initialChildren: children,
@ -316,7 +317,7 @@ class HomeRoute extends _i40.PageRouteInfo<void> {
static const String name = 'HomeRoute'; static const String name = 'HomeRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i9.HomePage(); return const _i9.HomePage();
@ -326,8 +327,8 @@ class HomeRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i10.LastFMLoginPage] /// [_i10.LastFMLoginPage]
class LastFMLoginRoute extends _i40.PageRouteInfo<void> { class LastFMLoginRoute extends _i41.PageRouteInfo<void> {
const LastFMLoginRoute({List<_i40.PageRouteInfo>? children}) const LastFMLoginRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
LastFMLoginRoute.name, LastFMLoginRoute.name,
initialChildren: children, initialChildren: children,
@ -335,7 +336,7 @@ class LastFMLoginRoute extends _i40.PageRouteInfo<void> {
static const String name = 'LastFMLoginRoute'; static const String name = 'LastFMLoginRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i10.LastFMLoginPage(); return const _i10.LastFMLoginPage();
@ -345,8 +346,8 @@ class LastFMLoginRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i11.LibraryPage] /// [_i11.LibraryPage]
class LibraryRoute extends _i40.PageRouteInfo<void> { class LibraryRoute extends _i41.PageRouteInfo<void> {
const LibraryRoute({List<_i40.PageRouteInfo>? children}) const LibraryRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
LibraryRoute.name, LibraryRoute.name,
initialChildren: children, initialChildren: children,
@ -354,7 +355,7 @@ class LibraryRoute extends _i40.PageRouteInfo<void> {
static const String name = 'LibraryRoute'; static const String name = 'LibraryRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i11.LibraryPage(); return const _i11.LibraryPage();
@ -364,11 +365,11 @@ class LibraryRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i12.LikedPlaylistPage] /// [_i12.LikedPlaylistPage]
class LikedPlaylistRoute extends _i40.PageRouteInfo<LikedPlaylistRouteArgs> { class LikedPlaylistRoute extends _i41.PageRouteInfo<LikedPlaylistRouteArgs> {
LikedPlaylistRoute({ LikedPlaylistRoute({
_i41.Key? key, _i42.Key? key,
required _i42.SpotubeSimplePlaylistObject playlist, required _i43.SpotubeSimplePlaylistObject playlist,
List<_i40.PageRouteInfo>? children, List<_i41.PageRouteInfo>? children,
}) : super( }) : super(
LikedPlaylistRoute.name, LikedPlaylistRoute.name,
args: LikedPlaylistRouteArgs( args: LikedPlaylistRouteArgs(
@ -380,7 +381,7 @@ class LikedPlaylistRoute extends _i40.PageRouteInfo<LikedPlaylistRouteArgs> {
static const String name = 'LikedPlaylistRoute'; static const String name = 'LikedPlaylistRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
final args = data.argsAs<LikedPlaylistRouteArgs>(); final args = data.argsAs<LikedPlaylistRouteArgs>();
@ -398,9 +399,9 @@ class LikedPlaylistRouteArgs {
required this.playlist, required this.playlist,
}); });
final _i41.Key? key; final _i42.Key? key;
final _i42.SpotubeSimplePlaylistObject playlist; final _i43.SpotubeSimplePlaylistObject playlist;
@override @override
String toString() { String toString() {
@ -410,13 +411,13 @@ class LikedPlaylistRouteArgs {
/// generated route for /// generated route for
/// [_i13.LocalLibraryPage] /// [_i13.LocalLibraryPage]
class LocalLibraryRoute extends _i40.PageRouteInfo<LocalLibraryRouteArgs> { class LocalLibraryRoute extends _i41.PageRouteInfo<LocalLibraryRouteArgs> {
LocalLibraryRoute({ LocalLibraryRoute({
required String location, required String location,
_i41.Key? key, _i42.Key? key,
bool isDownloads = false, bool isDownloads = false,
bool isCache = false, bool isCache = false,
List<_i40.PageRouteInfo>? children, List<_i41.PageRouteInfo>? children,
}) : super( }) : super(
LocalLibraryRoute.name, LocalLibraryRoute.name,
args: LocalLibraryRouteArgs( args: LocalLibraryRouteArgs(
@ -430,7 +431,7 @@ class LocalLibraryRoute extends _i40.PageRouteInfo<LocalLibraryRouteArgs> {
static const String name = 'LocalLibraryRoute'; static const String name = 'LocalLibraryRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
final args = data.argsAs<LocalLibraryRouteArgs>(); final args = data.argsAs<LocalLibraryRouteArgs>();
@ -454,7 +455,7 @@ class LocalLibraryRouteArgs {
final String location; final String location;
final _i41.Key? key; final _i42.Key? key;
final bool isDownloads; final bool isDownloads;
@ -468,8 +469,8 @@ class LocalLibraryRouteArgs {
/// generated route for /// generated route for
/// [_i14.LogsPage] /// [_i14.LogsPage]
class LogsRoute extends _i40.PageRouteInfo<void> { class LogsRoute extends _i41.PageRouteInfo<void> {
const LogsRoute({List<_i40.PageRouteInfo>? children}) const LogsRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
LogsRoute.name, LogsRoute.name,
initialChildren: children, initialChildren: children,
@ -477,7 +478,7 @@ class LogsRoute extends _i40.PageRouteInfo<void> {
static const String name = 'LogsRoute'; static const String name = 'LogsRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i14.LogsPage(); return const _i14.LogsPage();
@ -487,8 +488,8 @@ class LogsRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i15.LyricsPage] /// [_i15.LyricsPage]
class LyricsRoute extends _i40.PageRouteInfo<void> { class LyricsRoute extends _i41.PageRouteInfo<void> {
const LyricsRoute({List<_i40.PageRouteInfo>? children}) const LyricsRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
LyricsRoute.name, LyricsRoute.name,
initialChildren: children, initialChildren: children,
@ -496,7 +497,7 @@ class LyricsRoute extends _i40.PageRouteInfo<void> {
static const String name = 'LyricsRoute'; static const String name = 'LyricsRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i15.LyricsPage(); return const _i15.LyricsPage();
@ -506,11 +507,11 @@ class LyricsRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i16.MiniLyricsPage] /// [_i16.MiniLyricsPage]
class MiniLyricsRoute extends _i40.PageRouteInfo<MiniLyricsRouteArgs> { class MiniLyricsRoute extends _i41.PageRouteInfo<MiniLyricsRouteArgs> {
MiniLyricsRoute({ MiniLyricsRoute({
_i43.Key? key, _i44.Key? key,
required _i43.Size prevSize, required _i44.Size prevSize,
List<_i40.PageRouteInfo>? children, List<_i41.PageRouteInfo>? children,
}) : super( }) : super(
MiniLyricsRoute.name, MiniLyricsRoute.name,
args: MiniLyricsRouteArgs( args: MiniLyricsRouteArgs(
@ -522,7 +523,7 @@ class MiniLyricsRoute extends _i40.PageRouteInfo<MiniLyricsRouteArgs> {
static const String name = 'MiniLyricsRoute'; static const String name = 'MiniLyricsRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
final args = data.argsAs<MiniLyricsRouteArgs>(); final args = data.argsAs<MiniLyricsRouteArgs>();
@ -540,9 +541,9 @@ class MiniLyricsRouteArgs {
required this.prevSize, required this.prevSize,
}); });
final _i43.Key? key; final _i44.Key? key;
final _i43.Size prevSize; final _i44.Size prevSize;
@override @override
String toString() { String toString() {
@ -552,8 +553,8 @@ class MiniLyricsRouteArgs {
/// generated route for /// generated route for
/// [_i17.PlayerLyricsPage] /// [_i17.PlayerLyricsPage]
class PlayerLyricsRoute extends _i40.PageRouteInfo<void> { class PlayerLyricsRoute extends _i41.PageRouteInfo<void> {
const PlayerLyricsRoute({List<_i40.PageRouteInfo>? children}) const PlayerLyricsRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
PlayerLyricsRoute.name, PlayerLyricsRoute.name,
initialChildren: children, initialChildren: children,
@ -561,7 +562,7 @@ class PlayerLyricsRoute extends _i40.PageRouteInfo<void> {
static const String name = 'PlayerLyricsRoute'; static const String name = 'PlayerLyricsRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i17.PlayerLyricsPage(); return const _i17.PlayerLyricsPage();
@ -571,8 +572,8 @@ class PlayerLyricsRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i18.PlayerQueuePage] /// [_i18.PlayerQueuePage]
class PlayerQueueRoute extends _i40.PageRouteInfo<void> { class PlayerQueueRoute extends _i41.PageRouteInfo<void> {
const PlayerQueueRoute({List<_i40.PageRouteInfo>? children}) const PlayerQueueRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
PlayerQueueRoute.name, PlayerQueueRoute.name,
initialChildren: children, initialChildren: children,
@ -580,7 +581,7 @@ class PlayerQueueRoute extends _i40.PageRouteInfo<void> {
static const String name = 'PlayerQueueRoute'; static const String name = 'PlayerQueueRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i18.PlayerQueuePage(); return const _i18.PlayerQueuePage();
@ -590,8 +591,8 @@ class PlayerQueueRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i19.PlayerTrackSourcesPage] /// [_i19.PlayerTrackSourcesPage]
class PlayerTrackSourcesRoute extends _i40.PageRouteInfo<void> { class PlayerTrackSourcesRoute extends _i41.PageRouteInfo<void> {
const PlayerTrackSourcesRoute({List<_i40.PageRouteInfo>? children}) const PlayerTrackSourcesRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
PlayerTrackSourcesRoute.name, PlayerTrackSourcesRoute.name,
initialChildren: children, initialChildren: children,
@ -599,7 +600,7 @@ class PlayerTrackSourcesRoute extends _i40.PageRouteInfo<void> {
static const String name = 'PlayerTrackSourcesRoute'; static const String name = 'PlayerTrackSourcesRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i19.PlayerTrackSourcesPage(); return const _i19.PlayerTrackSourcesPage();
@ -609,12 +610,12 @@ class PlayerTrackSourcesRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i20.PlaylistPage] /// [_i20.PlaylistPage]
class PlaylistRoute extends _i40.PageRouteInfo<PlaylistRouteArgs> { class PlaylistRoute extends _i41.PageRouteInfo<PlaylistRouteArgs> {
PlaylistRoute({ PlaylistRoute({
_i41.Key? key, _i42.Key? key,
required String id, required String id,
required _i42.SpotubeSimplePlaylistObject playlist, required _i43.SpotubeSimplePlaylistObject playlist,
List<_i40.PageRouteInfo>? children, List<_i41.PageRouteInfo>? children,
}) : super( }) : super(
PlaylistRoute.name, PlaylistRoute.name,
args: PlaylistRouteArgs( args: PlaylistRouteArgs(
@ -628,7 +629,7 @@ class PlaylistRoute extends _i40.PageRouteInfo<PlaylistRouteArgs> {
static const String name = 'PlaylistRoute'; static const String name = 'PlaylistRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
final args = data.argsAs<PlaylistRouteArgs>(); final args = data.argsAs<PlaylistRouteArgs>();
@ -648,11 +649,11 @@ class PlaylistRouteArgs {
required this.playlist, required this.playlist,
}); });
final _i41.Key? key; final _i42.Key? key;
final String id; final String id;
final _i42.SpotubeSimplePlaylistObject playlist; final _i43.SpotubeSimplePlaylistObject playlist;
@override @override
String toString() { String toString() {
@ -662,8 +663,8 @@ class PlaylistRouteArgs {
/// generated route for /// generated route for
/// [_i21.ProfilePage] /// [_i21.ProfilePage]
class ProfileRoute extends _i40.PageRouteInfo<void> { class ProfileRoute extends _i41.PageRouteInfo<void> {
const ProfileRoute({List<_i40.PageRouteInfo>? children}) const ProfileRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
ProfileRoute.name, ProfileRoute.name,
initialChildren: children, initialChildren: children,
@ -671,7 +672,7 @@ class ProfileRoute extends _i40.PageRouteInfo<void> {
static const String name = 'ProfileRoute'; static const String name = 'ProfileRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i21.ProfilePage(); return const _i21.ProfilePage();
@ -681,8 +682,8 @@ class ProfileRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i22.RootAppPage] /// [_i22.RootAppPage]
class RootAppRoute extends _i40.PageRouteInfo<void> { class RootAppRoute extends _i41.PageRouteInfo<void> {
const RootAppRoute({List<_i40.PageRouteInfo>? children}) const RootAppRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
RootAppRoute.name, RootAppRoute.name,
initialChildren: children, initialChildren: children,
@ -690,7 +691,7 @@ class RootAppRoute extends _i40.PageRouteInfo<void> {
static const String name = 'RootAppRoute'; static const String name = 'RootAppRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i22.RootAppPage(); return const _i22.RootAppPage();
@ -700,8 +701,8 @@ class RootAppRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i23.SearchPage] /// [_i23.SearchPage]
class SearchRoute extends _i40.PageRouteInfo<void> { class SearchRoute extends _i41.PageRouteInfo<void> {
const SearchRoute({List<_i40.PageRouteInfo>? children}) const SearchRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
SearchRoute.name, SearchRoute.name,
initialChildren: children, initialChildren: children,
@ -709,7 +710,7 @@ class SearchRoute extends _i40.PageRouteInfo<void> {
static const String name = 'SearchRoute'; static const String name = 'SearchRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i23.SearchPage(); return const _i23.SearchPage();
@ -720,12 +721,12 @@ class SearchRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i24.SettingsMetadataProviderFormPage] /// [_i24.SettingsMetadataProviderFormPage]
class SettingsMetadataProviderFormRoute class SettingsMetadataProviderFormRoute
extends _i40.PageRouteInfo<SettingsMetadataProviderFormRouteArgs> { extends _i41.PageRouteInfo<SettingsMetadataProviderFormRouteArgs> {
SettingsMetadataProviderFormRoute({ SettingsMetadataProviderFormRoute({
_i43.Key? key, _i44.Key? key,
required String title, required String title,
required List<_i42.MetadataFormFieldObject> fields, required List<_i43.MetadataFormFieldObject> fields,
List<_i40.PageRouteInfo>? children, List<_i41.PageRouteInfo>? children,
}) : super( }) : super(
SettingsMetadataProviderFormRoute.name, SettingsMetadataProviderFormRoute.name,
args: SettingsMetadataProviderFormRouteArgs( args: SettingsMetadataProviderFormRouteArgs(
@ -738,7 +739,7 @@ class SettingsMetadataProviderFormRoute
static const String name = 'SettingsMetadataProviderFormRoute'; static const String name = 'SettingsMetadataProviderFormRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
final args = data.argsAs<SettingsMetadataProviderFormRouteArgs>(); final args = data.argsAs<SettingsMetadataProviderFormRouteArgs>();
@ -758,11 +759,11 @@ class SettingsMetadataProviderFormRouteArgs {
required this.fields, required this.fields,
}); });
final _i43.Key? key; final _i44.Key? key;
final String title; final String title;
final List<_i42.MetadataFormFieldObject> fields; final List<_i43.MetadataFormFieldObject> fields;
@override @override
String toString() { String toString() {
@ -772,8 +773,8 @@ class SettingsMetadataProviderFormRouteArgs {
/// generated route for /// generated route for
/// [_i25.SettingsMetadataProviderPage] /// [_i25.SettingsMetadataProviderPage]
class SettingsMetadataProviderRoute extends _i40.PageRouteInfo<void> { class SettingsMetadataProviderRoute extends _i41.PageRouteInfo<void> {
const SettingsMetadataProviderRoute({List<_i40.PageRouteInfo>? children}) const SettingsMetadataProviderRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
SettingsMetadataProviderRoute.name, SettingsMetadataProviderRoute.name,
initialChildren: children, initialChildren: children,
@ -781,7 +782,7 @@ class SettingsMetadataProviderRoute extends _i40.PageRouteInfo<void> {
static const String name = 'SettingsMetadataProviderRoute'; static const String name = 'SettingsMetadataProviderRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i25.SettingsMetadataProviderPage(); return const _i25.SettingsMetadataProviderPage();
@ -791,8 +792,8 @@ class SettingsMetadataProviderRoute extends _i40.PageRouteInfo<void> {
/// generated route for /// generated route for
/// [_i26.SettingsPage] /// [_i26.SettingsPage]
class SettingsRoute extends _i40.PageRouteInfo<void> { class SettingsRoute extends _i41.PageRouteInfo<void> {
const SettingsRoute({List<_i40.PageRouteInfo>? children}) const SettingsRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
SettingsRoute.name, SettingsRoute.name,
initialChildren: children, initialChildren: children,
@ -800,7 +801,7 @@ class SettingsRoute extends _i40.PageRouteInfo<void> {
static const String name = 'SettingsRoute'; static const String name = 'SettingsRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i26.SettingsPage(); return const _i26.SettingsPage();
@ -809,9 +810,28 @@ class SettingsRoute extends _i40.PageRouteInfo<void> {
} }
/// generated route for /// generated route for
/// [_i27.StatsAlbumsPage] /// [_i27.SettingsScrobblingPage]
class StatsAlbumsRoute extends _i40.PageRouteInfo<void> { class SettingsScrobblingRoute extends _i41.PageRouteInfo<void> {
const StatsAlbumsRoute({List<_i40.PageRouteInfo>? children}) const SettingsScrobblingRoute({List<_i41.PageRouteInfo>? children})
: super(
SettingsScrobblingRoute.name,
initialChildren: children,
);
static const String name = 'SettingsScrobblingRoute';
static _i41.PageInfo page = _i41.PageInfo(
name,
builder: (data) {
return const _i27.SettingsScrobblingPage();
},
);
}
/// generated route for
/// [_i28.StatsAlbumsPage]
class StatsAlbumsRoute extends _i41.PageRouteInfo<void> {
const StatsAlbumsRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
StatsAlbumsRoute.name, StatsAlbumsRoute.name,
initialChildren: children, initialChildren: children,
@ -819,18 +839,18 @@ class StatsAlbumsRoute extends _i40.PageRouteInfo<void> {
static const String name = 'StatsAlbumsRoute'; static const String name = 'StatsAlbumsRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i27.StatsAlbumsPage(); return const _i28.StatsAlbumsPage();
}, },
); );
} }
/// generated route for /// generated route for
/// [_i28.StatsArtistsPage] /// [_i29.StatsArtistsPage]
class StatsArtistsRoute extends _i40.PageRouteInfo<void> { class StatsArtistsRoute extends _i41.PageRouteInfo<void> {
const StatsArtistsRoute({List<_i40.PageRouteInfo>? children}) const StatsArtistsRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
StatsArtistsRoute.name, StatsArtistsRoute.name,
initialChildren: children, initialChildren: children,
@ -838,18 +858,18 @@ class StatsArtistsRoute extends _i40.PageRouteInfo<void> {
static const String name = 'StatsArtistsRoute'; static const String name = 'StatsArtistsRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i28.StatsArtistsPage(); return const _i29.StatsArtistsPage();
}, },
); );
} }
/// generated route for /// generated route for
/// [_i29.StatsMinutesPage] /// [_i30.StatsMinutesPage]
class StatsMinutesRoute extends _i40.PageRouteInfo<void> { class StatsMinutesRoute extends _i41.PageRouteInfo<void> {
const StatsMinutesRoute({List<_i40.PageRouteInfo>? children}) const StatsMinutesRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
StatsMinutesRoute.name, StatsMinutesRoute.name,
initialChildren: children, initialChildren: children,
@ -857,18 +877,18 @@ class StatsMinutesRoute extends _i40.PageRouteInfo<void> {
static const String name = 'StatsMinutesRoute'; static const String name = 'StatsMinutesRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i29.StatsMinutesPage(); return const _i30.StatsMinutesPage();
}, },
); );
} }
/// generated route for /// generated route for
/// [_i30.StatsPage] /// [_i31.StatsPage]
class StatsRoute extends _i40.PageRouteInfo<void> { class StatsRoute extends _i41.PageRouteInfo<void> {
const StatsRoute({List<_i40.PageRouteInfo>? children}) const StatsRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
StatsRoute.name, StatsRoute.name,
initialChildren: children, initialChildren: children,
@ -876,18 +896,18 @@ class StatsRoute extends _i40.PageRouteInfo<void> {
static const String name = 'StatsRoute'; static const String name = 'StatsRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i30.StatsPage(); return const _i31.StatsPage();
}, },
); );
} }
/// generated route for /// generated route for
/// [_i31.StatsPlaylistsPage] /// [_i32.StatsPlaylistsPage]
class StatsPlaylistsRoute extends _i40.PageRouteInfo<void> { class StatsPlaylistsRoute extends _i41.PageRouteInfo<void> {
const StatsPlaylistsRoute({List<_i40.PageRouteInfo>? children}) const StatsPlaylistsRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
StatsPlaylistsRoute.name, StatsPlaylistsRoute.name,
initialChildren: children, initialChildren: children,
@ -895,18 +915,18 @@ class StatsPlaylistsRoute extends _i40.PageRouteInfo<void> {
static const String name = 'StatsPlaylistsRoute'; static const String name = 'StatsPlaylistsRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i31.StatsPlaylistsPage(); return const _i32.StatsPlaylistsPage();
}, },
); );
} }
/// generated route for /// generated route for
/// [_i32.StatsStreamFeesPage] /// [_i33.StatsStreamFeesPage]
class StatsStreamFeesRoute extends _i40.PageRouteInfo<void> { class StatsStreamFeesRoute extends _i41.PageRouteInfo<void> {
const StatsStreamFeesRoute({List<_i40.PageRouteInfo>? children}) const StatsStreamFeesRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
StatsStreamFeesRoute.name, StatsStreamFeesRoute.name,
initialChildren: children, initialChildren: children,
@ -914,18 +934,18 @@ class StatsStreamFeesRoute extends _i40.PageRouteInfo<void> {
static const String name = 'StatsStreamFeesRoute'; static const String name = 'StatsStreamFeesRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i32.StatsStreamFeesPage(); return const _i33.StatsStreamFeesPage();
}, },
); );
} }
/// generated route for /// generated route for
/// [_i33.StatsStreamsPage] /// [_i34.StatsStreamsPage]
class StatsStreamsRoute extends _i40.PageRouteInfo<void> { class StatsStreamsRoute extends _i41.PageRouteInfo<void> {
const StatsStreamsRoute({List<_i40.PageRouteInfo>? children}) const StatsStreamsRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
StatsStreamsRoute.name, StatsStreamsRoute.name,
initialChildren: children, initialChildren: children,
@ -933,21 +953,21 @@ class StatsStreamsRoute extends _i40.PageRouteInfo<void> {
static const String name = 'StatsStreamsRoute'; static const String name = 'StatsStreamsRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i33.StatsStreamsPage(); return const _i34.StatsStreamsPage();
}, },
); );
} }
/// generated route for /// generated route for
/// [_i34.TrackPage] /// [_i35.TrackPage]
class TrackRoute extends _i40.PageRouteInfo<TrackRouteArgs> { class TrackRoute extends _i41.PageRouteInfo<TrackRouteArgs> {
TrackRoute({ TrackRoute({
_i43.Key? key, _i44.Key? key,
required String trackId, required String trackId,
List<_i40.PageRouteInfo>? children, List<_i41.PageRouteInfo>? children,
}) : super( }) : super(
TrackRoute.name, TrackRoute.name,
args: TrackRouteArgs( args: TrackRouteArgs(
@ -960,13 +980,13 @@ class TrackRoute extends _i40.PageRouteInfo<TrackRouteArgs> {
static const String name = 'TrackRoute'; static const String name = 'TrackRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
final pathParams = data.inheritedPathParams; final pathParams = data.inheritedPathParams;
final args = data.argsAs<TrackRouteArgs>( final args = data.argsAs<TrackRouteArgs>(
orElse: () => TrackRouteArgs(trackId: pathParams.getString('id'))); orElse: () => TrackRouteArgs(trackId: pathParams.getString('id')));
return _i34.TrackPage( return _i35.TrackPage(
key: args.key, key: args.key,
trackId: args.trackId, trackId: args.trackId,
); );
@ -980,7 +1000,7 @@ class TrackRouteArgs {
required this.trackId, required this.trackId,
}); });
final _i43.Key? key; final _i44.Key? key;
final String trackId; final String trackId;
@ -991,9 +1011,9 @@ class TrackRouteArgs {
} }
/// generated route for /// generated route for
/// [_i35.UserAlbumsPage] /// [_i36.UserAlbumsPage]
class UserAlbumsRoute extends _i40.PageRouteInfo<void> { class UserAlbumsRoute extends _i41.PageRouteInfo<void> {
const UserAlbumsRoute({List<_i40.PageRouteInfo>? children}) const UserAlbumsRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
UserAlbumsRoute.name, UserAlbumsRoute.name,
initialChildren: children, initialChildren: children,
@ -1001,18 +1021,18 @@ class UserAlbumsRoute extends _i40.PageRouteInfo<void> {
static const String name = 'UserAlbumsRoute'; static const String name = 'UserAlbumsRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i35.UserAlbumsPage(); return const _i36.UserAlbumsPage();
}, },
); );
} }
/// generated route for /// generated route for
/// [_i36.UserArtistsPage] /// [_i37.UserArtistsPage]
class UserArtistsRoute extends _i40.PageRouteInfo<void> { class UserArtistsRoute extends _i41.PageRouteInfo<void> {
const UserArtistsRoute({List<_i40.PageRouteInfo>? children}) const UserArtistsRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
UserArtistsRoute.name, UserArtistsRoute.name,
initialChildren: children, initialChildren: children,
@ -1020,18 +1040,18 @@ class UserArtistsRoute extends _i40.PageRouteInfo<void> {
static const String name = 'UserArtistsRoute'; static const String name = 'UserArtistsRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i36.UserArtistsPage(); return const _i37.UserArtistsPage();
}, },
); );
} }
/// generated route for /// generated route for
/// [_i37.UserDownloadsPage] /// [_i38.UserDownloadsPage]
class UserDownloadsRoute extends _i40.PageRouteInfo<void> { class UserDownloadsRoute extends _i41.PageRouteInfo<void> {
const UserDownloadsRoute({List<_i40.PageRouteInfo>? children}) const UserDownloadsRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
UserDownloadsRoute.name, UserDownloadsRoute.name,
initialChildren: children, initialChildren: children,
@ -1039,18 +1059,18 @@ class UserDownloadsRoute extends _i40.PageRouteInfo<void> {
static const String name = 'UserDownloadsRoute'; static const String name = 'UserDownloadsRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i37.UserDownloadsPage(); return const _i38.UserDownloadsPage();
}, },
); );
} }
/// generated route for /// generated route for
/// [_i38.UserLocalLibraryPage] /// [_i39.UserLocalLibraryPage]
class UserLocalLibraryRoute extends _i40.PageRouteInfo<void> { class UserLocalLibraryRoute extends _i41.PageRouteInfo<void> {
const UserLocalLibraryRoute({List<_i40.PageRouteInfo>? children}) const UserLocalLibraryRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
UserLocalLibraryRoute.name, UserLocalLibraryRoute.name,
initialChildren: children, initialChildren: children,
@ -1058,18 +1078,18 @@ class UserLocalLibraryRoute extends _i40.PageRouteInfo<void> {
static const String name = 'UserLocalLibraryRoute'; static const String name = 'UserLocalLibraryRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i38.UserLocalLibraryPage(); return const _i39.UserLocalLibraryPage();
}, },
); );
} }
/// generated route for /// generated route for
/// [_i39.UserPlaylistsPage] /// [_i40.UserPlaylistsPage]
class UserPlaylistsRoute extends _i40.PageRouteInfo<void> { class UserPlaylistsRoute extends _i41.PageRouteInfo<void> {
const UserPlaylistsRoute({List<_i40.PageRouteInfo>? children}) const UserPlaylistsRoute({List<_i41.PageRouteInfo>? children})
: super( : super(
UserPlaylistsRoute.name, UserPlaylistsRoute.name,
initialChildren: children, initialChildren: children,
@ -1077,10 +1097,10 @@ class UserPlaylistsRoute extends _i40.PageRouteInfo<void> {
static const String name = 'UserPlaylistsRoute'; static const String name = 'UserPlaylistsRoute';
static _i40.PageInfo page = _i40.PageInfo( static _i41.PageInfo page = _i41.PageInfo(
name, name,
builder: (data) { builder: (data) {
return const _i39.UserPlaylistsPage(); return const _i40.UserPlaylistsPage();
}, },
); );
} }

View File

@ -0,0 +1,67 @@
import 'package:auto_route/auto_route.dart';
import 'package:flutter/material.dart'
show ListTile, ListTileTheme, ListTileThemeData, Material, MaterialType;
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:shadcn_flutter/shadcn_flutter_extension.dart';
import 'package:spotube/collections/routes.gr.dart';
import 'package:spotube/collections/spotube_icons.dart';
import 'package:spotube/components/titlebar/titlebar.dart';
import 'package:spotube/extensions/context.dart';
@RoutePage()
class SettingsScrobblingPage extends HookConsumerWidget {
static const name = "settings_scrobbling";
const SettingsScrobblingPage({super.key});
@override
Widget build(BuildContext context, ref) {
return Material(
type: MaterialType.transparency,
child: ListTileTheme(
data: ListTileThemeData(
contentPadding: EdgeInsets.zero,
minVerticalPadding: 0,
shape: RoundedRectangleBorder(
borderRadius: context.theme.borderRadiusLg,
side: BorderSide(
color: context.theme.colorScheme.border,
width: .5,
),
),
textColor: context.theme.colorScheme.foreground,
iconColor: context.theme.colorScheme.foreground,
selectedColor: context.theme.colorScheme.accent,
subtitleTextStyle: context.theme.typography.xSmall,
),
child: SafeArea(
bottom: false,
child: Scaffold(
headers: const [TitleBar(title: Text("Scrobbling"))],
child: ListView(
padding: const EdgeInsets.all(8),
children: [
Card(
padding: const EdgeInsets.symmetric(horizontal: 16),
child: ListTile(
leading: const Icon(SpotubeIcons.lastFm, color: Colors.red),
title: Text(context.l10n.login_with_lastfm),
subtitle: Text(context.l10n.scrobble_to_lastfm),
trailing: Button.secondary(
leading: const Icon(SpotubeIcons.lastFm),
onPressed: () {
context.navigateTo(const LastFMLoginRoute());
},
child: Text(context.l10n.connect),
),
),
),
],
),
),
),
),
);
}
}

View File

@ -31,16 +31,12 @@ class SettingsAccountSection extends HookConsumerWidget {
), ),
if (scrobbler.asData?.value == null) if (scrobbler.asData?.value == null)
ListTile( ListTile(
leading: const Icon(SpotubeIcons.lastFm), leading: const Icon(SpotubeIcons.music),
title: Text(context.l10n.login_with_lastfm), title: const Text("Audio scrobblers"),
subtitle: Text(context.l10n.scrobble_to_lastfm), onTap: () {
trailing: Button.secondary( context.pushRoute(const SettingsScrobblingRoute());
leading: const Icon(SpotubeIcons.lastFm),
onPressed: () {
context.navigateTo(const LastFMLoginRoute());
}, },
child: Text(context.l10n.connect), trailing: const Icon(SpotubeIcons.angleRight),
),
) )
else else
ListTile( ListTile(