chore: fix connect freezed model not working

This commit is contained in:
Kingkor Roy Tirtho 2025-06-19 15:52:05 +06:00
parent 1eb0b5f847
commit 86e55f7a3d
7 changed files with 202 additions and 92 deletions

View File

@ -33,36 +33,62 @@ WebSocketLoadEventData _$WebSocketLoadEventDataFromJson(
/// @nodoc /// @nodoc
mixin _$WebSocketLoadEventData { mixin _$WebSocketLoadEventData {
List<dynamic> get tracks => throw _privateConstructorUsedError; @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> get tracks => throw _privateConstructorUsedError;
Object? get collection => throw _privateConstructorUsedError; Object? get collection => throw _privateConstructorUsedError;
int? get initialIndex => throw _privateConstructorUsedError; int? get initialIndex => throw _privateConstructorUsedError;
@optionalTypeArgs @optionalTypeArgs
TResult when<TResult extends Object?>({ TResult when<TResult extends Object?>({
required TResult Function(List<SpotubeFullTrackObject> tracks, required TResult Function(
SpotubeSimplePlaylistObject? collection, int? initialIndex) @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimplePlaylistObject? collection,
int? initialIndex)
playlist, playlist,
required TResult Function(List<SpotubeFullTrackObject> tracks, required TResult Function(
SpotubeSimpleAlbumObject? collection, int? initialIndex) @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimpleAlbumObject? collection,
int? initialIndex)
album, album,
}) => }) =>
throw _privateConstructorUsedError; throw _privateConstructorUsedError;
@optionalTypeArgs @optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({ TResult? whenOrNull<TResult extends Object?>({
TResult? Function(List<SpotubeFullTrackObject> tracks, TResult? Function(
SpotubeSimplePlaylistObject? collection, int? initialIndex)? @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimplePlaylistObject? collection,
int? initialIndex)?
playlist, playlist,
TResult? Function(List<SpotubeFullTrackObject> tracks, TResult? Function(
SpotubeSimpleAlbumObject? collection, int? initialIndex)? @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimpleAlbumObject? collection,
int? initialIndex)?
album, album,
}) => }) =>
throw _privateConstructorUsedError; throw _privateConstructorUsedError;
@optionalTypeArgs @optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({ TResult maybeWhen<TResult extends Object?>({
TResult Function(List<SpotubeFullTrackObject> tracks, TResult Function(
SpotubeSimplePlaylistObject? collection, int? initialIndex)? @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimplePlaylistObject? collection,
int? initialIndex)?
playlist, playlist,
TResult Function(List<SpotubeFullTrackObject> tracks, TResult Function(
SpotubeSimpleAlbumObject? collection, int? initialIndex)? @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimpleAlbumObject? collection,
int? initialIndex)?
album, album,
required TResult orElse(), required TResult orElse(),
}) => }) =>
@ -103,7 +129,11 @@ abstract class $WebSocketLoadEventDataCopyWith<$Res> {
$Res Function(WebSocketLoadEventData) then) = $Res Function(WebSocketLoadEventData) then) =
_$WebSocketLoadEventDataCopyWithImpl<$Res, WebSocketLoadEventData>; _$WebSocketLoadEventDataCopyWithImpl<$Res, WebSocketLoadEventData>;
@useResult @useResult
$Res call({List<dynamic> tracks, int? initialIndex}); $Res call(
{@Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
int? initialIndex});
} }
/// @nodoc /// @nodoc
@ -129,7 +159,7 @@ class _$WebSocketLoadEventDataCopyWithImpl<$Res,
tracks: null == tracks tracks: null == tracks
? _value.tracks ? _value.tracks
: tracks // ignore: cast_nullable_to_non_nullable : tracks // ignore: cast_nullable_to_non_nullable
as List<dynamic>, as List<SpotubeTrackObject>,
initialIndex: freezed == initialIndex initialIndex: freezed == initialIndex
? _value.initialIndex ? _value.initialIndex
: initialIndex // ignore: cast_nullable_to_non_nullable : initialIndex // ignore: cast_nullable_to_non_nullable
@ -148,7 +178,9 @@ abstract class _$$WebSocketLoadEventDataPlaylistImplCopyWith<$Res>
@override @override
@useResult @useResult
$Res call( $Res call(
{List<SpotubeFullTrackObject> tracks, {@Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimplePlaylistObject? collection, SpotubeSimplePlaylistObject? collection,
int? initialIndex}); int? initialIndex});
@ -178,7 +210,7 @@ class __$$WebSocketLoadEventDataPlaylistImplCopyWithImpl<$Res>
tracks: null == tracks tracks: null == tracks
? _value._tracks ? _value._tracks
: tracks // ignore: cast_nullable_to_non_nullable : tracks // ignore: cast_nullable_to_non_nullable
as List<SpotubeFullTrackObject>, as List<SpotubeTrackObject>,
collection: freezed == collection collection: freezed == collection
? _value.collection ? _value.collection
: collection // ignore: cast_nullable_to_non_nullable : collection // ignore: cast_nullable_to_non_nullable
@ -211,7 +243,9 @@ class __$$WebSocketLoadEventDataPlaylistImplCopyWithImpl<$Res>
class _$WebSocketLoadEventDataPlaylistImpl class _$WebSocketLoadEventDataPlaylistImpl
extends WebSocketLoadEventDataPlaylist { extends WebSocketLoadEventDataPlaylist {
_$WebSocketLoadEventDataPlaylistImpl( _$WebSocketLoadEventDataPlaylistImpl(
{required final List<SpotubeFullTrackObject> tracks, {@Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
required final List<SpotubeTrackObject> tracks,
this.collection, this.collection,
this.initialIndex, this.initialIndex,
final String? $type}) final String? $type})
@ -223,9 +257,11 @@ class _$WebSocketLoadEventDataPlaylistImpl
Map<String, dynamic> json) => Map<String, dynamic> json) =>
_$$WebSocketLoadEventDataPlaylistImplFromJson(json); _$$WebSocketLoadEventDataPlaylistImplFromJson(json);
final List<SpotubeFullTrackObject> _tracks; final List<SpotubeTrackObject> _tracks;
@override @override
List<SpotubeFullTrackObject> get tracks { @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> get tracks {
if (_tracks is EqualUnmodifiableListView) return _tracks; if (_tracks is EqualUnmodifiableListView) return _tracks;
// ignore: implicit_dynamic_type // ignore: implicit_dynamic_type
return EqualUnmodifiableListView(_tracks); return EqualUnmodifiableListView(_tracks);
@ -274,11 +310,19 @@ class _$WebSocketLoadEventDataPlaylistImpl
@override @override
@optionalTypeArgs @optionalTypeArgs
TResult when<TResult extends Object?>({ TResult when<TResult extends Object?>({
required TResult Function(List<SpotubeFullTrackObject> tracks, required TResult Function(
SpotubeSimplePlaylistObject? collection, int? initialIndex) @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimplePlaylistObject? collection,
int? initialIndex)
playlist, playlist,
required TResult Function(List<SpotubeFullTrackObject> tracks, required TResult Function(
SpotubeSimpleAlbumObject? collection, int? initialIndex) @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimpleAlbumObject? collection,
int? initialIndex)
album, album,
}) { }) {
return playlist(tracks, collection, initialIndex); return playlist(tracks, collection, initialIndex);
@ -287,11 +331,19 @@ class _$WebSocketLoadEventDataPlaylistImpl
@override @override
@optionalTypeArgs @optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({ TResult? whenOrNull<TResult extends Object?>({
TResult? Function(List<SpotubeFullTrackObject> tracks, TResult? Function(
SpotubeSimplePlaylistObject? collection, int? initialIndex)? @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimplePlaylistObject? collection,
int? initialIndex)?
playlist, playlist,
TResult? Function(List<SpotubeFullTrackObject> tracks, TResult? Function(
SpotubeSimpleAlbumObject? collection, int? initialIndex)? @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimpleAlbumObject? collection,
int? initialIndex)?
album, album,
}) { }) {
return playlist?.call(tracks, collection, initialIndex); return playlist?.call(tracks, collection, initialIndex);
@ -300,11 +352,19 @@ class _$WebSocketLoadEventDataPlaylistImpl
@override @override
@optionalTypeArgs @optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({ TResult maybeWhen<TResult extends Object?>({
TResult Function(List<SpotubeFullTrackObject> tracks, TResult Function(
SpotubeSimplePlaylistObject? collection, int? initialIndex)? @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimplePlaylistObject? collection,
int? initialIndex)?
playlist, playlist,
TResult Function(List<SpotubeFullTrackObject> tracks, TResult Function(
SpotubeSimpleAlbumObject? collection, int? initialIndex)? @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimpleAlbumObject? collection,
int? initialIndex)?
album, album,
required TResult orElse(), required TResult orElse(),
}) { }) {
@ -355,7 +415,9 @@ class _$WebSocketLoadEventDataPlaylistImpl
abstract class WebSocketLoadEventDataPlaylist extends WebSocketLoadEventData { abstract class WebSocketLoadEventDataPlaylist extends WebSocketLoadEventData {
factory WebSocketLoadEventDataPlaylist( factory WebSocketLoadEventDataPlaylist(
{required final List<SpotubeFullTrackObject> tracks, {@Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
required final List<SpotubeTrackObject> tracks,
final SpotubeSimplePlaylistObject? collection, final SpotubeSimplePlaylistObject? collection,
final int? initialIndex}) = _$WebSocketLoadEventDataPlaylistImpl; final int? initialIndex}) = _$WebSocketLoadEventDataPlaylistImpl;
WebSocketLoadEventDataPlaylist._() : super._(); WebSocketLoadEventDataPlaylist._() : super._();
@ -364,7 +426,9 @@ abstract class WebSocketLoadEventDataPlaylist extends WebSocketLoadEventData {
_$WebSocketLoadEventDataPlaylistImpl.fromJson; _$WebSocketLoadEventDataPlaylistImpl.fromJson;
@override @override
List<SpotubeFullTrackObject> get tracks; @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> get tracks;
@override @override
SpotubeSimplePlaylistObject? get collection; SpotubeSimplePlaylistObject? get collection;
@override @override
@ -389,7 +453,9 @@ abstract class _$$WebSocketLoadEventDataAlbumImplCopyWith<$Res>
@override @override
@useResult @useResult
$Res call( $Res call(
{List<SpotubeFullTrackObject> tracks, {@Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimpleAlbumObject? collection, SpotubeSimpleAlbumObject? collection,
int? initialIndex}); int? initialIndex});
@ -419,7 +485,7 @@ class __$$WebSocketLoadEventDataAlbumImplCopyWithImpl<$Res>
tracks: null == tracks tracks: null == tracks
? _value._tracks ? _value._tracks
: tracks // ignore: cast_nullable_to_non_nullable : tracks // ignore: cast_nullable_to_non_nullable
as List<SpotubeFullTrackObject>, as List<SpotubeTrackObject>,
collection: freezed == collection collection: freezed == collection
? _value.collection ? _value.collection
: collection // ignore: cast_nullable_to_non_nullable : collection // ignore: cast_nullable_to_non_nullable
@ -450,7 +516,9 @@ class __$$WebSocketLoadEventDataAlbumImplCopyWithImpl<$Res>
@JsonSerializable() @JsonSerializable()
class _$WebSocketLoadEventDataAlbumImpl extends WebSocketLoadEventDataAlbum { class _$WebSocketLoadEventDataAlbumImpl extends WebSocketLoadEventDataAlbum {
_$WebSocketLoadEventDataAlbumImpl( _$WebSocketLoadEventDataAlbumImpl(
{required final List<SpotubeFullTrackObject> tracks, {@Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
required final List<SpotubeTrackObject> tracks,
this.collection, this.collection,
this.initialIndex, this.initialIndex,
final String? $type}) final String? $type})
@ -462,9 +530,11 @@ class _$WebSocketLoadEventDataAlbumImpl extends WebSocketLoadEventDataAlbum {
Map<String, dynamic> json) => Map<String, dynamic> json) =>
_$$WebSocketLoadEventDataAlbumImplFromJson(json); _$$WebSocketLoadEventDataAlbumImplFromJson(json);
final List<SpotubeFullTrackObject> _tracks; final List<SpotubeTrackObject> _tracks;
@override @override
List<SpotubeFullTrackObject> get tracks { @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> get tracks {
if (_tracks is EqualUnmodifiableListView) return _tracks; if (_tracks is EqualUnmodifiableListView) return _tracks;
// ignore: implicit_dynamic_type // ignore: implicit_dynamic_type
return EqualUnmodifiableListView(_tracks); return EqualUnmodifiableListView(_tracks);
@ -512,11 +582,19 @@ class _$WebSocketLoadEventDataAlbumImpl extends WebSocketLoadEventDataAlbum {
@override @override
@optionalTypeArgs @optionalTypeArgs
TResult when<TResult extends Object?>({ TResult when<TResult extends Object?>({
required TResult Function(List<SpotubeFullTrackObject> tracks, required TResult Function(
SpotubeSimplePlaylistObject? collection, int? initialIndex) @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimplePlaylistObject? collection,
int? initialIndex)
playlist, playlist,
required TResult Function(List<SpotubeFullTrackObject> tracks, required TResult Function(
SpotubeSimpleAlbumObject? collection, int? initialIndex) @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimpleAlbumObject? collection,
int? initialIndex)
album, album,
}) { }) {
return album(tracks, collection, initialIndex); return album(tracks, collection, initialIndex);
@ -525,11 +603,19 @@ class _$WebSocketLoadEventDataAlbumImpl extends WebSocketLoadEventDataAlbum {
@override @override
@optionalTypeArgs @optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({ TResult? whenOrNull<TResult extends Object?>({
TResult? Function(List<SpotubeFullTrackObject> tracks, TResult? Function(
SpotubeSimplePlaylistObject? collection, int? initialIndex)? @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimplePlaylistObject? collection,
int? initialIndex)?
playlist, playlist,
TResult? Function(List<SpotubeFullTrackObject> tracks, TResult? Function(
SpotubeSimpleAlbumObject? collection, int? initialIndex)? @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimpleAlbumObject? collection,
int? initialIndex)?
album, album,
}) { }) {
return album?.call(tracks, collection, initialIndex); return album?.call(tracks, collection, initialIndex);
@ -538,11 +624,19 @@ class _$WebSocketLoadEventDataAlbumImpl extends WebSocketLoadEventDataAlbum {
@override @override
@optionalTypeArgs @optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({ TResult maybeWhen<TResult extends Object?>({
TResult Function(List<SpotubeFullTrackObject> tracks, TResult Function(
SpotubeSimplePlaylistObject? collection, int? initialIndex)? @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimplePlaylistObject? collection,
int? initialIndex)?
playlist, playlist,
TResult Function(List<SpotubeFullTrackObject> tracks, TResult Function(
SpotubeSimpleAlbumObject? collection, int? initialIndex)? @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> tracks,
SpotubeSimpleAlbumObject? collection,
int? initialIndex)?
album, album,
required TResult orElse(), required TResult orElse(),
}) { }) {
@ -593,7 +687,9 @@ class _$WebSocketLoadEventDataAlbumImpl extends WebSocketLoadEventDataAlbum {
abstract class WebSocketLoadEventDataAlbum extends WebSocketLoadEventData { abstract class WebSocketLoadEventDataAlbum extends WebSocketLoadEventData {
factory WebSocketLoadEventDataAlbum( factory WebSocketLoadEventDataAlbum(
{required final List<SpotubeFullTrackObject> tracks, {@Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
required final List<SpotubeTrackObject> tracks,
final SpotubeSimpleAlbumObject? collection, final SpotubeSimpleAlbumObject? collection,
final int? initialIndex}) = _$WebSocketLoadEventDataAlbumImpl; final int? initialIndex}) = _$WebSocketLoadEventDataAlbumImpl;
WebSocketLoadEventDataAlbum._() : super._(); WebSocketLoadEventDataAlbum._() : super._();
@ -602,7 +698,9 @@ abstract class WebSocketLoadEventDataAlbum extends WebSocketLoadEventData {
_$WebSocketLoadEventDataAlbumImpl.fromJson; _$WebSocketLoadEventDataAlbumImpl.fromJson;
@override @override
List<SpotubeFullTrackObject> get tracks; @Assert("tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject")
List<SpotubeTrackObject> get tracks;
@override @override
SpotubeSimpleAlbumObject? get collection; SpotubeSimpleAlbumObject? get collection;
@override @override

View File

@ -10,7 +10,7 @@ _$WebSocketLoadEventDataPlaylistImpl
_$$WebSocketLoadEventDataPlaylistImplFromJson(Map json) => _$$WebSocketLoadEventDataPlaylistImplFromJson(Map json) =>
_$WebSocketLoadEventDataPlaylistImpl( _$WebSocketLoadEventDataPlaylistImpl(
tracks: (json['tracks'] as List<dynamic>) tracks: (json['tracks'] as List<dynamic>)
.map((e) => SpotubeFullTrackObject.fromJson( .map((e) => SpotubeTrackObject.fromJson(
Map<String, dynamic>.from(e as Map))) Map<String, dynamic>.from(e as Map)))
.toList(), .toList(),
collection: json['collection'] == null collection: json['collection'] == null
@ -34,8 +34,8 @@ _$WebSocketLoadEventDataAlbumImpl _$$WebSocketLoadEventDataAlbumImplFromJson(
Map json) => Map json) =>
_$WebSocketLoadEventDataAlbumImpl( _$WebSocketLoadEventDataAlbumImpl(
tracks: (json['tracks'] as List<dynamic>) tracks: (json['tracks'] as List<dynamic>)
.map((e) => SpotubeFullTrackObject.fromJson( .map((e) =>
Map<String, dynamic>.from(e as Map))) SpotubeTrackObject.fromJson(Map<String, dynamic>.from(e as Map)))
.toList(), .toList(),
collection: json['collection'] == null collection: json['collection'] == null
? null ? null

View File

@ -5,13 +5,21 @@ class WebSocketLoadEventData with _$WebSocketLoadEventData {
const WebSocketLoadEventData._(); const WebSocketLoadEventData._();
factory WebSocketLoadEventData.playlist({ factory WebSocketLoadEventData.playlist({
required List<SpotubeFullTrackObject> tracks, @Assert(
"tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject",
)
required List<SpotubeTrackObject> tracks,
SpotubeSimplePlaylistObject? collection, SpotubeSimplePlaylistObject? collection,
int? initialIndex, int? initialIndex,
}) = WebSocketLoadEventDataPlaylist; }) = WebSocketLoadEventDataPlaylist;
factory WebSocketLoadEventData.album({ factory WebSocketLoadEventData.album({
required List<SpotubeFullTrackObject> tracks, @Assert(
"tracks is List<SpotubeFullTrackObject>",
"tracks must be a list of SpotubeFullTrackObject",
)
required List<SpotubeTrackObject> tracks,
SpotubeSimpleAlbumObject? collection, SpotubeSimpleAlbumObject? collection,
int? initialIndex, int? initialIndex,
}) = WebSocketLoadEventDataAlbum; }) = WebSocketLoadEventDataAlbum;

View File

@ -73,7 +73,7 @@ class TrackSource with _$TrackSource {
} }
@JsonSerializable() @JsonSerializable()
abstract class BasicSourcedTrack { class BasicSourcedTrack {
final TrackSourceQuery query; final TrackSourceQuery query;
final AudioSource source; final AudioSource source;
final TrackSourceInfo info; final TrackSourceInfo info;

View File

@ -7,7 +7,6 @@ import 'package:shadcn_flutter/shadcn_flutter.dart' hide Image;
import 'package:shadcn_flutter/shadcn_flutter_extension.dart'; import 'package:shadcn_flutter/shadcn_flutter_extension.dart';
import 'package:spotube/collections/assets.gen.dart'; import 'package:spotube/collections/assets.gen.dart';
import 'package:spotube/collections/routes.gr.dart';
import 'package:spotube/collections/spotube_icons.dart'; import 'package:spotube/collections/spotube_icons.dart';
import 'package:spotube/components/playbutton_view/playbutton_view.dart'; import 'package:spotube/components/playbutton_view/playbutton_view.dart';
import 'package:spotube/models/metadata/metadata.dart'; import 'package:spotube/models/metadata/metadata.dart';
@ -61,14 +60,12 @@ class UserPlaylistsPage extends HookConsumerWidget {
if (searchText.value.isEmpty) { if (searchText.value.isEmpty) {
return [ return [
if (likedTracksPlaylist != null) likedTracksPlaylist, if (likedTracksPlaylist != null) likedTracksPlaylist,
...?playlistsQuery.asData?.value.items ...?playlistsQuery.asData?.value.items,
as List<SpotubeSimplePlaylistObject>?,
]; ];
} }
return [ return [
if (likedTracksPlaylist != null) likedTracksPlaylist, if (likedTracksPlaylist != null) likedTracksPlaylist,
...?playlistsQuery.asData?.value.items ...?playlistsQuery.asData?.value.items,
as List<SpotubeSimplePlaylistObject>?,
] ]
.map((e) => (weightedRatio(e.name, searchText.value), e)) .map((e) => (weightedRatio(e.name, searchText.value), e))
.sorted((a, b) => b.$1.compareTo(a.$1)) .sorted((a, b) => b.$1.compareTo(a.$1))
@ -116,19 +113,19 @@ class UserPlaylistsPage extends HookConsumerWidget {
SliverPadding( SliverPadding(
padding: const EdgeInsets.symmetric(horizontal: 8), padding: const EdgeInsets.symmetric(horizontal: 8),
sliver: PlaybuttonView( sliver: PlaybuttonView(
leading: Expanded( leading: const Expanded(
child: Row( child: Row(
children: [ children: [
const PlaylistCreateDialogButton(), PlaylistCreateDialogButton(),
const Gap(10), // const Gap(10),
Button.primary( // Button.primary(
leading: const Icon(SpotubeIcons.magic), // leading: const Icon(SpotubeIcons.magic),
child: Text(context.l10n.generate), // child: Text(context.l10n.generate),
onPressed: () { // onPressed: () {
context.navigateTo(const PlaylistGeneratorRoute()); // context.navigateTo(const PlaylistGeneratorRoute());
}, // },
), // ),
const Gap(10), // const Gap(10),
], ],
), ),
), ),

View File

@ -983,34 +983,35 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_secure_storage name: flutter_secure_storage
sha256: "165164745e6afb5c0e3e3fcc72a012fb9e58496fb26ffb92cf22e16a821e85d0" sha256: "9cad52d75ebc511adfae3d447d5d13da15a55a92c9410e50f67335b6d21d16ea"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "9.2.2" version: "9.2.4"
flutter_secure_storage_linux: flutter_secure_storage_linux:
dependency: transitive dependency: "direct overridden"
description: description:
name: flutter_secure_storage_linux path: flutter_secure_storage_linux
sha256: "4d91bfc23047422cbcd73ac684bc169859ee766482517c22172c86596bf1464b" ref: patch-2
url: "https://pub.dev" resolved-ref: f076cbb65b075afd6e3b648122987a67306dc298
source: hosted url: "https://github.com/m-berto/flutter_secure_storage.git"
version: "1.2.1" source: git
version: "2.0.1"
flutter_secure_storage_macos: flutter_secure_storage_macos:
dependency: transitive dependency: transitive
description: description:
name: flutter_secure_storage_macos name: flutter_secure_storage_macos
sha256: "1693ab11121a5f925bbea0be725abfcfbbcf36c1e29e571f84a0c0f436147a81" sha256: "6c0a2795a2d1de26ae202a0d78527d163f4acbb11cde4c75c670f3a0fc064247"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.2" version: "3.1.3"
flutter_secure_storage_platform_interface: flutter_secure_storage_platform_interface:
dependency: transitive dependency: "direct overridden"
description: description:
name: flutter_secure_storage_platform_interface name: flutter_secure_storage_platform_interface
sha256: cf91ad32ce5adef6fba4d736a542baca9daf3beac4db2d04be350b87f69ac4a8 sha256: b8337d3d52e429e6c0a7710e38cf9742a3bb05844bd927450eb94f80c11ef85d
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.2" version: "2.0.0"
flutter_secure_storage_web: flutter_secure_storage_web:
dependency: transitive dependency: transitive
description: description:
@ -2516,10 +2517,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: tray_manager name: tray_manager
sha256: c2da0f0f1ddb455e721cf68d05d1281fec75cf5df0a1d3cb67b6ca0bdfd5709d sha256: ad18c4cd73003097d182884bacb0578ad2865f3ab842a0ad00f6d043ed49eaf0
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.4.0" version: "0.5.0"
type_plus: type_plus:
dependency: transitive dependency: transitive
description: description:

View File

@ -62,7 +62,7 @@ dependencies:
sdk: flutter sdk: flutter
flutter_native_splash: ^2.4.6 flutter_native_splash: ^2.4.6
flutter_riverpod: ^2.5.1 flutter_riverpod: ^2.5.1
flutter_secure_storage: ^9.0.0 flutter_secure_storage: ^9.2.4
flutter_sharing_intent: ^1.1.0 flutter_sharing_intent: ^1.1.0
flutter_undraw: ^0.2.1 flutter_undraw: ^0.2.1
form_builder_validators: ^11.1.1 form_builder_validators: ^11.1.1
@ -119,7 +119,7 @@ dependencies:
test: ^1.25.7 test: ^1.25.7
timezone: ^0.10.0 timezone: ^0.10.0
titlebar_buttons: ^1.0.0 titlebar_buttons: ^1.0.0
tray_manager: ^0.4.0 tray_manager: ^0.5.0
url_launcher: ^6.2.6 url_launcher: ^6.2.6
uuid: ^4.4.0 uuid: ^4.4.0
version: ^3.0.2 version: ^3.0.2
@ -187,6 +187,12 @@ dependency_overrides:
flutter_svg: ^2.0.17 flutter_svg: ^2.0.17
intl: any intl: any
collection: any collection: any
flutter_secure_storage_linux:
git:
url: https://github.com/m-berto/flutter_secure_storage.git
ref: patch-2
path: flutter_secure_storage_linux
flutter_secure_storage_platform_interface: 2.0.0
flutter: flutter:
generate: true generate: true