♻️ small refactor of router.querys and 🐛 bug solving realted to usePersistent and coupons #1615
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue: #7770
Bug Descriptions:
Bug 1
If a course already has a coupon applied (e.g.,
summer-25
), the system currently allows users to apply the same coupon again, resulting in an additional discount. This behavior is incorrect. Instead, with the fix, the system should display a toast message notifying the user that the coupon has already been applied.Bug 2
When using a
coupon
in the URL's query string, it is saved inusePersistent
as a string. If a subsequent transaction is attempted, theusePersistent
logic triggers and parses the string, causing an exponential duplication issue (e.g., returning/'string'/
).This occurs because
JSON.stringify
is designed to serialize objects, arrays, and other data types. When applied directly to a simple string (e.g.,"summer-25"
), it converts the string into a JSON-valid string that includes additional quotes, causing unintended behavior.