spotube/lib/provider/metadata_plugin/browse/sections.dart
2025-06-15 22:14:04 +06:00

32 lines
994 B
Dart

import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:spotube/models/metadata/metadata.dart';
import 'package:spotube/provider/metadata_plugin/metadata_plugin_provider.dart';
import 'package:spotube/provider/metadata_plugin/utils/paginated.dart';
class MetadataPluginBrowseSectionsNotifier
extends PaginatedAsyncNotifier<SpotubeBrowseSectionObject<Object>> {
@override
Future<SpotubePaginationResponseObject<SpotubeBrowseSectionObject<Object>>>
fetch(
int offset,
int limit,
) async {
return await (await metadataPlugin).browse.sections(
limit: limit,
offset: offset,
);
}
@override
build() async {
ref.watch(metadataPluginProvider);
return await fetch(0, 20);
}
}
final metadataPluginBrowseSectionsProvider = AsyncNotifierProvider<
MetadataPluginBrowseSectionsNotifier,
SpotubePaginationResponseObject<SpotubeBrowseSectionObject<Object>>>(
() => MetadataPluginBrowseSectionsNotifier(),
);