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/family_paginated.dart'; class MetadataPluginArtistRelatedArtistsNotifier extends FamilyPaginatedAsyncNotifier { @override Future> fetch( int offset, int limit, ) async { return await (await metadataPlugin) .artist .related( id: arg, limit: limit, offset: offset, mpscTx: await mpscTx, ) .then((a) => a.flatten()); } @override build(arg) async { ref.watch(metadataPluginProvider); return await fetch(0, 20); } } final metadataPluginArtistRelatedArtistsProvider = AsyncNotifierProviderFamily< MetadataPluginArtistRelatedArtistsNotifier, SpotubeFlattenedPaginationObject, String>( () => MetadataPluginArtistRelatedArtistsNotifier(), );