Previously, the translation data had the language names translated
in the specific language which is counter intuitive. Because if the
page loads in English and the user clicks on the Change Language
button then they will see their language's name in English which they
might not now.
Signed-off-by: Sudhanshu Gautam <me@sudhanshug.com>
Introduce ability to change default settings for the app.
Currently starting with disabling i18n debug on prod server
Signed-off-by: Sudhanshu Gautam <me@sudhanshug.com>
ESLint is used with the standard react plugin. It detects all kinds of
issues ranging from misspells, indentation, variable-naming, etc.
A pre-commit hook is added to git. Prior commiting, ESlint will run
to validate that everything is OK and the user will have the option
to fix it.
Signed-off-by: Sudhanshu Gautam <me@sudhanshug.com>
An interface tagged Basic and Advanced is introduced. Basic section
shows the default openwrt images with download links. Advanced
section show the options to choose which packages to use and an
option to build the images is introduced.
Reformatting of the code is also done according to standard code
styling.
Signed-off-by: Sudhanshu Gautam <me@sudhanshug.com>
Previously they were stored according to the format
'src/locales/{{lng}}/translation.json'
and after review, they are stored according to the following:
'src/locales/{{lng}}.json'
Also, the english strings are used as the keys/identifier in
translation files to make it easy to understand and implement.
Signed-off-by: Sudhanshu Gautam <me@sudhanshug.com>
Uses react-i18next library to provide APIs for translational
purposes.
Translation data is loaded from `src/locales/{{lng}}/translation.json`
and is accessed by dot notation.
The data can be translated in two ways:
1. In functional components, a method `t` can be instantiated using the
`useTranslation` method from rect-18next.
2. In class components, a method `t` can be accessed via props while
exporting the component with `withTranslation` method from react-i18next
library.
The syntax will look like `t('data.data')` or `this.props.t('data.data')`
Signed-off-by: Sudhanshu Gautam <me@sudhanshug.com>
PWA based on ReactJs. Showcases the basic functionalities required
for the Firmware Selector.
Proof of Concept for the wizard with selection for vendor, model
and variants.
Signed-off-by: Sudhanshu Gautam <me@sudhanshug.com>
Initial commit from Create React App