@AhmadYousif89
Posted
Hi there 👋
Congrats on completing this challenge nice work. these are just some issues I have noticed while reviewing your project :
Logical issues
- after selecting a plan and moving to the next step if I want to go back to step 2 I have to re-select a plan even tho it's already highlighted as selected, and I get the alert message.
- the summary step doesn't display the correct values (when switching from monthly to yearly billing).
- there is no change btn on the 4 step to change the billing cycle
Css issues
- the desktop view looks good could be better (try setting a max-width fro the main container so that it doesn't get too wide).
- the mobile version doesn't look too great tho I'm afraid 😐 (I would refactor all the styles for the mobile view).
- it would be a good ux if user can click on the top/side nav btns to go to a certain step.
- if the btn is disabled it would be a good ux if the btn had a different color to visually indicates that it's disabled and maybe changing the cursor on hover as well.
- nether the plan cards nor the switcher is focus-able, therefore the user can't use his/her keyboard to navigate and select a plan or switch the billing cycle.
General thoughts and best practices
- I see you have used CRA to develop you project which is fine but I would suggest that you take a look at Vite which is a much better and advance development tool to create your next react applications.
- I see that you have used the useContext hook to handle the app state which is good approach, what I don't think is good IMO is that you have created multiple context to handle different states which I don't think is really necessary, you can just make one context that handle all of the app state.
- I don't think writing all the state logic in the app component is a good thing, I would create a separate folder for the context and keep the app comp as clean as possible.
there are many things we could talk about on this project but I think this's enough for me 😅 and I hope you find my feedback helpful for you.
btw I have done this challenge and you can review my code to see how I handled the app state in just one context file
You have a nice day 👋
Marked as helpful
@Aashar-Mehmood
Posted
@AhmadYousif89 thanks for the feedback, I really appreciate it. This helped me to make several improvements in the project. All logical issues are fixed and also, I have improved the design for mobile view.