Skip to content
  • Unlock Pro
  • Log in with GitHub
Profile
OverviewSolutions
13
Comments
1

Gabriel Bezerra

@GabrielBezerraGSão Paulo270 points

HTML | CSS | Javascript | React

I’m currently learning...

React / TypeScript

Latest solutions

  • Newsletter Sign-up form developed with React and Typescript

    #react#typescript#sass/scss

    Gabriel Bezerra•270
    Submitted almost 2 years ago

    0 comments
  • Sunnyside agency landing page created with React

    #react#sass/scss

    Gabriel Bezerra•270
    Submitted almost 2 years ago

    0 comments
  • REST Countries API created with React

    #react#react-router#styled-components

    Gabriel Bezerra•270
    Submitted about 2 years ago

    0 comments
  • Results summary component created with Next.js

    #next#react#styled-components

    Gabriel Bezerra•270
    Submitted over 2 years ago

    0 comments
  • Multi-step Form created with Next.js and styled-components

    #next#react#styled-components

    Gabriel Bezerra•270
    Submitted over 2 years ago

    1 comment
  • Expenses chart component - Next.js and styled-components

    #next#react#styled-components

    Gabriel Bezerra•270
    Submitted over 2 years ago

    0 comments
View more solutions

Latest comments

  • Arhyel Patrick•130
    @ArhyelTarfa
    Submitted over 2 years ago

    flexbox and grif

    2
    Gabriel Bezerra•270
    @GabrielBezerraG
    Posted over 2 years ago

    Hey Arhyel, I went through your code and I'd like to share some things that could be improved:

    • You could style the ".container" div to center the content on the screen. Apply this to the desktop layout using a media query.
    • Change the phone input type to 'tel'
    • The plan buttons should be inputs type 'radio' and have the same 'name' attribute so that only one option can be selected. You could do the same thing you did with the monthly switch where you kept the input hidden. In this case, you would have to verify which one is checked to apply the active style and use it in the finishing up step
    • I noticed there's something wrong with the 'addon' event listener. When the input is clicked, the event fires twice. The preventDefault() method seems to solve it but the input is not always selected in the event depending on where you click, which can cause an error. I'd suggest not to use event.target and choose a different approach.
    • The add-on inputs must have the same 'name' attribute
    • Instead of using .children and .childNodes you could use a querySelector in your parent element to prevent unexpected errors when you change the structure of your code
    • Instead of the 'add' array, I'd verify which add-ons are checked on the submit event. This array is never cleared and it keeps adding elements when an input is clicked
    • Consider breaking your code into smaller pieces using different CSS files and js modules to keep it more organized

    Overall, I think you did a nice job and I hope this helps you finish your project!

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub