rikurauhala / 0b.is Goto Github PK
View Code? Open in Web Editor NEWQuickly convert between different numeral systems! | Binary, decimal, hexadecimal and more | Multiple languages supported
License: MIT License
Quickly convert between different numeral systems! | Binary, decimal, hexadecimal and more | Multiple languages supported
License: MIT License
Currently the application uses the default color palette provided by Material UI. The application supports both a light theme and a dark theme (default).
Using the default theme is not very impressive. A custom theme should be made and it should work with both the light and the dark mode as well.
The following new functionality must be tested:
The UI could be available in different languages. Default language would still be English. All work would be open sourced and not done by AI to ensure the quality and validity of translations.
To-do
The manual should be written when most of the functionality is done and the UI is unlikely to change.
Currently the application only supports integers. Support for fractions or floating point numbers should be added.
An idea for further development: adding support for query strings or search params. The user could manipulate the url directly and get the results they want.
For example, navigating straight to 0b.is/100?from=8&to=16 would convert the number 100 from base 8 (octal) to base 16 (hexadecimal).
The url could also be something like this: 0b.is/convert?number=100&from=8&to=16.
Updating the url after each conversion would also allow users to easily share the results by just copying and sharing the url.
Hey @main95, everything is ready for translation. I wrote instructions in the contribution guidelines, please read before you start! Thanks.
Reference issue #74 when updating.
The way I coded this works but it's not optimal. The icons should be passed as props instead but I struggled to get the typing correct.
0b.is/src/components/Footer/Footer.tsx
Lines 20 to 26 in f5bf79a
Currently, setting input and output modes to the same type has been blocked by disabling the selection. This is fine but leads to a degraded user experience.
An example: the user loads the application at 0b.is. By default the modes are set to binary as input and decimal as output. What if the user wants to convert decimal to binary instead? The user opens the input mode select and notices that the decimal option is disabled. The user would have to change the output into something else first.
A possible solution would be to stop disabling options. Instead, if input is set to same as the output, the I/O could be swapped. So in the example case above, the user would simply choose decimal, input would be set to decimal and output would be swapped to binary. There could also be a separate button for swapping the systems in the UI itself.
Add support for octal or base-8 numbers.
A logo is needed for the project. The logo would be used on the website, the repository and possibly as the favicon.
Currently, visiting a non-existing address displays the default GitHub Pages 404 page.
A custom one can be created by following the instructions provided by GitHub.
Working on it, just info box contents left.
It should be possible to create a function to convert a number from arbitrary base x to base y.
With refactoring the structure has changed.
Opening the language selection and clicking outside without choosing causes the language to be set to undefined.
Octal number conversion must be tested.
Adding a relevant flag next to each language would be a nice addition and improve the user experience.
Currently has Lorem Ipsum placeholder texts. The info boxes should contain some information about specific numeral systems and their pratical use cases.
Test coverage is currently quite low. While all the core functionality is tested, most components are not.
For consistency, all props should be sorted alphabetically.
Some of the components could be refactored
Currently, the output system select component disables the option that is used as input. However, the user can change the input system to match the output system and by doing so the input and the output are the same. This is not desired functionality as there is no use for convering system x back to itself.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.