diff --git a/App.tsx b/App.tsx
deleted file mode 100644
index e267e687f..000000000
--- a/App.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import React, { Component } from "react";
-import { Platform, StyleSheet, Text, View } from "react-native";
-
-
-export default () => {
- return (
-
- Welcome to React Native!
-
- );
-};
-
-const styles = StyleSheet.create({
- container: {
- flex: 1,
- justifyContent: "center",
- alignItems: "center",
- backgroundColor: "#F5FCFF",
- },
- welcome: {
- fontSize: 20,
- textAlign: "center",
- margin: 10,
- },
-});
diff --git a/android/app/build.gradle b/android/app/build.gradle
index acf97d2c9..fea611dfb 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -107,6 +107,7 @@ android {
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
+ missingDimensionStrategy 'react-native-camera', 'general'
}
splits {
abi {
@@ -138,6 +139,8 @@ android {
}
dependencies {
+ implementation project(':react-native-svg')
+ implementation project(':react-native-camera')
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
implementation "com.facebook.react:react-native:+" // From node_modules
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 34d727762..b5814efff 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -2,6 +2,7 @@
package="com.blixtwallet">
+
getPackages() {
return Arrays.asList(
- new MainReactPackage()
+ new MainReactPackage(),
+ new SvgPackage(),
+ new RNCameraPackage()
);
}
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index 88ff8c55c..d4253e7fb 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -1,3 +1,3 @@
- BlixtWallet
+ Blixt Wallet
diff --git a/android/build.gradle b/android/build.gradle
index c6e7c7c0a..5eaf03d80 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -29,5 +29,9 @@ allprojects {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
+ maven {
+ url "https://jitpack.io"
+ }
+
}
}
diff --git a/android/settings.gradle b/android/settings.gradle
index 92bcdb62c..df772d9c8 100644
--- a/android/settings.gradle
+++ b/android/settings.gradle
@@ -1,3 +1,7 @@
rootProject.name = 'BlixtWallet'
+include ':react-native-svg'
+project(':react-native-svg').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-svg/android')
+include ':react-native-camera'
+project(':react-native-camera').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-camera/android')
include ':app'
diff --git a/app.json b/app.json
index 407e95aee..655136e75 100644
--- a/app.json
+++ b/app.json
@@ -1,4 +1,4 @@
{
"name": "BlixtWallet",
- "displayName": "BlixtWallet"
-}
\ No newline at end of file
+ "displayName": "Blixt Wallet"
+}
diff --git a/index.js b/index.js
index a850d031d..69303b34d 100644
--- a/index.js
+++ b/index.js
@@ -3,7 +3,7 @@
*/
import {AppRegistry} from 'react-native';
-import App from './App';
+import App from './src/App';
import {name as appName} from './app.json';
AppRegistry.registerComponent(appName, () => App);
diff --git a/ios/BlixtWallet.xcodeproj/project.pbxproj b/ios/BlixtWallet.xcodeproj/project.pbxproj
index 879d8d86b..b5fd62ed4 100644
--- a/ios/BlixtWallet.xcodeproj/project.pbxproj
+++ b/ios/BlixtWallet.xcodeproj/project.pbxproj
@@ -5,7 +5,6 @@
};
objectVersion = 46;
objects = {
-
/* Begin PBXBuildFile section */
00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; };
00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; };
@@ -40,6 +39,27 @@
ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; };
ED297163215061F000B7C4FE /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED297162215061F000B7C4FE /* JavaScriptCore.framework */; };
ED2971652150620600B7C4FE /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED2971642150620600B7C4FE /* JavaScriptCore.framework */; };
+ 6BCFA3D862AC484FB93A0A11 /* AntDesign.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A5E60D8E77444249BBC37932 /* AntDesign.ttf */; };
+ 258617F423D040F78B149C6C /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D6985BBC714F403AA21758B7 /* Entypo.ttf */; };
+ 19C047FF95D849CC834E0502 /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = E20F78A2E29D472EB08466AF /* EvilIcons.ttf */; };
+ D6FBAB41115C4913BB38E981 /* Feather.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 63AE28216C6944AF92BDFE36 /* Feather.ttf */; };
+ 5CA9306702E940E5957F7E6E /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 232E4EB922F543ED9CB805DE /* FontAwesome.ttf */; };
+ C4969CA50EC3447898A9AB5F /* FontAwesome5_Brands.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EEF847D1F0C94996AF898BBC /* FontAwesome5_Brands.ttf */; };
+ 4236BB92F2FB43C9A57A66F3 /* FontAwesome5_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9B1BA625E3DB4564BA3F9E93 /* FontAwesome5_Regular.ttf */; };
+ 11D889F9F67747F7BBC9BA11 /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B435794CFED540CF9475F07F /* FontAwesome5_Solid.ttf */; };
+ AB7DBBBCE6EE498BAAFDCA96 /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 869C972DF8BE4225A4199E6E /* Foundation.ttf */; };
+ 30BD2728420647F0ABDDE9C4 /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = DE616D07978F4298991C4DA2 /* Ionicons.ttf */; };
+ 1E99BBEE07B048B5B82DF6C1 /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 8DF5A4301B2A4369AC501E85 /* MaterialCommunityIcons.ttf */; };
+ ED2157E9C29A4B579267CE07 /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 4D08AAD3EA1748709ABD19B7 /* MaterialIcons.ttf */; };
+ 3776D6A1F09C48E092B31397 /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6B5FA0FC9A15448DA445E1FD /* Octicons.ttf */; };
+ FCDA1538CAB7481A9887678E /* Roboto_medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0AB1924C83894EDA8D0A7215 /* Roboto_medium.ttf */; };
+ 8FC3B5362B00448A88BCFA7E /* Roboto.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 86A2FC7C997E428380612AEE /* Roboto.ttf */; };
+ 6B0400163BAD4BD0A1F6E3E5 /* rubicon-icon-font.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 414647DAE69640738264157E /* rubicon-icon-font.ttf */; };
+ CFA73C097DD64D1C808166CF /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 785430B83E9F4496819A1EE4 /* SimpleLineIcons.ttf */; };
+ 24A1104E5BAF49E3BB99A1EC /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A10DDCB137C14DAFB2EABC1C /* Zocial.ttf */; };
+ A14A22CD7962466EA3C0E1F2 /* libRNCamera.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B699ED7474AE4259AC6F7551 /* libRNCamera.a */; };
+ 8F5C59F485294DE78C4682AD /* libRNSVG.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 84AF629C7AF94F1D9891B9F4 /* libRNSVG.a */; };
+ 9B8DB826E9AA4AD098650CF1 /* libRNSVG-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 864C077F658945F2B9423169 /* libRNSVG-tvOS.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -347,6 +367,29 @@
ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
+ A5E60D8E77444249BBC37932 /* AntDesign.ttf */ = {isa = PBXFileReference; name = "AntDesign.ttf"; path = "../node_modules/native-base/Fonts/AntDesign.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ D6985BBC714F403AA21758B7 /* Entypo.ttf */ = {isa = PBXFileReference; name = "Entypo.ttf"; path = "../node_modules/native-base/Fonts/Entypo.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ E20F78A2E29D472EB08466AF /* EvilIcons.ttf */ = {isa = PBXFileReference; name = "EvilIcons.ttf"; path = "../node_modules/native-base/Fonts/EvilIcons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 63AE28216C6944AF92BDFE36 /* Feather.ttf */ = {isa = PBXFileReference; name = "Feather.ttf"; path = "../node_modules/native-base/Fonts/Feather.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 232E4EB922F543ED9CB805DE /* FontAwesome.ttf */ = {isa = PBXFileReference; name = "FontAwesome.ttf"; path = "../node_modules/native-base/Fonts/FontAwesome.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ EEF847D1F0C94996AF898BBC /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Brands.ttf"; path = "../node_modules/native-base/Fonts/FontAwesome5_Brands.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 9B1BA625E3DB4564BA3F9E93 /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Regular.ttf"; path = "../node_modules/native-base/Fonts/FontAwesome5_Regular.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ B435794CFED540CF9475F07F /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Solid.ttf"; path = "../node_modules/native-base/Fonts/FontAwesome5_Solid.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 869C972DF8BE4225A4199E6E /* Foundation.ttf */ = {isa = PBXFileReference; name = "Foundation.ttf"; path = "../node_modules/native-base/Fonts/Foundation.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ DE616D07978F4298991C4DA2 /* Ionicons.ttf */ = {isa = PBXFileReference; name = "Ionicons.ttf"; path = "../node_modules/native-base/Fonts/Ionicons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 8DF5A4301B2A4369AC501E85 /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; name = "MaterialCommunityIcons.ttf"; path = "../node_modules/native-base/Fonts/MaterialCommunityIcons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 4D08AAD3EA1748709ABD19B7 /* MaterialIcons.ttf */ = {isa = PBXFileReference; name = "MaterialIcons.ttf"; path = "../node_modules/native-base/Fonts/MaterialIcons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 6B5FA0FC9A15448DA445E1FD /* Octicons.ttf */ = {isa = PBXFileReference; name = "Octicons.ttf"; path = "../node_modules/native-base/Fonts/Octicons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 0AB1924C83894EDA8D0A7215 /* Roboto_medium.ttf */ = {isa = PBXFileReference; name = "Roboto_medium.ttf"; path = "../node_modules/native-base/Fonts/Roboto_medium.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 86A2FC7C997E428380612AEE /* Roboto.ttf */ = {isa = PBXFileReference; name = "Roboto.ttf"; path = "../node_modules/native-base/Fonts/Roboto.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 414647DAE69640738264157E /* rubicon-icon-font.ttf */ = {isa = PBXFileReference; name = "rubicon-icon-font.ttf"; path = "../node_modules/native-base/Fonts/rubicon-icon-font.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 785430B83E9F4496819A1EE4 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; name = "SimpleLineIcons.ttf"; path = "../node_modules/native-base/Fonts/SimpleLineIcons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ A10DDCB137C14DAFB2EABC1C /* Zocial.ttf */ = {isa = PBXFileReference; name = "Zocial.ttf"; path = "../node_modules/native-base/Fonts/Zocial.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
+ 4CBA905A704442CAA4E83FDD /* RNCamera.xcodeproj */ = {isa = PBXFileReference; name = "RNCamera.xcodeproj"; path = "../node_modules/react-native-camera/ios/RNCamera.xcodeproj"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
+ B699ED7474AE4259AC6F7551 /* libRNCamera.a */ = {isa = PBXFileReference; name = "libRNCamera.a"; path = "libRNCamera.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
+ FFE88D4B0499492DAFB408C7 /* RNSVG.xcodeproj */ = {isa = PBXFileReference; name = "RNSVG.xcodeproj"; path = "../node_modules/react-native-svg/ios/RNSVG.xcodeproj"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
+ 84AF629C7AF94F1D9891B9F4 /* libRNSVG.a */ = {isa = PBXFileReference; name = "libRNSVG.a"; path = "libRNSVG.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
+ 864C077F658945F2B9423169 /* libRNSVG-tvOS.a */ = {isa = PBXFileReference; name = "libRNSVG-tvOS.a"; path = "libRNSVG-tvOS.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -375,6 +418,8 @@
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */,
00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */,
139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */,
+ A14A22CD7962466EA3C0E1F2 /* libRNCamera.a in Frameworks */,
+ 8F5C59F485294DE78C4682AD /* libRNSVG.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -391,6 +436,7 @@
2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */,
2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */,
2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */,
+ 9B8DB826E9AA4AD098650CF1 /* libRNSVG-tvOS.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -564,6 +610,8 @@
832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */,
00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */,
139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */,
+ 4CBA905A704442CAA4E83FDD /* RNCamera.xcodeproj */,
+ FFE88D4B0499492DAFB408C7 /* RNSVG.xcodeproj */,
);
name = Libraries;
sourceTree = "";
@@ -585,6 +633,7 @@
00E356EF1AD99517003FC87E /* BlixtWalletTests */,
83CBBA001A601CBA00E9B192 /* Products */,
2D16E6871FA4F8E400B85C8A /* Frameworks */,
+ D89093DB4E004A04B6E3BB20 /* Resources */,
);
indentWidth = 2;
sourceTree = "";
@@ -611,6 +660,32 @@
name = Products;
sourceTree = "";
};
+ D89093DB4E004A04B6E3BB20 /* Resources */ = {
+ isa = "PBXGroup";
+ children = (
+ A5E60D8E77444249BBC37932 /* AntDesign.ttf */,
+ D6985BBC714F403AA21758B7 /* Entypo.ttf */,
+ E20F78A2E29D472EB08466AF /* EvilIcons.ttf */,
+ 63AE28216C6944AF92BDFE36 /* Feather.ttf */,
+ 232E4EB922F543ED9CB805DE /* FontAwesome.ttf */,
+ EEF847D1F0C94996AF898BBC /* FontAwesome5_Brands.ttf */,
+ 9B1BA625E3DB4564BA3F9E93 /* FontAwesome5_Regular.ttf */,
+ B435794CFED540CF9475F07F /* FontAwesome5_Solid.ttf */,
+ 869C972DF8BE4225A4199E6E /* Foundation.ttf */,
+ DE616D07978F4298991C4DA2 /* Ionicons.ttf */,
+ 8DF5A4301B2A4369AC501E85 /* MaterialCommunityIcons.ttf */,
+ 4D08AAD3EA1748709ABD19B7 /* MaterialIcons.ttf */,
+ 6B5FA0FC9A15448DA445E1FD /* Octicons.ttf */,
+ 0AB1924C83894EDA8D0A7215 /* Roboto_medium.ttf */,
+ 86A2FC7C997E428380612AEE /* Roboto.ttf */,
+ 414647DAE69640738264157E /* rubicon-icon-font.ttf */,
+ 785430B83E9F4496819A1EE4 /* SimpleLineIcons.ttf */,
+ A10DDCB137C14DAFB2EABC1C /* Zocial.ttf */,
+ );
+ name = Resources;
+ sourceTree = "";
+ path = "";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -692,7 +767,7 @@
83CBB9F71A601CBA00E9B192 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0940;
+ LastUpgradeCheck = 940;
ORGANIZATIONNAME = Facebook;
TargetAttributes = {
00E356ED1AD99517003FC87E = {
@@ -1057,6 +1132,24 @@
files = (
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
+ 6BCFA3D862AC484FB93A0A11 /* AntDesign.ttf in Resources */,
+ 258617F423D040F78B149C6C /* Entypo.ttf in Resources */,
+ 19C047FF95D849CC834E0502 /* EvilIcons.ttf in Resources */,
+ D6FBAB41115C4913BB38E981 /* Feather.ttf in Resources */,
+ 5CA9306702E940E5957F7E6E /* FontAwesome.ttf in Resources */,
+ C4969CA50EC3447898A9AB5F /* FontAwesome5_Brands.ttf in Resources */,
+ 4236BB92F2FB43C9A57A66F3 /* FontAwesome5_Regular.ttf in Resources */,
+ 11D889F9F67747F7BBC9BA11 /* FontAwesome5_Solid.ttf in Resources */,
+ AB7DBBBCE6EE498BAAFDCA96 /* Foundation.ttf in Resources */,
+ 30BD2728420647F0ABDDE9C4 /* Ionicons.ttf in Resources */,
+ 1E99BBEE07B048B5B82DF6C1 /* MaterialCommunityIcons.ttf in Resources */,
+ ED2157E9C29A4B579267CE07 /* MaterialIcons.ttf in Resources */,
+ 3776D6A1F09C48E092B31397 /* Octicons.ttf in Resources */,
+ FCDA1538CAB7481A9887678E /* Roboto_medium.ttf in Resources */,
+ 8FC3B5362B00448A88BCFA7E /* Roboto.ttf in Resources */,
+ 6B0400163BAD4BD0A1F6E3E5 /* rubicon-icon-font.ttf in Resources */,
+ CFA73C097DD64D1C808166CF /* SimpleLineIcons.ttf in Resources */,
+ 24A1104E5BAF49E3BB99A1EC /* Zocial.ttf in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1189,6 +1282,17 @@
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/BlixtWallet.app/BlixtWallet";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../node_modules/react-native-camera/ios/**",
+ "$(SRCROOT)/../node_modules/react-native-svg/ios/**",
+ );
};
name = Debug;
};
@@ -1207,6 +1311,17 @@
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/BlixtWallet.app/BlixtWallet";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../node_modules/react-native-camera/ios/**",
+ "$(SRCROOT)/../node_modules/react-native-svg/ios/**",
+ );
};
name = Release;
};
@@ -1226,6 +1341,11 @@
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = BlixtWallet;
VERSIONING_SYSTEM = "apple-generic";
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../node_modules/react-native-camera/ios/**",
+ "$(SRCROOT)/../node_modules/react-native-svg/ios/**",
+ );
};
name = Debug;
};
@@ -1244,6 +1364,11 @@
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = BlixtWallet;
VERSIONING_SYSTEM = "apple-generic";
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../node_modules/react-native-camera/ios/**",
+ "$(SRCROOT)/../node_modules/react-native-svg/ios/**",
+ );
};
name = Release;
};
@@ -1270,6 +1395,17 @@
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 9.2;
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../node_modules/react-native-camera/ios/**",
+ "$(SRCROOT)/../node_modules/react-native-svg/ios/**",
+ );
};
name = Debug;
};
@@ -1296,6 +1432,17 @@
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 9.2;
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../node_modules/react-native-camera/ios/**",
+ "$(SRCROOT)/../node_modules/react-native-svg/ios/**",
+ );
};
name = Release;
};
@@ -1321,6 +1468,17 @@
SDKROOT = appletvos;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/BlixtWallet-tvOS.app/BlixtWallet-tvOS";
TVOS_DEPLOYMENT_TARGET = 10.1;
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../node_modules/react-native-camera/ios/**",
+ "$(SRCROOT)/../node_modules/react-native-svg/ios/**",
+ );
};
name = Debug;
};
@@ -1346,6 +1504,17 @@
SDKROOT = appletvos;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/BlixtWallet-tvOS.app/BlixtWallet-tvOS";
TVOS_DEPLOYMENT_TARGET = 10.1;
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ "\"$(SRCROOT)/$(TARGET_NAME)\"",
+ );
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../node_modules/react-native-camera/ios/**",
+ "$(SRCROOT)/../node_modules/react-native-svg/ios/**",
+ );
};
name = Release;
};
diff --git a/ios/BlixtWallet/Info.plist b/ios/BlixtWallet/Info.plist
index 89e6ea0e4..0041b685b 100644
--- a/ios/BlixtWallet/Info.plist
+++ b/ios/BlixtWallet/Info.plist
@@ -5,7 +5,7 @@
CFBundleDevelopmentRegion
en
CFBundleDisplayName
- BlixtWallet
+ Blixt Wallet
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
@@ -25,7 +25,7 @@
LSRequiresIPhoneOS
NSLocationWhenInUseUsageDescription
-
+
UILaunchStoryboardName
LaunchScreen
UIRequiredDeviceCapabilities
@@ -40,13 +40,10 @@
UIViewControllerBasedStatusBarAppearance
- NSLocationWhenInUseUsageDescription
-
NSAppTransportSecurity
-
- NSAllowsArbitraryLoads
-
+ NSAllowsArbitraryLoads
+
NSExceptionDomains
localhost
@@ -56,5 +53,26 @@
+ UIAppFonts
+
+ AntDesign.ttf
+ Entypo.ttf
+ EvilIcons.ttf
+ Feather.ttf
+ FontAwesome.ttf
+ FontAwesome5_Brands.ttf
+ FontAwesome5_Regular.ttf
+ FontAwesome5_Solid.ttf
+ Foundation.ttf
+ Ionicons.ttf
+ MaterialCommunityIcons.ttf
+ MaterialIcons.ttf
+ Octicons.ttf
+ Roboto_medium.ttf
+ Roboto.ttf
+ rubicon-icon-font.ttf
+ SimpleLineIcons.ttf
+ Zocial.ttf
+
diff --git a/package-lock.json b/package-lock.json
index e9688b37b..8380d3f7d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2607,8 +2607,7 @@
"@types/node": {
"version": "10.12.18",
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz",
- "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==",
- "dev": true
+ "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ=="
},
"@types/prop-types": {
"version": "15.7.0",
@@ -2616,6 +2615,14 @@
"integrity": "sha512-eItQyV43bj4rR3JPV0Skpl1SncRCdziTEK9/v8VwXmV6d/qOUO8/EuWeHBbCZcsfSHfzI5UyMJLCSXtxxznyZg==",
"dev": true
},
+ "@types/qrcode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/qrcode/-/qrcode-1.3.2.tgz",
+ "integrity": "sha512-QOxN/lb82j/cLQKUMQVZ3cSOUsUGZqflliEyKwn6tMo+oggjW0NwMDIsPofXcxypHHiz3r0y9Ppoj8TjelQacQ==",
+ "requires": {
+ "@types/node": "*"
+ }
+ },
"@types/react": {
"version": "16.8.13",
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.13.tgz",
@@ -3582,6 +3589,14 @@
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
"integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
},
+ "can-promise": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/can-promise/-/can-promise-0.0.1.tgz",
+ "integrity": "sha512-gzVrHyyrvgt0YpDm7pn04MQt8gjh0ZAhN4ZDyCRtGl6YnuuK6b4aiUTD7G52r9l4YNmxfTtEscb92vxtAlL6XQ==",
+ "requires": {
+ "window-or-global": "^1.0.1"
+ }
+ },
"capture-exit": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz",
@@ -4108,6 +4123,11 @@
"integrity": "sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw==",
"dev": true
},
+ "dijkstrajs": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.1.tgz",
+ "integrity": "sha1-082BIh4+pAdCz83lVtTpnpjdxxs="
+ },
"doctrine": {
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz",
@@ -8425,7 +8445,6 @@
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
"integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
- "dev": true,
"requires": {
"p-defer": "^1.0.0"
}
@@ -9340,8 +9359,7 @@
"p-defer": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
- "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
- "dev": true
+ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww="
},
"p-each-series": {
"version": "1.0.0",
@@ -9360,8 +9378,7 @@
"p-is-promise": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
- "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
- "dev": true
+ "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg=="
},
"p-limit": {
"version": "1.3.0",
@@ -9582,6 +9599,11 @@
"integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
"dev": true
},
+ "pngjs": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz",
+ "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w=="
+ },
"posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -9713,6 +9735,157 @@
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
},
+ "qrcode": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.3.3.tgz",
+ "integrity": "sha512-SH7V13AcJusH3GT8bMNOGz4w0L+LjcpNOU/NiOgtBhT/5DoWeZE6D5ntMJnJ84AMkoaM4kjJJoHoh9g++8lWFg==",
+ "requires": {
+ "can-promise": "0.0.1",
+ "dijkstrajs": "^1.0.1",
+ "isarray": "^2.0.1",
+ "pngjs": "^3.3.0",
+ "yargs": "^12.0.5"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
+ },
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
+ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "requires": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0",
+ "wrap-ansi": "^2.0.0"
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "invert-kv": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
+ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA=="
+ },
+ "isarray": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.4.tgz",
+ "integrity": "sha512-GMxXOiUirWg1xTKRipM0Ek07rX+ubx4nNVElTJdNLYmNO/2YrDkgJGw9CljXn+r4EWiDQg/8lsRdHyg2PJuUaA=="
+ },
+ "lcid": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
+ "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+ "requires": {
+ "invert-kv": "^2.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "mem": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
+ "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
+ "requires": {
+ "map-age-cleaner": "^0.1.1",
+ "mimic-fn": "^2.0.0",
+ "p-is-promise": "^2.0.0"
+ }
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
+ },
+ "os-locale": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
+ "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
+ "requires": {
+ "execa": "^1.0.0",
+ "lcid": "^2.0.0",
+ "mem": "^4.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
+ "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ },
+ "yargs": {
+ "version": "12.0.5",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
+ "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
+ "requires": {
+ "cliui": "^4.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^3.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1 || ^4.0.0",
+ "yargs-parser": "^11.1.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
+ "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+ },
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
@@ -9863,6 +10036,14 @@
"yargs": "^9.0.0"
}
},
+ "react-native-camera": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/react-native-camera/-/react-native-camera-2.3.0.tgz",
+ "integrity": "sha512-K0CTQ+LGeeJ5UDpjAzF1FFZX8fhAEHwtv2IXuQABJuUsXO0+Pc5Ikq5HvD6onsQNMYor96vU5Di7GltZOiPjMA==",
+ "requires": {
+ "prop-types": "^15.6.2"
+ }
+ },
"react-native-drawer": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/react-native-drawer/-/react-native-drawer-2.5.1.tgz",
@@ -9894,6 +10075,19 @@
"react-native-iphone-x-helper": "^1.0.3"
}
},
+ "react-native-svg": {
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-9.4.0.tgz",
+ "integrity": "sha512-IVJlVbS2dAPerPr927fEi4uXzrPXzlra5ddgyJXZZ2IKA2ZygyYWFZDM+vsQs+Vj20CfL8nOWszQQV57vdQgFg=="
+ },
+ "react-native-svg-uri": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-native-svg-uri/-/react-native-svg-uri-1.2.3.tgz",
+ "integrity": "sha1-L2fzBWQGig/uaKdRhFMypRhaGqs=",
+ "requires": {
+ "xmldom": "^0.1.22"
+ }
+ },
"react-native-vector-icons": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-6.1.0.tgz",
@@ -11771,6 +11965,11 @@
"resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
},
+ "window-or-global": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/window-or-global/-/window-or-global-1.0.1.tgz",
+ "integrity": "sha1-2+RboqKRqrxW1iz2bEW3+jIpRt4="
+ },
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
diff --git a/package.json b/package.json
index 411195112..75dfb65fa 100644
--- a/package.json
+++ b/package.json
@@ -7,9 +7,15 @@
"test": "jest"
},
"dependencies": {
+ "@types/qrcode": "^1.3.2",
"native-base": "^2.12.1",
+ "qrcode": "^1.3.3",
"react": "16.8.3",
- "react-native": "0.59.4"
+ "react-native": "0.59.4",
+ "react-native-camera": "^2.3.0",
+ "react-native-easy-grid": "^0.2.1",
+ "react-native-svg": "^9.4.0",
+ "react-native-svg-uri": "^1.2.3"
},
"devDependencies": {
"@babel/core": "7.4.3",
diff --git a/src/App.tsx b/src/App.tsx
new file mode 100644
index 000000000..7f2ef419a
--- /dev/null
+++ b/src/App.tsx
@@ -0,0 +1,74 @@
+import React, { Component, useState, useRef } from "react";
+import { Alert, Platform, Modal, StyleSheet, View, TouchableHighlight, Image } from "react-native";
+import { Badge, Button, Container, Content, Footer, FooterTab, Icon, Item, Label, Text } from "native-base";
+
+import * as QRCode from "qrcode";
+import SvgUri from "react-native-svg-uri";
+
+import FooterNav from "./components/FooterNav";
+import Overview from "./windows/Overview";
+import Send from "./windows/Send";
+import Receive from "./windows/Receive";
+
+
+const svga = QRCode.toString("lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq8rkx3yf5tcsyz3d73gafnh3cax9rn449d9p5uxz9ezhhypd0elx87sjle52x86fux2ypatgddc6k63n7erqz25le42c4u4ecky03ylcqca784w".toUpperCase());
+//console.log(svga._55.length);
+const svgb = QRCode.toString("lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq8rkx3yf5tcsyz3d73gafnh3cax9rn449d9p5uxz9ezhhypd0elx87sjle52x86fux2ypatgddc6k63n7erqz25le42c4u4ecky03ylcqca784w");
+//console.log(svgb._55.length);
+
+export default () => {
+ const [sendModalVisible, setSendModalVisible] = useState(false);
+ const [receiveModalVisible, setReceiveModalVisible] = useState(false);
+
+ return (
+
+ {
+ setSendModalVisible(false);
+ }}>
+ setSendModalVisible(false)} doneCallback={() => {}} />
+
+
+ {
+ setReceiveModalVisible(false);
+ }}>
+ setReceiveModalVisible(false)} />
+
+
+
+
+
+
+ setSendModalVisible(true)}
+ onReceiveButtonClicked={() => setReceiveModalVisible(true)}
+ />
+
+ );
+};
+
+const styles = StyleSheet.create({
+
+ container: {
+ flex: 1,
+ justifyContent: "center",
+ alignItems: "center",
+ backgroundColor: "#FFF",
+ // backgroundColor: "#F5FCFF",
+ },
+ welcome: {
+ fontSize: 20,
+ textAlign: "center",
+ margin: 10,
+ },
+ button: {
+ textAlign: "center",
+ },
+});
diff --git a/src/components/FooterNav.tsx b/src/components/FooterNav.tsx
new file mode 100644
index 000000000..0cd7fa004
--- /dev/null
+++ b/src/components/FooterNav.tsx
@@ -0,0 +1,36 @@
+import React from "react";
+import { Button, Footer, FooterTab, Icon, Text } from "native-base";
+
+export default ({ onSendButtonClicked, onReceiveButtonClicked }) => {
+ return (
+
+ );
+};
diff --git a/src/windows/Overview.tsx b/src/windows/Overview.tsx
new file mode 100644
index 000000000..18adbb4e5
--- /dev/null
+++ b/src/windows/Overview.tsx
@@ -0,0 +1,249 @@
+import React, { Component, useState, useRef } from "react";
+import { Alert, Platform, Modal, StyleSheet, View, TouchableHighlight, Image, ScrollView } from "react-native";
+import { Badge, Body, Button, Card, CardItem, Container, Content, Icon, Item, Text, H1, H3, Right } from "native-base";
+import { Col, Row, Grid } from "react-native-easy-grid";
+
+export default () => {
+ return (
+
+
+
+
+ Alert.alert("Bitcoin")} />
+ Alert.alert("Settings")} />
+
+ 1.234 567 89 ₿
+ 200 SEK
+
+
+
+
+
+
+ Alert.alert("Transaction")}>
+
+
+ 2019-01-01 10:00
+
+
+ -0.01 ₿
+
+
+
+ To:{"\n "}Bob
+
+
+
+
+
+ Alert.alert("Transaction")}>
+
+
+ 2019-01-01 10:00
+
+
+ +0.01 ₿
+
+
+
+ From:{"\n "}Alice
+
+
+
+
+
+ Alert.alert("Transaction")}>
+
+
+ 2019-01-01 10:00
+
+
+ +0.01 ₿
+
+
+ onchain
+
+
+
+ From:{"\n "}1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX
+
+
+
+
+
+ Alert.alert("Transaction")}>
+
+
+ 2019-01-01 10:00
+
+
+ -0.01 ₿
+
+
+
+ To:{"\n "}Bob
+
+
+
+
+
+ Alert.alert("Transaction")}>
+
+
+ 2019-01-01 10:00
+
+
+ +0.01 ₿
+
+
+
+ From:{"\n "}Alice
+
+
+
+
+
+ Alert.alert("Transaction")}>
+
+
+ 2019-01-01 10:00
+
+
+ +0.01 ₿
+
+
+ onchain
+
+
+
+ From:{"\n "}1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX
+
+
+
+
+
+ Alert.alert("Transaction")}>
+
+
+ 2019-01-01 10:00
+
+
+ -0.01 ₿
+
+
+
+ To:{"\n "}Bob
+
+
+
+
+
+ Alert.alert("Transaction")}>
+
+
+ 2019-01-01 10:00
+
+
+ +0.01 ₿
+
+
+
+ From:{"\n "}Alice
+
+
+
+
+
+ Alert.alert("Transaction")}>
+
+
+ 2019-01-01 10:00
+
+
+ +0.01 ₿
+
+
+ onchain
+
+
+
+ From:{"\n "}1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX
+
+
+
+
+
+
+
+
+ );
+};
+
+
+const style = StyleSheet.create({
+ grid: {
+ flex: 1,
+ width: "100%",
+ height: "100%",
+ backgroundColor: "#EFEFEF",
+ },
+ top: {
+ flex: 1,
+ alignItems: "center",
+ justifyContent: "center",
+ width: "100%",
+ height: 200,
+ backgroundColor: "#FCFCFC",
+ },
+ onchainIcon: {
+ position: "absolute",
+ top: 9,
+ left : 9,
+ fontSize: 24,
+ color: "#d3a100",
+ },
+ settingsIcon: {
+ position: "absolute",
+ top: 9,
+ right: 9,
+ fontSize: 24,
+ color: "#2b3751"
+ },
+ transactionList: {
+ flex: 1,
+ justifyContent: "flex-start",
+ padding: 8,
+ },
+});
+
+const header = StyleSheet.create({
+ btc: {
+ fontSize: 36,
+ marginTop: 16,
+ marginBottom: 7,
+ },
+ fiat: {
+ color: "#666"
+ }
+});
+
+const transaction = StyleSheet.create({
+ transactionTop: {
+ marginBottom: 8,
+ },
+ transactionTopDate: {
+ fontWeight: "bold",
+ paddingRight: 4,
+ },
+ transactionTopValuePositive: {
+ color: "green",
+ paddingRight: 8,
+ },
+ transactionTopValueNegative: {
+ color: "red",
+ paddingRight: 8,
+ },
+ transactionOnChain: {
+ marginTop: 1,
+ },
+});
diff --git a/src/windows/Receive.tsx b/src/windows/Receive.tsx
new file mode 100644
index 000000000..43d8af8da
--- /dev/null
+++ b/src/windows/Receive.tsx
@@ -0,0 +1,123 @@
+import React, { useState, useRef } from "react";
+import { View, Touchable, TouchableHighlight, Share, Clipboard, Alert } from "react-native";
+import { Button, Body, Container, Icon, Header, Text, Title, Left, Content, Form, Item, Label, Input, H1, H3, Toast, Root } from "native-base";
+
+import * as QRCode from "qrcode";
+import SvgUri from "react-native-svg-uri";
+
+const lnInvoice = "lnbc1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdpl2pkx2ctnv5sxxmmwwd5kgetjypeh2ursdae8g6twvus8g6rfwvs8qun0dfjkxaq8rkx3yf5tcsyz3d73gafnh3cax9rn449d9p5uxz9ezhhypd0elx87sjle52x86fux2ypatgddc6k63n7erqz25le42c4u4ecky03ylcqca784w"
+
+const qr = QRCode.toString(lnInvoice);
+
+interface IReceiveProps {
+ onGoBackCallback: ( transactionInfo: any) => void;
+}
+
+type State = "FORM" | "QR";
+
+export default ({ onGoBackCallback }: IReceiveProps) => {
+ const [state, setState] = useState("FORM");
+ const [btcValue, setBtcValue] = useState(undefined);
+ const [dollarValue, setDollarValue] = useState(undefined);
+
+ return (
+
+
+
+
+
+
+
+ Receive
+
+
+ {state === "FORM" &&
+
+
+
+ }
+ {state === "QR" &&
+
+ Scan this QR code
+ Expires: 1h
+ {
+ console.log("TEST share");
+ const result = await Share.share({
+ // message: lnInvoice,
+ url: "lightning:" + lnInvoice,
+ });
+ }}>
+
+
+ {
+ Clipboard.setString(lnInvoice);
+ Toast.show({
+ text: "Copied to clipboard.",
+ type: "warning",
+ });
+ }}
+ style={{ paddingLeft: 18, paddingRight: 18, paddingBottom: 20 }}
+ numberOfLines={1}
+ lineBreakMode="middle"
+ note={true}>
+ {lnInvoice}
+
+ 100 sat
+
+ }
+
+
+ );
+};
diff --git a/src/windows/Send.tsx b/src/windows/Send.tsx
new file mode 100644
index 000000000..4eb90bd61
--- /dev/null
+++ b/src/windows/Send.tsx
@@ -0,0 +1,73 @@
+import React, { useState, useRef, useEffect } from "react";
+import { View } from "react-native";
+import { Badge, Button, Container, Content, Footer, FooterTab, Icon, Item, Label, Text, Header, Left, Title, Body } from "native-base";
+import { RNCamera, Barcode } from "react-native-camera";
+
+interface ISendProps {
+ onGoBackCallback: ( transactionInfo: any) => void;
+ doneCallback: ( transactionInfo: any) => void;
+ bolt11Invoice: string;
+}
+
+type State = "CAMERA" | "CONFIRMATION";
+
+export default (props: ISendProps) => {
+ const { onGoBackCallback, doneCallback } = props;
+ const [ state, setState ] = useState("CAMERA");
+ const [ bolt11Invoice, setBolt11Invoice ] = useState(undefined);
+
+ useEffect(() => {
+ console.log("useEffect inside Send.tsx");
+ if (props.bolt11Invoice) {
+ setBolt11Invoice(props.bolt11Invoice);
+ setState("CONFIRMATION");
+ }
+ }, [bolt11Invoice, state]);
+
+ if (state === "CAMERA") {
+ return (
+
+ {
+ setBolt11Invoice(barcodes[0].data);
+ setState("CONFIRMATION");
+ }}
+ onBarCodeRead={({ data }) => {
+ setBolt11Invoice(data);
+ setState("CONFIRMATION");
+ }}
+ captureAudio={false}
+ />
+
+ );
+ }
+ else if (state === "CONFIRMATION") {
+ return (
+
+
+
+
+
+
+ Confirm Pay Invoice
+
+
+
+ fdsfds
+ {bolt11Invoice}
+ {JSON.stringify(bolt11Invoice)}
+
+ );
+ }
+ else {
+ return (
+ Unknown state
+ );
+ }
+};
diff --git a/tslint.json b/tslint.json
index 2eb2e5084..0c533c192 100644
--- a/tslint.json
+++ b/tslint.json
@@ -1,17 +1,24 @@
{
- "defaultSeverity": "error",
- "extends": [
- "tslint:recommended",
- "tslint-react",
- "tslint-react-native"
- ],
- "jsRules": {
- },
- "rules": {
- "no-var-requires" : true,
- "no-empty-interface": false,
- "object-literal-sort-keys": false,
- "no-consecutive-blank-lines": false
- },
- "rulesDirectory": []
+ "defaultSeverity": "error",
+ "extends": [
+ "tslint:recommended",
+ "tslint-react",
+ "tslint-react-native"
+ ],
+ "jsRules": {
+ },
+ "rules": {
+ "jsx-no-lambda": false,
+ "no-var-requires" : true,
+ "no-empty-interface": false,
+ "object-literal-sort-keys": false,
+ "no-consecutive-blank-lines": false,
+ "ordered-imports": false,
+ "jsx-no-multiline-js": false,
+ "jsx-alignment": false,
+ "no-console": false,
+ "one-line": false,
+ "no-empty": false
+ },
+ "rulesDirectory": []
}