bodhi-ui
v1.0.4-regtest
Published
<h1 align="center"> Bodhi UI </h1> <p align="center"> ReactJS frontend that interacts with the Bodhi backend services </p>
Downloads
10
Readme
Get Started
Requirements
Install
$ git clone https://github.com/bodhiproject/bodhi-ui.git
$ cd bodhi-ui
$ yarn
$ yarn upgrade // this is important
$ npm install
Development Environment
To run the development server, run the corresponding run script and the API will point to the remote server with the correct port. After compilation, it will show success commands & automatically redirect to the browser. Any code changes will be observed and will hot reload.
// Mainnet chain
$ yarn start:mainnet
// Testnet chain
$ yarn start:testnet
// Regtest chain - very fast block mining, can also mine blocks with API call
$ yarn start:regtest
Production Build
To create an optimized production build of the app, you need to run a build command in you terminal at app root. Use the build command specific to the chain you want to point to. The build output files will be in /build
.
// Mainnet chain
$ yarn build:mainnet
// Testnet chain
$ yarn build:testnet
// Regtest chain - very fast block mining, can also mine blocks with API call
$ yarn build:regtest
Standards
Javascript Standard
Linting
$ npm run lint:fix // get sweet link checking and fixing
$ npm run lint // to see whats wrong
Localization
react-intl
is used for localization.
Using FormattedMessage
- Try to use FormattedMessage whenever possible.
id
should match the id in the JSON file with all the strings.- Put the default text inside
defaultMessage
. - Dynamic variables can be declared in the
values
property.
<FormattedMessage
id='app.greeting'
description='Greeting to welcome the user to the app'
defaultMessage='Hello, {name}!'
values={{
name: 'Eric'
}}
/>
Using formatMessage
- For use with inline strings like string templates.
- Define messages at the top of the file using
defineMessages
.
const messages = defineMessages({
greeting: {
id: 'app.greeting',
defaultMessage: 'Hello, {name}!',
},
});
const localizedMessage = this.props.intl.formatMessage(messages.greeting, { { name: 'Eric' }});
// localizedMessage = 'Hello, Eric!'
Run Language Script
- Run
npm run build:langs
- Update the newly translated strings in the corresponding language file. The language file is in
./src/languageProvider/locales
.