Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found

Submitted

Responsive multi step form using React.Js and CSS

@Aashar-Mehmood

Desktop design screenshot for the Multi-step form coding challenge

This is a solution for...

  • HTML
  • CSS
  • JS
4advanced
View challenge

Design comparison


SolutionDesign

Solution retrospective


What are some bad code practices I used? How can I make the code simpler?

Community feedback

Jo89 😈 380

@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

0

@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.

0

Please log in to post a comment

Log in with GitHub
Discord logo

Join our Discord community

Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!

Join our Discord