Optional - Course data from Firestore

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);
          });
        });
      }
    });
  }

Last updated