Skip to content

Commit

Permalink
get truth by level
Browse files Browse the repository at this point in the history
  • Loading branch information
ardi27 committed Feb 27, 2021
1 parent 0b3ab0e commit c62deba
Show file tree
Hide file tree
Showing 6 changed files with 197 additions and 89 deletions.
15 changes: 9 additions & 6 deletions lib/blocs/truth_or_dare/truth_or_dare_bloc.dart
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,24 @@ class TruthOrDareBloc extends Bloc<TruthOrDareEvent, TruthOrDareState> {
}
}

Stream<TruthOrDareState> _getDareToState(TruthOrDareEvent event) async*{
Stream<TruthOrDareState> _getDareToState(GetDare event) async*{
yield TodLoading();
try{
DareModel dareModel=await truthRepository.getRandomDare();
yield DareLoaded(dareModel: dareModel);
int selectedLevel=event.selectedLevel;
DareModel dareModel=await truthRepository.getRandomDare(selectedLevel: selectedLevel);
yield DareLoaded(dareModel: dareModel,selectedLevel: selectedLevel);
}catch(e){
yield TodError(errMessage: e.toString()??"An error occured",isTruth: false);
}
}

Stream<TruthOrDareState> _getTruthToState(TruthOrDareEvent event) async*{
Stream<TruthOrDareState> _getTruthToState(GetTruth event) async*{
yield TodLoading();
try{
TruthModel truthModel=await truthRepository.getRandomTruth();
yield TruthLoaded(truthModel: truthModel);
int selectedLevel=event.selectedLevel;
TruthModel truthModel=await truthRepository.getRandomTruth(selectedLevel: selectedLevel);
print(truthModel);
yield TruthLoaded(truthModel: truthModel,selectedLevel: selectedLevel);
}catch(e){
yield TodError(errMessage: e.toString()??"An error occured",isTruth: true);
}
Expand Down
8 changes: 8 additions & 0 deletions lib/blocs/truth_or_dare/truth_or_dare_event.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,18 @@ abstract class TruthOrDareEvent extends Equatable {
List<Object> get props => [];
}
class GetTruth extends TruthOrDareEvent{
final int selectedLevel;

GetTruth({this.selectedLevel=-1});
@override
List<Object> get props => [selectedLevel];
}
class GetDare extends TruthOrDareEvent{
final int selectedLevel;

GetDare({this.selectedLevel=-1});
@override
List<Object> get props => [selectedLevel];
}

class SubmitTruthOrDare extends TruthOrDareEvent{
Expand Down
7 changes: 4 additions & 3 deletions lib/blocs/truth_or_dare/truth_or_dare_state.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,15 @@ class TodLoading extends TruthOrDareState{}

class TruthLoaded extends TruthOrDareState{
final TruthModel truthModel;
TruthLoaded({this.truthModel});
final int selectedLevel;
TruthLoaded({this.truthModel,this.selectedLevel=-1});
@override
List<Object> get props => [truthModel];
}
class DareLoaded extends TruthOrDareState{
final DareModel dareModel;

DareLoaded({this.dareModel, });
final int selectedLevel;
DareLoaded({this.dareModel,this.selectedLevel=-1 });
@override
List<Object> get props => [dareModel];
}
Expand Down
1 change: 1 addition & 0 deletions lib/constants/Lists.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
const List level=['easy','medium','hard'];
17 changes: 13 additions & 4 deletions lib/repositories/truth_repository.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import 'dart:convert';

import 'package:dio/dio.dart';
import 'package:truthordare/config/url.dart';
import 'package:truthordare/constants/Lists.dart';
import 'package:truthordare/model/DareModel.dart';
import 'package:truthordare/model/TruthModel.dart';
import 'package:truthordare/model/UserDareModel.dart';
Expand All @@ -10,10 +11,14 @@ import 'package:truthordare/screen/truth_or_dare/user_truth.dart';
import 'package:truthordare/utilities/http.dart';

class TruthOrDareRepository{
Future getRandomTruth() async{
Future getRandomTruth({int selectedLevel=-1}) async{
try{
String levelSelected="";
if(selectedLevel> -1){
levelSelected=level[selectedLevel];
}
Response response = await dio.get(
'$baseUrl/truth/random',
'$baseUrl/truth/random?level=$levelSelected',
);
final dynamic data = response.data;
final TruthModel record = truthModelFromJson(jsonEncode(data));
Expand All @@ -22,10 +27,14 @@ class TruthOrDareRepository{
throw Exception(e);
}
}
Future getRandomDare() async{
Future getRandomDare({int selectedLevel=-1}) async{
try{
String levelSelected="";
if(selectedLevel> -1){
levelSelected=level[selectedLevel];
}
Response response = await dio.get(
'$baseUrl/dare/random',
'$baseUrl/dare/random?level=$levelSelected',
);
final dynamic data = response.data;
final DareModel record = dareModelFromJson(jsonEncode(data));
Expand Down
Loading

0 comments on commit c62deba

Please sign in to comment.