Skip to content
  • Unlock Pro
  • Log in with GitHub
Profile
OverviewSolutions
4
Comments
6

Erine Natnat

@rinsterSF, Bay Area160 points

Software Engineer. SF, Bay Area.

Latest solutions

  • Launch countdown timer with animated flip


    Erine Natnat•160
    Submitted about 2 years ago

    0 comments
  • Advice Generator with Vue + Animation Loader

    #vue

    Erine Natnat•160
    Submitted about 2 years ago

    0 comments
  • Age Calculator App built with Vue + Validation Error handling

    #vue

    Erine Natnat•160
    Submitted about 2 years ago

    0 comments
  • QR Code Component

    #web-components

    Erine Natnat•160
    Submitted about 2 years ago

    0 comments

Latest comments

  • golfingtrex•270
    @golfingtrex
    Submitted about 2 years ago

    QR Code Initial Challenge

    1
    Erine Natnat•160
    @rinster
    Posted about 2 years ago

    Hi! Amazing job on completing this!

    To make this accessible, you'll need to wrap your .container element with semantic HTML tags <main></main>

    Also, all images should have the alt attribute filled in so screen readers are able to describe images.

    A great resource on semantic elements can be found here: https://www.w3schools.com/html/html5_semantic_elements.asp If you'd like to deepen your knowledge of accessibility, Udacity offers a free web accessibility course: https://www.udacity.com/course/web-accessibility--ud891

  • Thejaswini•20
    @Tejashwini06
    Submitted about 2 years ago

    2nd attempt QR Code Responsive page

    1
    Erine Natnat•160
    @rinster
    Posted about 2 years ago

    Hi, your code is almost there! For correctly sourcing the image, you'll need to have an understanding of file paths in the browser. Generally, browsers use forward / slashes as opposed to Windows OS which uses backward slashes \.

    As such, given the location of your file, your src should be as follows:

    src="./image-qr-code.png"
    

    Here is a good resource on file paths: https://www.javatpoint.com/html-file-path Happy Coding!

    Marked as helpful
  • MarvellousObiwulu•10
    @MarvellousObiwulu
    Submitted about 2 years ago

    Not Responsive

    #accessibility
    1
    Erine Natnat•160
    @rinster
    Posted about 2 years ago

    Hi! Great job on completing this! You're almost there :) A great way to make this responsive is to remove all of the margins on your qr-text class and use Flexbox.

    You'll want to add flex properties to the parent container of your qr-text class. In your case the body like so:

    body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    }
    
    This should keep your card nice and centered.
    
  • GrdevPro•20
    @GrdevPro
    Submitted about 2 years ago

    QR-code-component

    3
    Erine Natnat•160
    @rinster
    Posted about 2 years ago

    Hi! Great job on this! The text alignment looks great. A couple of things:

    It looks like the image wasn't uploaded to your host. Once that's uploaded, the image should show :)

    A small adjustment to your css makes the QR centered on mobile and tablet:

    div.bg_blue{
        display: flex;
        justify-content: center;
        align-items: center;
        background-color:  hsl(212, 45%, 89%);
        /* width: 1440px; */ 
        height: 100vh;  
        margin: 150px auto;
    }
    
    Marked as helpful
  • Akash verma•90
    @lusifer65
    Submitted about 2 years ago

    api call and center item by Grid

    #react
    2
    Erine Natnat•160
    @rinster
    Posted about 2 years ago

    Great job on completing the challenge!

    Alternatively, you can switch what svgs/imgs to be shown on the screen using media queries. Add the classes to the html element and add another media query break point for desktop. The below is for mobile:

    @media screen and (max-width: 374px) {
      .desktop {
        display: none; // hide it
      }
      .mobile {
        display: block; // show it
      }
    }
    

    I also recommend disabling :hover on mobile device view. This is the general practice since you can't hover on a mobile device. A code sample below:

    @media(hover: hover) {
      button:hover {
        color: hsl(150, 100%, 66%);
        box-shadow: 0px 0px 26px rgba(82, 255, 168, .9);
        padding: 20px;
      }
    }
    /**Remove hover on mobile screens*/
    @media(hover: none) {
      button:hover, button:active {border: 1px solid rgba(82, 255, 168, .9)}
    }
    
    Marked as helpful
  • Deivisson Lisboa•190
    @DeivissonLisboa
    Submitted about 2 years ago

    Age Calculator App using BEM methodology

    #bem
    1
    Erine Natnat•160
    @rinster
    Posted about 2 years ago

    Amazing job on the animation and in vanilla JS too! I did mines in Vue.js and used Moment.JS library to handle the date logic.

    For handling errors, I recommend having a global object to hold your error states and update it accordingly:

    const errors = {
    	'errorsPresent' : 'false',
    	'dayError': "",
    	'monthError': "",
    	'yearError': ""
    }
    

    I use an errorsPresent key so I don't have to check the entire object. A sample validation logic can look like this:

    
    // Year
    let currentYear =  new  Date().getFullYear();
    if (yearInput === "") {
    	errors.yearError = "This field is required";
    	errors.errorsPresent = true;
    } else if (isNaN(Number(yearInput))) {
    	errors.yearError = "Must be a valid year";
    	errors.errorsPresent = true;
    } else if (Number(yearInput) > currentYear) {
    	errors.yearError = "Must be in the past";
    	errors.errorsPresent = true;
    }
    

    So if errors.errorsPresent === true you can update the DOM by inserting css style classes and the error messages from your errors object.

    .is-danger--border {
    	border: 1px solid hsl(0, 100%, 67%);
    }
    
    .is-danger--text {
    	color: hsl(0, 100%, 67%);
    }
    

    Don't forget to clear your error states and messages if the user updates the date again. Hope this helps :)

    Marked as helpful
Frontend Mentor logo

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

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