Optional - Course data from Firestore
Last updated
Last updated
widgets => completed_course_list.dart
final _auth = FirebaseAuth.instance;
final _firestore = FirebaseFirestore.instance;
@override
void initState() {
super.initState();
getCompletedCourses();
}
void getCompletedCourses() {
_firestore
.collection("users")
.doc(_auth.currentUser!.uid)
.get()
.then((snapshot) {
for (var course in snapshot["completed"]) {
_firestore
.collection("courses")
.doc(course)
.get()
.then((courseSnapshot) {
setState(() {
completedCourses.add(Course(
courseTitle: courseSnapshot["courseTitle"],
courseSubtitle: courseSnapshot["courseSubtitle"],
illustration: courseSnapshot["illustration"],
logo: courseSnapshot["logo"],
background: LinearGradient(colors: [
Color(int.parse(courseSnapshot["color"][0])),
Color(int.parse(courseSnapshot["color"][1])),
]),
videoUrl: courseSnapshot["videoUrl"],
));
});
});
}
});
}
Load badges => profile_screen.dart
void loadBadges() {
_firestore
.collection("users")
.doc(_auth.currentUser!.uid)
.get()
.then((snapshot) {
for (var badge in snapshot.data()!["badges"]) {
_storage.ref("badges/$badge").getDownloadURL().then((url) {
setState(() {
badges.add(url);
});
});
}
});
}