Skip to content

Commit eb176f2

Browse files
committed
Add Food Store API Consume
1 parent 0d114e0 commit eb176f2

File tree

10 files changed

+1154
-140
lines changed

10 files changed

+1154
-140
lines changed
+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:healthy_buddy_mobile_app/models/foodies_model/food_store_model.dart';
3+
import 'package:healthy_buddy_mobile_app/services/foodies_services/food_store_service/food_store_service.dart';
4+
5+
class FoodStoreByBuahClass extends ChangeNotifier {
6+
List<FoodStoreModel>? foodStoreModel;
7+
getBuah({required BuildContext context, required String category}) async {
8+
foodStoreModel =
9+
(await getFoodStoreByCategory(context: context, category: 'Buah'));
10+
notifyListeners();
11+
}
12+
}
13+
14+
class FoodStoreBySayuranClass extends ChangeNotifier {
15+
List<FoodStoreModel>? foodStoreModel;
16+
getSayuran({required BuildContext context, required String category}) async {
17+
foodStoreModel =
18+
(await getFoodStoreByCategory(context: context, category: 'Sayuran'));
19+
notifyListeners();
20+
}
21+
}
22+
23+
class FoodStoreByInstanClass extends ChangeNotifier {
24+
List<FoodStoreModel>? foodStoreModel;
25+
getInstan({required BuildContext context, required String category}) async {
26+
foodStoreModel =
27+
(await getFoodStoreByCategory(context: context, category: 'Instan'));
28+
notifyListeners();
29+
}
30+
}
31+
32+
class FoodStoreByMinumanClass extends ChangeNotifier {
33+
List<FoodStoreModel>? foodStoreModel;
34+
getMinuman({required BuildContext context, required String category}) async {
35+
foodStoreModel =
36+
(await getFoodStoreByCategory(context: context, category: 'Minuman'));
37+
notifyListeners();
38+
}
39+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:healthy_buddy_mobile_app/models/sport_model/sport_exercise_model.dart';
3+
import 'package:healthy_buddy_mobile_app/services/sport_services/sport_exercise_service.dart';
4+
5+
class SportExerciseEasyClass extends ChangeNotifier {
6+
List<SportExerciseModel>? sportExercise;
7+
getSport({required BuildContext context, required String category}) async {
8+
sportExercise =
9+
(await getSportExerciseByLevel(context: context, level: 'Easy'));
10+
notifyListeners();
11+
}
12+
}
13+
14+
class SportExerciseMediumClass extends ChangeNotifier {
15+
List<SportExerciseModel>? sportExercise;
16+
getSport({required BuildContext context, required String category}) async {
17+
sportExercise =
18+
(await getSportExerciseByLevel(context: context, level: 'Medium'));
19+
notifyListeners();
20+
}
21+
}
22+
23+
class SportExerciseHardClass extends ChangeNotifier {
24+
List<SportExerciseModel>? sportExercise;
25+
getSport({required BuildContext context, required String category}) async {
26+
sportExercise =
27+
(await getSportExerciseByLevel(context: context, level: 'Hard'));
28+
notifyListeners();
29+
}
30+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
// To parse this JSON data, do
2+
//
3+
// final foodStoreModel = foodStoreModelFromJson(jsonString);
4+
5+
import 'dart:convert';
6+
7+
List<FoodStoreModel> foodStoreModelFromJson(String str) =>
8+
List<FoodStoreModel>.from(
9+
json.decode(str).map((x) => FoodStoreModel.fromJson(x)));
10+
11+
String foodStoreModelToJson(List<FoodStoreModel> data) =>
12+
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
13+
14+
class FoodStoreModel {
15+
FoodStoreModel({
16+
required this.id,
17+
required this.name,
18+
required this.description,
19+
required this.gallery,
20+
required this.price,
21+
required this.category,
22+
});
23+
24+
int id;
25+
String name;
26+
String description;
27+
dynamic gallery;
28+
int price;
29+
String category;
30+
31+
factory FoodStoreModel.fromJson(Map<String, dynamic> json) => FoodStoreModel(
32+
id: json["id"],
33+
name: json["name"],
34+
description: json["description"],
35+
gallery: json["gallery"],
36+
price: json["price"],
37+
category: json["category"],
38+
);
39+
40+
Map<String, dynamic> toJson() => {
41+
"id": id,
42+
"name": name,
43+
"description": description,
44+
"gallery": gallery,
45+
"price": price,
46+
"category": category,
47+
};
48+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
// To parse this JSON data, do
2+
//
3+
// final sportExerciseModel = sportExerciseModelFromJson(jsonString);
4+
5+
import 'dart:convert';
6+
7+
List<SportExerciseModel> sportExerciseModelFromJson(String str) =>
8+
List<SportExerciseModel>.from(
9+
json.decode(str).map((x) => SportExerciseModel.fromJson(x)));
10+
11+
String sportExerciseModelToJson(List<SportExerciseModel> data) =>
12+
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
13+
14+
class SportExerciseModel {
15+
SportExerciseModel({
16+
required this.id,
17+
required this.name,
18+
required this.description,
19+
required this.linkVideo,
20+
required this.level,
21+
required this.thumbnail,
22+
});
23+
24+
int id;
25+
String name;
26+
String description;
27+
String linkVideo;
28+
String level;
29+
String thumbnail;
30+
31+
factory SportExerciseModel.fromJson(Map<String, dynamic> json) =>
32+
SportExerciseModel(
33+
id: json["id"],
34+
name: json["name"],
35+
description: json["description"],
36+
linkVideo: json["link_video"],
37+
level: json["level"],
38+
thumbnail: json["thumbnail"],
39+
);
40+
41+
Map<String, dynamic> toJson() => {
42+
"id": id,
43+
"name": name,
44+
"description": description,
45+
"link_video": linkVideo,
46+
"level": level,
47+
"thumbnail": thumbnail,
48+
};
49+
}

lib/providers/providers_list.dart

+23
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import 'package:healthy_buddy_mobile_app/core/extras/top_article_notifier.dart';
22
import 'package:healthy_buddy_mobile_app/core/foodies/food_articles_notifier.dart';
33
import 'package:healthy_buddy_mobile_app/core/foodies/food_receipt_notifier.dart';
4+
import 'package:healthy_buddy_mobile_app/core/foodies/food_store_notifier.dart';
5+
import 'package:healthy_buddy_mobile_app/core/sport/sport_exercise_notifier.dart';
46
import 'package:provider/provider.dart';
57
import 'package:provider/single_child_widget.dart';
68

@@ -32,5 +34,26 @@ class ProviderList {
3234
ChangeNotifierProvider(
3335
create: (_) => FoodReceiptByDrink(),
3436
),
37+
ChangeNotifierProvider(
38+
create: (_) => FoodStoreByBuahClass(),
39+
),
40+
ChangeNotifierProvider(
41+
create: (_) => FoodStoreBySayuranClass(),
42+
),
43+
ChangeNotifierProvider(
44+
create: (_) => FoodStoreByInstanClass(),
45+
),
46+
ChangeNotifierProvider(
47+
create: (_) => FoodStoreByMinumanClass(),
48+
),
49+
ChangeNotifierProvider(
50+
create: (_) => SportExerciseEasyClass(),
51+
),
52+
ChangeNotifierProvider(
53+
create: (_) => SportExerciseMediumClass(),
54+
),
55+
ChangeNotifierProvider(
56+
create: (_) => SportExerciseHardClass(),
57+
),
3558
];
3659
}

0 commit comments

Comments
 (0)