Skip to content

Latest commit

 

History

History
68 lines (54 loc) · 3 KB

README.md

File metadata and controls

68 lines (54 loc) · 3 KB

Calculator

Solution for a challenge from frontendmentor.io.



About The Project

This calculator app will be a great test of your CSS and JS skills especially. If you're wanting to practice using Grid, this challenge will be perfect for you! The challenge is to build out this calculator app and get it looking as close to the design as possible. You can use any tools you like to help you complete the challenge. So if you've got something you'd like to practice, feel free to give it a go.

Users should be able to:
1. See the size of the elements adjust based on their device's screen size
2. Perform mathematical operations like addition, subtraction, multiplication, and division
3. Adjust the color theme based on their preference
4. Bonus: Have their initial theme preference checked using prefers-color-scheme and have any additional changes saved in the browser

I do not have access to the Figma sketch so the design is not pixel perfect.

Built with

  • Semantic HTML5 markup
  • CSS custom properties
  • Flex
  • Grid
  • Desktop-first workflow
  • React

What I learned

I learned how to do simple math calculations using functions, condiitons and performing actions using keyboard. I also tried styled components for the first time, to achieve theme toggle funcionality. It turned out to be an amazing experience and I definitely would love to do some more project suing styled components.

Contribution

This project serves as a project to show off my personal skills. I do not accept any contributions like pull requests to this project however if you have any suggestions or ideas feel free to message me or submit an idea in the discussions. Otherwise, you are free to fork this project and change it for your own purposes.

Useful resources

  1. Figma - Paste your design image to check the size of containers, width, etc.
  2. Perfect Pixel - Awesome Chrome extension that helps you to match the pixels of the provided design.

Acknowledgments

A big thank you to anyone providing feedback on my solution. It definitely helps to find new ways to code and find easier solutions!