When a user first creates an account and has not confirmed their email, a blue banner will appear at the top of the page:

The language of this banner implies that by clicking on the "Confirm Now" text the user will trigger a confirmation email to be sent to them.
Programmatically speaking, when this button is clicked, two things happen:
- a POST request is sent to the
sendEmailUrl that is provided by the Learner Home init call
- a modal is opened with some additional information that feels somewhat misleading

However, the POST request is never actually made as the code is getting hung up on an error from the post utility function (source). This function expects a url and a body argument. The body is then stringified and send out with the POST request. Although, for this particular case, a body is never provided to the post utility function (source). This will throw an error as the stringify utility doesn't handle undefined values (source).

This can be replicated by creating a new account and clicking the “Confirm Now” button in the blue banner.
This can be fixed by forcing the post utility to always pass an empty object if no body argument is provided.
Although, the UX of the modal is still not very clear. It feels like it could mislead users into thinking that by clicking the red button in the modal, they have confirmed their email. It would be good to refactor the language here and perhaps the overall implementation of the modal to be more user-friendly.
When a user first creates an account and has not confirmed their email, a blue banner will appear at the top of the page:
The language of this banner implies that by clicking on the "Confirm Now" text the user will trigger a confirmation email to be sent to them.
Programmatically speaking, when this button is clicked, two things happen:
sendEmailUrlthat is provided by the Learner Home init callHowever, the POST request is never actually made as the code is getting hung up on an error from the
postutility function (source). This function expects aurland abodyargument. Thebodyis then stringified and send out with the POST request. Although, for this particular case, a body is never provided to thepostutility function (source). This will throw an error as thestringifyutility doesn't handle undefined values (source).This can be replicated by creating a new account and clicking the “Confirm Now” button in the blue banner.
This can be fixed by forcing the
postutility to always pass an empty object if nobodyargument is provided.Although, the UX of the modal is still not very clear. It feels like it could mislead users into thinking that by clicking the red button in the modal, they have confirmed their email. It would be good to refactor the language here and perhaps the overall implementation of the modal to be more user-friendly.