mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2026-02-16 14:29:35 +00:00
31 lines
1.1 KiB
Dart
31 lines
1.1 KiB
Dart
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
|
import 'package:vaani/features/per_book_settings/providers/book_settings_provider.dart';
|
|
import 'package:vaani/features/player/providers/audiobook_player.dart';
|
|
import 'package:vaani/features/skip_start_end/skip_start_end.dart' as core;
|
|
|
|
part 'skip_start_end_provider.g.dart';
|
|
|
|
@riverpod
|
|
class SkipStartEnd extends _$SkipStartEnd {
|
|
@override
|
|
core.SkipStartEnd? build() {
|
|
final player = ref.watch(simpleAudiobookPlayerProvider);
|
|
final book = ref.watch(audiobookPlayerProvider.select((v) => v.book));
|
|
final bookId = book?.libraryItemId ?? '_';
|
|
if (bookId == '_') {
|
|
return null;
|
|
}
|
|
final bookSettings = ref.watch(bookSettingsProvider(bookId));
|
|
final start = bookSettings.playerSettings.skipChapterStart;
|
|
final end = bookSettings.playerSettings.skipChapterEnd;
|
|
|
|
final skipStartEnd = core.SkipStartEnd(
|
|
start: start,
|
|
end: end,
|
|
player: player,
|
|
chapterId: player.currentChapter?.id,
|
|
);
|
|
ref.onDispose(skipStartEnd.dispose);
|
|
return skipStartEnd;
|
|
}
|
|
}
|