Skip to content

Instantly share code, notes, and snippets.

@ibrajix
Created December 9, 2022 15:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ibrajix/d1a397b6cfca46859f79d98724bc1ca0 to your computer and use it in GitHub Desktop.
Save ibrajix/d1a397b6cfca46859f79d98724bc1ca0 to your computer and use it in GitHub Desktop.
nft_bloc
class NftBloc extends Bloc<NftEvent, ApiState> {
final NftRepository _nftRepository;
NftBloc(this._nftRepository) : super(ApiState.initial(const [], const [])) {
on<GetNftEvent>((event, emit) async {
emit(state.copyWith(
status: Status.loading
));
try{
final allNft = await _nftRepository.getAllNft();
final topNft = List<TopNft>.from(allNft[0].map((i) => TopNft.fromJson(i)));
final trendingNft = List<TrendingNft>.from(allNft[1].map((i) => TrendingNft.fromJson(i)));
emit(state.copyWith(
status: Status.success,
topNft: topNft,
trendingNft: trendingNft
));
}catch(e){
emit(state.copyWith(
status: Status.error,
error: e.toString()
));
debugPrint("error: $e");
}
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment