Fixed issues with assignment progress tracking + added subject progress tracking
This commit is contained in:
38
notes/work-report-2026-04-22-progess-bars.md
Normal file
38
notes/work-report-2026-04-22-progess-bars.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# Progress Tracking (Assignments & Subjects)
|
||||
|
||||
## What was done
|
||||
- Implemented progress tracking for both assignments and subjects
|
||||
- Used `Task.isCompleted` as the source of truth
|
||||
- Synced `Assignment.isCompleted` based on task completion
|
||||
|
||||
## Logic implemented
|
||||
- Created `CheckAssignmentCompletion(aId)`
|
||||
- Assignment is marked completed only if all its tasks are completed
|
||||
- Assignment remains incomplete if:
|
||||
- Any task is incomplete
|
||||
- No tasks exist
|
||||
|
||||
## Data handling
|
||||
- Fetched assignments from Supabase
|
||||
- Fetched all related tasks using assignment IDs
|
||||
- Grouped tasks by `aId` into `tasksByAssignment`
|
||||
- Used grouped data to calculate progress efficiently
|
||||
|
||||
## Progress calculation
|
||||
- Assignment progress:
|
||||
- completed tasks / total tasks
|
||||
- Subject progress:
|
||||
- completed tasks across all assignments / total tasks
|
||||
|
||||
## UI work
|
||||
- Added progress bars to:
|
||||
- Assignment cards
|
||||
- Subject views
|
||||
- Used basic inline styling for progress bars
|
||||
- Fixed layout issues caused by incorrect placement inside `flex-row`
|
||||
- Moved progress bar into content column to prevent UI breaking
|
||||
|
||||
## Result
|
||||
- Progress updates dynamically based on task completion
|
||||
- Assignment completion stays in sync with tasks
|
||||
- UI correctly displays both assignment and subject progress
|
||||
Reference in New Issue
Block a user