Skip to content

Commit

Permalink
feat(lesson): added numerical progression indicator
Browse files Browse the repository at this point in the history
  • Loading branch information
SethCohen committed Mar 13, 2023
1 parent 8cd3f3c commit 2c34d26
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 7 deletions.
39 changes: 33 additions & 6 deletions src/lib/pages/lessons_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,18 @@ class _LessonsPageState extends State<LessonsPage> {
color: const Color(0XFF425366),
child: ListTile(
title: Text(lessonTitle),
trailing:
trailing: Row(
mainAxisSize: MainAxisSize.min,
children: [
Text(
lessonProgress[index]
['lessonCardsRemaining']
.toString(),
style: TextStyle(color: iconColour),
),
Icon(Icons.check_circle, color: iconColour),
],
),
onTap: () => Navigator.pushNamed(
context,
'/lesson',
Expand Down Expand Up @@ -94,6 +104,7 @@ class _LessonsPageState extends State<LessonsPage> {
'id': lessonProgress.id,
'complete': data['complete'],
'inProgress': data['inProgress'],
'lessonCardsRemaining': data['lessonCardsRemaining'],
};
}).toList();
}
Expand All @@ -107,12 +118,28 @@ class _LessonsPageState extends State<LessonsPage> {

if (lessonDoesntExist) {
FirebaseFirestore.instance
.collection("users")
.doc(user.uid)
.collection("progress")
.collection("lessons")
.doc(lesson.id)
.set({"complete": false, "inProgress": false},
SetOptions(merge: true));
.collection('cards')
.get()
.then(
(value) {
final lessonCardsRemaining = value.size;
FirebaseFirestore.instance
.collection("users")
.doc(user.uid)
.collection("progress")
.doc(lesson.id)
.set(
{
"complete": false,
"inProgress": false,
"lessonCardsRemaining": lessonCardsRemaining
},
SetOptions(merge: true),
);
},
);
}
}

Expand Down
7 changes: 6 additions & 1 deletion src/lib/widgets/lesson.dart
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ class _LessonState extends State<Lesson> {
Widget build(BuildContext context) {
// TODO add actual expression signs, not just alphabet | add more cards
// TODO optional: quiz minigame at end of lesson or loop
// TODO percentage|cards remaining lesson completed

final arguments = (ModalRoute.of(context)?.settings.arguments ??
<String, dynamic>{}) as Map;
Expand Down Expand Up @@ -111,6 +110,12 @@ class _LessonState extends State<Lesson> {
Navigator.pop(context);
} else {
_currentCardIndex++;
FirebaseFirestore.instance
.collection('users')
.doc(_user.uid)
.collection('progress')
.doc(_lessonId)
.update({'lessonCardsRemaining': FieldValue.increment(-1)});
}
});
}
Expand Down

0 comments on commit 2c34d26

Please sign in to comment.