Minimalistic Calculator Application with beautiful UI and Theme-Mode feature
Basic and elegant Cross-Platform Calculator App with beautiful and minimalistic User-Interface include Theme-Mode feature (Dark/Light) - built with React Native & TypeScript
Here is the folder structure of Calculator-App.
Calculator-App/
|- src/
|-- components/
|-- context/
|-- styles/
|- App.tsx
Now, lets dive into the src folder.
Button.tsx
- MyKeyboard.tsx
Button.tsx
- Implementation of Button component used for numbers, operations and etc.
MyKeyboard.tsx
- Implementation of calculator keyboard and functionality using React Hooks.
ThemeContext.tsx
Context lets components pass information deep down without explicity passing props. ThemeContext call [createContext
] outside any component to create Theme-Mode context,
initialize with 'light' value.
constants.ts
- Contain only one constant object which holds hexadecimal code of colors used by app.
theme.tsx
- Impelmentation of a global theme by creating StyleSheet style for buttons and keyboard ui.
Download or clone this repo by using the link below:
https://github.com/ladunjexa/Calculator-App
As a standard practice of React Native projects for managing packages it is prefer to use Yarn, but you can also use NPM. therefore, at the root folder, execute the following command in console to get the required dependencies:
yarn
At the root folder execute the following command in console to get start the application
expo start
At the main folder execute the following command in console to get the required dependencies:
yarn
At the root folder execute the following command in console to get start the application
expo start
Contributions are always welcome!
See contributing.md
for ways to get started.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt for more information.
Liron Abutbul - @lironabutbul6 - @ladunjexa
Project Link: https://github.com/ladunjexa/Calculator-App
This section used to mention useful resources and libraries that used in Calculator App
- expo.dev
- #codewithbeto