diff --git a/MainBottomTabs.js b/MainBottomTabs.js
index 88cef5c8a..4d369de15 100644
--- a/MainBottomTabs.js
+++ b/MainBottomTabs.js
@@ -2,6 +2,7 @@ import { createStackNavigator, createAppContainer } from 'react-navigation';
import Settings from './screen/settings/settings';
import About from './screen/settings/about';
+import Releasenotes from './screen/settings/releasenotes';
import Selftest from './screen/selftest';
import Language from './screen/settings/language';
import Currency from './screen/settings/currency';
@@ -86,6 +87,10 @@ const WalletsStackNavigator = createStackNavigator(
screen: About,
path: 'About',
},
+ Releasenotes: {
+ screen: Releasenotes,
+ path: 'Releasenotes',
+ },
Selftest: {
screen: Selftest,
},
diff --git a/package.json b/package.json
index db6fa109b..e489d5fe0 100644
--- a/package.json
+++ b/package.json
@@ -19,10 +19,11 @@
"scripts": {
"prepare": "./patches/fix_mangle.sh; git apply patches/minifier.js.patch; git apply patches/minify.js.patch; git apply patches/transaction_builder.js.patch; git apply ./patches/transaction.js.patch",
"clean": "cd android/; ./gradlew clean; cd ..; rm -r -f /tmp/metro-cache/; rm -r -f node_modules/; npm cache clean --force; npm i; npm start -- --reset-cache",
+ "releasenotes2json": "./release-notes.sh > release-notes.txt; node -e 'console.log(JSON.stringify(require(\"fs\").readFileSync(\"release-notes.txt\", \"utf8\")));' > release-notes.json",
"start": "node node_modules/react-native/local-cli/cli.js start",
"android": "react-native run-android",
"ios": "react-native run-ios",
- "postinstall": "./node_modules/.bin/rn-nodeify --install buffer,events,process,stream,util,inherits,fs,path --hack",
+ "postinstall": "./node_modules/.bin/rn-nodeify --install buffer,events,process,stream,util,inherits,fs,path --hack; npm run releasenotes2json",
"test": "npm run unit && npm run jest && npm run lint",
"jest": "node node_modules/jest/bin/jest.js",
"lint": "./node_modules/.bin/eslint *.js screen/**/*.js screen/ class/ models/ loc/ --fix",
diff --git a/screen/settings/about.js b/screen/settings/about.js
index 9c4fce27a..707f895d4 100644
--- a/screen/settings/about.js
+++ b/screen/settings/about.js
@@ -127,6 +127,14 @@ export default class About extends Component {
* bignumber.js
+ {
+ this.props.navigation.navigate('Releasenotes');
+ }}
+ title="Release notes"
+ />
+
+
{
this.props.navigation.navigate('Selftest');
@@ -135,8 +143,9 @@ export default class About extends Component {
/>
- {DeviceInfo.getApplicationName()} ver {DeviceInfo.getVersion()} (build number {DeviceInfo.getBuildNumber()})
+ {DeviceInfo.getApplicationName()} ver {DeviceInfo.getVersion()} (build {DeviceInfo.getBuildNumber()})
+ {new Date(DeviceInfo.getBuildNumber() * 1000).toGMTString()}
{DeviceInfo.getBundleId()}
w, h = {width}, {height}
diff --git a/screen/settings/releasenotes.js b/screen/settings/releasenotes.js
new file mode 100644
index 000000000..4b51d2722
--- /dev/null
+++ b/screen/settings/releasenotes.js
@@ -0,0 +1,51 @@
+import React, { Component } from 'react';
+import { ScrollView } from 'react-native';
+import { BlueLoading, SafeBlueArea, BlueCard, BlueText, BlueNavigationStyle } from '../../BlueComponents';
+import PropTypes from 'prop-types';
+/** @type {AppStorage} */
+const notes = require('../../release-notes');
+
+export default class Releasenotes extends Component {
+ static navigationOptions = () => ({
+ ...BlueNavigationStyle(),
+ title: 'Release notes',
+ });
+
+ constructor(props) {
+ super(props);
+ this.state = {
+ isLoading: true,
+ };
+ }
+
+ async componentDidMount() {
+ console.log(notes);
+ this.setState({
+ isLoading: false,
+ notes: notes,
+ });
+ }
+
+ render() {
+ if (this.state.isLoading) {
+ return ;
+ }
+
+ return (
+
+
+
+ {this.state.notes}
+
+
+
+ );
+ }
+}
+
+Releasenotes.propTypes = {
+ navigation: PropTypes.shape({
+ navigate: PropTypes.func,
+ goBack: PropTypes.func,
+ }),
+};