Skip to content

[Feature]: Add "Reset Progress" Button for a DSA Sheet #1510

Description

@ida-jemi

Feature/Project Proposal

Add a "Reset Progress" button on the sheet details page:

  • Small button/icon near the sheet's progress bar
  • Opens a confirmation dialog (reuse existing Modal component), "This will clear your progress on [Sheet Name]. This can't be undone."
  • On confirm, clears the UserSheetProgress entries for that sheet + user only (not other sheets, not account data)

Problem Statement

Users can track question-by-question progress on DSA sheets (Striver, NeetCode, GFG, etc.) via UserSheetProgress, but there's no way to intentionally clear it. If someone wants to redo a sheet from scratch, their only option is to manually uncheck every question.

Proposed Solution

Add a "Reset Progress" button on the sheet details page. Clicking it opens a confirmation dialog, "This will clear your progress on the Sheet Name. This can't be undone." On confirm, it clears the UserSheetProgress entries for that sheet and user only (not other sheets, not account data). Backend-wise this just needs one endpoint (or an extension of the existing progress route) to delete/reset progress docs scoped to userId + sheetId.

Scope

  • Backend: one endpoint (or extend existing progress route) to delete/reset progress docs scoped to userId + sheetId
  • Frontend: button + confirmation modal on SheetDetailsPage.jsx
  • Out of scope: bulk-reset all sheets at once, undo/history of resets

Alternatives Considered

  • Let users manually uncheck every question one by one, this is what happens today, but it's tedious for long sheets (150–450 questions).
  • A full "reset all sheets" option, considered but left out of scope for v1 since it's a bigger, riskier action (see Additional Context).

Benefits

Gives users a clean way to restart a sheet (e.g. before a fresh revision pass or a new job cycle) without manually clearing every checkbox. Small addition that fits naturally next to the existing progress bar UI, with no new dependencies.

Priority

High

Additional Context

Checklist

  • I have searched existing issues and discussions before creating this request.
  • I am willing to work on this feature if it is approved.

Metadata

Metadata

Assignees

Labels

claimedThis issue has been claimed by a contributorenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions