Skip to content

Commit

Permalink
Change bloc and state
Browse files Browse the repository at this point in the history
  • Loading branch information
SepehrFakoori committed Jul 11, 2024
1 parent adf6794 commit da847b4
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 20 deletions.
24 changes: 13 additions & 11 deletions lib/bloc/home/home_bloc.dart
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
import 'package:currency_exchange_rate_app_flutter/bloc/crypto/crypto_event.dart';
import 'package:currency_exchange_rate_app_flutter/bloc/crypto/crypto_state.dart';
import 'package:currency_exchange_rate_app_flutter/data/repository/crypto_currency_repository.dart';
import 'package:currency_exchange_rate_app_flutter/bloc/home/home_event.dart';
import 'package:currency_exchange_rate_app_flutter/bloc/home/home_state.dart';
import 'package:currency_exchange_rate_app_flutter/data/repository/price_repository.dart';
import 'package:bloc/bloc.dart';
import 'package:currency_exchange_rate_app_flutter/di/di.dart';

class CryptoBloc extends Bloc<CryptoEvent, CryptoState> {
final ICryptoCurrencyRepository _repository = locator.get();
class HomeBloc extends Bloc<HomeEvent, HomeState> {
final IPriceRepository _repository = locator.get();

CryptoBloc() : super(CryptoInitState()) {
on<CryptoInitializeEvent>((event, emit) async {
emit(CryptoLoadingState());
// var response = await _repository.getCryptoCurrencies();
var response = await _repository.getCurrencies();
emit(CryptoResponseState(response));
HomeBloc() : super(HomeInitState()) {
on<HomeInitializeEvent>((event, emit) async {
emit(HomeLoadingState());
var currencyResponse = await _repository.getCurrencies();
var goldResponse = await _repository.getGolds();
var coinResponse = await _repository.getCoins();

emit(HomeResponseState(currencyResponse, goldResponse, coinResponse));
});
}
}
4 changes: 2 additions & 2 deletions lib/bloc/home/home_event.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
abstract class CryptoEvent {}
abstract class HomeEvent {}

class CryptoInitializeEvent extends CryptoEvent {}
class HomeInitializeEvent extends HomeEvent {}
20 changes: 13 additions & 7 deletions lib/bloc/home/home_state.dart
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
import 'package:currency_exchange_rate_app_flutter/data/model/crypto_currency.dart';
import 'package:currency_exchange_rate_app_flutter/data/model/coin.dart';
import 'package:currency_exchange_rate_app_flutter/data/model/currency.dart';
import 'package:currency_exchange_rate_app_flutter/data/model/gold.dart';
import 'package:dartz/dartz.dart';

abstract class CryptoState {}
abstract class HomeState {}

class CryptoInitState extends CryptoState {}
class HomeInitState extends HomeState {}

class CryptoLoadingState extends CryptoState {}
class HomeLoadingState extends HomeState {}

class CryptoResponseState extends CryptoState {
// Either<String, List<CryptoCurrency>> cryptoCurrencyResponse;
class HomeResponseState extends HomeState {
Either<String, List<Currency>> currencyResponse;
Either<String, List<Gold>> goldResponse;
Either<String, List<Coin>> coinResponse;

CryptoResponseState(this.currencyResponse);
HomeResponseState(
this.currencyResponse,
this.goldResponse,
this.coinResponse,
);
}

0 comments on commit da847b4

Please sign in to comment.