Because game codes are a limited resource and users know that, it might be worth making some improvements to give users somewhat more accurate information about game code availability. I recommend the following fixes:
- Right now, if a user already has a code for a game, and returns to the Display Code page later, they have to click "Claim code" again to see their code. (And if they're wrong that they already have a code, e.g. if they clicked on the wrong architecture, clicking that button will allocate a new code.) It would be better to tell the user they already have a code when they go to Display Code in the first place.
- Right now, if no codes are available, the "Claim code" button still appears. It would be better to tell the user that no codes are available, rather than make them decide whether to click the button and only then tell them. (I know there's a race condition here, but i think it's okay to ignore it - it's okay if occasionally a user clicks the button and is told that codes just ran out, but the typical case should be giving the user the accurate information.)
- If code acquisition failed because no codes were available, don't show the user the "This code is unique to you. You can access it again at any time by returning to this page" message.
Because game codes are a limited resource and users know that, it might be worth making some improvements to give users somewhat more accurate information about game code availability. I recommend the following fixes: