Skip to content

Commit

Permalink
Debug + Check for empty String
Browse files Browse the repository at this point in the history
  • Loading branch information
Teifun2 committed Aug 2, 2020
1 parent b6b11d9 commit 54c802c
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 11 deletions.
8 changes: 4 additions & 4 deletions lib/src/blocs/recipe/recipe_bloc.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ class RecipeBloc extends Bloc<RecipeEvent, RecipeState> {
}
}


Stream<RecipeState> _mapRecipeLoadedToState(RecipeLoaded recipeLoaded) async* {
Stream<RecipeState> _mapRecipeLoadedToState(
RecipeLoaded recipeLoaded) async* {
try {
yield RecipeLoadInProgress();
final recipe = await dataRepository.fetchRecipe(recipeLoaded.recipeId);
yield RecipeLoadSuccess(recipe: recipe);
} catch (_) {
yield RecipeLoadFailure();
yield RecipeLoadFailure(_.toString());
}
}
}
}
11 changes: 9 additions & 2 deletions lib/src/blocs/recipe/recipe_state.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ class RecipeLoadSuccess extends RecipeState {
List<Object> get props => [recipe];
}

class RecipeLoadFailure extends RecipeState {}
class RecipeLoadFailure extends RecipeState {
final String errorMsg;

class RecipeLoadInProgress extends RecipeState {}
const RecipeLoadFailure(this.errorMsg);

@override
List<Object> get props => [errorMsg];
}

class RecipeLoadInProgress extends RecipeState {}
11 changes: 6 additions & 5 deletions lib/src/models/recipe.dart
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,16 @@ class Recipe extends Equatable {
List<String> recipeInstructions =
data["recipeInstructions"].cast<String>().toList();
int recipeYield = data["recipeYield"];
Duration prepTime = data.containsKey("prepTime")
Duration prepTime = data.containsKey("prepTime") && data["prepTime"] != ""
? IsoTimeFormat.toDuration(data["prepTime"])
: null;
Duration cookTime = data.containsKey("cookTime")
Duration cookTime = data.containsKey("cookTime") && data["cookTime"] != ""
? IsoTimeFormat.toDuration(data["cookTime"])
: null;
Duration totalTime = data.containsKey("totalTime")
? IsoTimeFormat.toDuration(data["totalTime"])
: null;
Duration totalTime =
data.containsKey("totalTime") && data["totalTime"] != ""
? IsoTimeFormat.toDuration(data["totalTime"])
: null;

return Recipe._(
id,
Expand Down
4 changes: 4 additions & 0 deletions lib/src/screens/recipe_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ class RecipeScreenState extends State<RecipeScreen> {
return Center(
child: CircularProgressIndicator(),
);
} else if (state is RecipeLoadFailure) {
return Center(
child: Text(state.errorMsg),
);
} else {
return Center(
child: Text("FAILED"),
Expand Down

0 comments on commit 54c802c

Please sign in to comment.