mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2026-02-16 06:19:35 +00:00
fix: 优化播放页面章节列表
This commit is contained in:
parent
0a26871bb1
commit
612e8b3f50
7 changed files with 96 additions and 153 deletions
|
|
@ -152,9 +152,9 @@ class PlayerState extends _$PlayerState {
|
|||
}
|
||||
|
||||
@riverpod
|
||||
Duration? currentTime(Ref ref, String libraryItemId) {
|
||||
final me = ref.watch(meProvider);
|
||||
final userProgress = me.valueOrNull?.mediaProgress
|
||||
Future<Duration?> currentTime(Ref ref, String libraryItemId) async {
|
||||
final me = await ref.watch(meProvider.future);
|
||||
final userProgress = me.mediaProgress
|
||||
?.firstWhereOrNull((element) => element.libraryItemId == libraryItemId);
|
||||
return userProgress?.currentTime;
|
||||
}
|
||||
|
|
@ -192,7 +192,8 @@ class CurrentBook extends _$CurrentBook {
|
|||
}
|
||||
final book = await ref.read(libraryItemProvider(libraryItemId).future);
|
||||
state = book.media.asBookExpanded;
|
||||
final currentTime = ref.read(currentTimeProvider(libraryItemId));
|
||||
final currentTime =
|
||||
await ref.read(currentTimeProvider(libraryItemId).future);
|
||||
await ref
|
||||
.read(absPlayerProvider.notifier)
|
||||
.load(state!, initialPosition: currentTime, play: play);
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ final playerActiveProvider = AutoDisposeProvider<bool>.internal(
|
|||
@Deprecated('Will be removed in 3.0. Use Ref instead')
|
||||
// ignore: unused_element
|
||||
typedef PlayerActiveRef = AutoDisposeProviderRef<bool>;
|
||||
String _$currentTimeHash() => r'079945f118884b57d2e038117c7a7a5b873bc7d1';
|
||||
String _$currentTimeHash() => r'3e7f99dbf48242a5fa0a4239a0f696535d0b4ac9';
|
||||
|
||||
/// Copied from Dart SDK
|
||||
class _SystemHash {
|
||||
|
|
@ -85,7 +85,7 @@ class _SystemHash {
|
|||
const currentTimeProvider = CurrentTimeFamily();
|
||||
|
||||
/// See also [currentTime].
|
||||
class CurrentTimeFamily extends Family<Duration?> {
|
||||
class CurrentTimeFamily extends Family<AsyncValue<Duration?>> {
|
||||
/// See also [currentTime].
|
||||
const CurrentTimeFamily();
|
||||
|
||||
|
|
@ -123,7 +123,7 @@ class CurrentTimeFamily extends Family<Duration?> {
|
|||
}
|
||||
|
||||
/// See also [currentTime].
|
||||
class CurrentTimeProvider extends AutoDisposeProvider<Duration?> {
|
||||
class CurrentTimeProvider extends AutoDisposeFutureProvider<Duration?> {
|
||||
/// See also [currentTime].
|
||||
CurrentTimeProvider(
|
||||
String libraryItemId,
|
||||
|
|
@ -158,7 +158,7 @@ class CurrentTimeProvider extends AutoDisposeProvider<Duration?> {
|
|||
|
||||
@override
|
||||
Override overrideWith(
|
||||
Duration? Function(CurrentTimeRef provider) create,
|
||||
FutureOr<Duration?> Function(CurrentTimeRef provider) create,
|
||||
) {
|
||||
return ProviderOverride(
|
||||
origin: this,
|
||||
|
|
@ -175,7 +175,7 @@ class CurrentTimeProvider extends AutoDisposeProvider<Duration?> {
|
|||
}
|
||||
|
||||
@override
|
||||
AutoDisposeProviderElement<Duration?> createElement() {
|
||||
AutoDisposeFutureProviderElement<Duration?> createElement() {
|
||||
return _CurrentTimeProviderElement(this);
|
||||
}
|
||||
|
||||
|
|
@ -195,13 +195,13 @@ class CurrentTimeProvider extends AutoDisposeProvider<Duration?> {
|
|||
|
||||
@Deprecated('Will be removed in 3.0. Use Ref instead')
|
||||
// ignore: unused_element
|
||||
mixin CurrentTimeRef on AutoDisposeProviderRef<Duration?> {
|
||||
mixin CurrentTimeRef on AutoDisposeFutureProviderRef<Duration?> {
|
||||
/// The parameter `libraryItemId` of this provider.
|
||||
String get libraryItemId;
|
||||
}
|
||||
|
||||
class _CurrentTimeProviderElement extends AutoDisposeProviderElement<Duration?>
|
||||
with CurrentTimeRef {
|
||||
class _CurrentTimeProviderElement
|
||||
extends AutoDisposeFutureProviderElement<Duration?> with CurrentTimeRef {
|
||||
_CurrentTimeProviderElement(super.provider);
|
||||
|
||||
@override
|
||||
|
|
@ -275,7 +275,7 @@ final playerStateProvider =
|
|||
);
|
||||
|
||||
typedef _$PlayerState = AutoDisposeNotifier<core.AbsPlayerState>;
|
||||
String _$currentBookHash() => r'eed66894cb003d9d8ebd7b128d6ebb4efd5cda1b';
|
||||
String _$currentBookHash() => r'b4f6b6ccc772631db3dfd9070be3d7487333544d';
|
||||
|
||||
/// See also [CurrentBook].
|
||||
@ProviderFor(CurrentBook)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue