Skip to content
  • Unlock Pro
  • Log in with GitHub
Profile
OverviewSolutions
10
Comments
7
ella
@Ellamonacillo

All comments

  • Amiko Elvis•260
    @amikoelvis
    Submitted about 1 month ago
    What are you most proud of, and what would you do differently next time?

    I’m proud of implementing a responsive, mobile-first design using Tailwind CSS and creating real-time input validation with JavaScript. The dynamic error handling for the "Number of People" input, showing "Can't be zero" with a red border only when bill and tip are valid, was a key achievement:

    javascript
    
    if ((people === 0 || isNaN(people)) && bill > 0 && selectedTip > 0) {
      peopleInput.classList.add('border-red-500');
      peopleError.classList.remove('hidden');
    }
    

    What I’d Do Differently Next Time: I’d replace the prompt for custom tip with a text input for better UX and add debouncing to input events to optimize performance. I’d also test CSS class application earlier to avoid issues like the red border not showing.

    What challenges did you encounter, and how did you overcome them?

    Challenges Encountered: Red Border Not Showing: The border-red-500 class didn’t apply consistently on the "Number of People" input, likely due to Tailwind CSS conflicts or missing class generation.

    NaN in Outputs: When bill and tip were valid but people was 0 or empty, outputs showed NaN instead of $0.00.

    Conditional Error Display: Ensuring the "Can't be zero" error only appeared after valid bill and tip inputs, not on page load, was tricky.

    How I Overcame Them: Red Border: Added a fallback inline style (peopleInput.style.border = '2px solid rgb(239, 68, 68)') and CSS rule (#people.border-red-500 { border: 2px solid rgb(239, 68, 68) !important; }) to force the border. Ensured border-neutral-grey-50 was toggled off to avoid conflicts.

    NaN Issue: Updated calculateTip to check people === 0 || isNaN(people) with bill > 0 and selectedTip > 0, setting outputs to $0.00 early to skip calculations:

    javascript
    
    if ((people === 0 || isNaN(people)) && bill > 0 && selectedTip > 0) {
      tipAmountDisplay.textContent = '$0.00';
      totalAmountDisplay.textContent = '$0.00';
    }
    

    Error Display: Modified validation to trigger error only when bill and tip were valid, keeping it hidden initially by adding hidden to the error <span> and adjusting logic:

    javascript
    
    if ((people === 0 || isNaN(people)) && bill > 0 && selectedTip > 0) {
      peopleError.classList.remove('hidden');
    }
    
    What specific areas of your project would you like help with?

    I need help ensuring the border-red-500 class applies reliably without fallback inline styles, as it’s still not showing consistently despite Tailwind inclusion. Feedback on optimizing validation logic for edge cases would also be valuable.

    Responsive Tip calculator app using JavaScript and tailwind CSS

    #tailwind-css
    1
    ella•130
    @Ellamonacillo
    Posted 28 days ago

    great!

  • P
    Hogymess•270
    @jull20
    Submitted about 1 month ago

    TimeTrackingDashboardMain(html, css, js, sass)

    1
    ella•130
    @Ellamonacillo
    Posted 30 days ago

    great work!

  • amnesia2k•50
    @amnesia2k
    Submitted 8 months ago

    Social Links Profile using ReactJS and TailwindCSS

    #react#tailwind-css
    1
    ella•130
    @Ellamonacillo
    Posted about 1 month ago

    great!

  • Daniel Oti Yeboah•40
    @TIC0NDER0GA
    Submitted about 1 month ago
    What are you most proud of, and what would you do differently next time?

    Figuring out how to do the shadow on the blog card. Have a more methodical approach this time. I kept jumping between files and tags while I was working.

    What challenges did you encounter, and how did you overcome them?

    Configuring the custom themes and colors for use with tailwind

    What specific areas of your project would you like help with?

    Is there a better way I could have done my positioning layout? I have many grids/flexboxes within each other is this normal?

    Blog Post Preview

    #react#tailwind-css#vite
    1
    ella•130
    @Ellamonacillo
    Posted about 1 month ago

    nice!

  • P
    David Ruiz•320
    @Davichobits
    Submitted 5 months ago

    QR code component using HTML and Tailwind

    #tailwind-css
    2
    ella•130
    @Ellamonacillo
    Posted about 1 month ago

    great!

  • Kadu7k•60
    @kadu7kk
    Submitted almost 2 years ago

    Validation

    #bootstrap#jquery
    1
    ella•130
    @Ellamonacillo
    Posted about 1 month ago

    solid!

  • Mori•170
    @MoriNo23
    Submitted about 1 month ago

    GRID, TAILWINDCSS, REACT, APPLY, USESTATE, TERNARE

    #react#tailwind-css
    1
    ella•130
    @Ellamonacillo
    Posted about 1 month ago

    nice!

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