UX: "in progress" section on the homepage
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2
- Forks
- 1
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 7
Description
Part of the UX backlog. Raised on 2026-06-11 as an "in progress" section.
The level page already distinguishes three states per module — complete (green), started (blue ring), untouched — in LevelCatalogClient. The homepage does not: CatalogClient shows only a per-level percentage, so nothing tells a reader what they have in flight.
Scope
- A section on the homepage listing modules that are started but not complete, across both tracks and all levels.
- Sits naturally next to the "continue where you left off" entry point, and shares the same underlying data.
Notes
The data is already there — getProgress().modules holds completedSections and completed per module, and "started but not complete" is exactly the isStarted condition LevelCatalogClient computes today. Reuse it rather than re-deriving.
Done when
The homepage shows in-progress modules with a direct link to each, and the list empties correctly when a module is completed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in CatalogClient and compare its progress display with the state handling in LevelCatalogClient. Trace getProgress().modules, including completedSections, completed, and the existing isStarted condition, then reuse that data for the homepage list. Done means started-but-incomplete modules from both tracks and all levels appear with direct links and disappear after completion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100