diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..b6147d433 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,8 @@ +{ + "singleQuote": true, + "tabWidth": 4, + "semi": true, + "trailingComma": "none", + "bracketSpacing": true, + "jsxBracketSameLine": false +} \ No newline at end of file diff --git a/App.tsx b/App.tsx index dc962437a..35d671ac6 100644 --- a/App.tsx +++ b/App.tsx @@ -30,4 +30,4 @@ const styles = StyleSheet.create({ container: { flex: 1 } -}); \ No newline at end of file +}); diff --git a/Navigation.ts b/Navigation.ts index 5e23433df..b2fbe53ff 100644 --- a/Navigation.ts +++ b/Navigation.ts @@ -30,10 +30,10 @@ const AppScenes = { Wallet: { screen: Wallet }, - AddressQRCodeScanner : { + AddressQRCodeScanner: { screen: AddressQRScanner }, - NodeQRCodeScanner : { + NodeQRCodeScanner: { screen: NodeQRScanner }, Settings: { @@ -81,12 +81,12 @@ const AppScenes = { NodeInfo: { screen: NodeInfo } -} +}; const PopUpTransition = (index: number, position: any) => { const opacity = position.interpolate({ inputRange: [index - 1, index, index + 0.999, index + 1], - outputRange: [ 0, 1, 1, 0] + outputRange: [0, 1, 1, 0] }); const translateY = position.interpolate({ @@ -95,33 +95,32 @@ const PopUpTransition = (index: number, position: any) => { }); return { - opacity, - transform: [ - {translateY} - ] - } + opacity, + transform: [{ translateY }] + }; }; -const SlideFromRightTransition = (index: number, position: any, layout: any) => { +const SlideFromRightTransition = ( + index: number, + position: any, + layout: any +) => { const opacity = position.interpolate({ inputRange: [index - 1, index, index + 0.999, index + 1], - outputRange: [ 0, 1, 1, 0] + outputRange: [0, 1, 1, 0] }); - const width = layout.initWidth + const width = layout.initWidth; const translateX = position.interpolate({ inputRange: [index - 1, index, index + 1], outputRange: [width, 0, 0] - }) - + }); return { - opacity, - transform: [ - {translateX} - ] - } + opacity, + transform: [{ translateX }] + }; }; const TransitionConfiguration = () => { @@ -132,13 +131,18 @@ const TransitionConfiguration = () => { const { index } = scene; const routeName = scene.route.routeName; - if (routeName === 'Transaction' || routeName === 'Channel' || routeName === 'Invoice' || routeName === 'Payment') { + if ( + routeName === 'Transaction' || + routeName === 'Channel' || + routeName === 'Invoice' || + routeName === 'Payment' + ) { return SlideFromRightTransition(index, position, layout); } return PopUpTransition(index, position); } - } + }; }; const AppNavigator = createStackNavigator(AppScenes, { diff --git a/PGP.txt b/PGP.txt new file mode 100644 index 000000000..3f5a1b850 --- /dev/null +++ b/PGP.txt @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFuPOsoBEADX3fi2qY/AH68tiOLMXvLkK1hdhgDlcv8Od6gYllpnJCNMYkXC +9s3uRyWxL93a89qRpoKLkFpTJpnMiY5Zxcn4jwlxuNFiGoBJ+I+l3LJrtvIvMntF +e6ETpCXCKOQtseoVSOhEl5jUSYOa5MiiaftZTFT9Cg7+Euu7XlwVOdDG26UMmyYt +JpviRQYVSaHNZYDopRloJE0TNlFTdjw7DzHgn9ZN4S+DbrrDqIBYNtNzdavMUiEB +dFO7uLzXzcyFHbvq3SeKRps8p0uwwjWuGu+GvEPO4JEjDSEi+rKf8JJ5bdgvpEAI +sroBjBeGUXgWvNrS9SP9A9Gx4fWqP0GNeO07Q/TLdI8ZQvg+s0czZeLM95dLUOBW +ZbKtqZji5sjxo1z6gABZvcfQaPpqWMNri7g+avKjvjMCQNjevz7Ke8tRHJtTwh8K +awKsaFOGMbto5RZ4+Ncef0aocSUBDdUpCjoSj9P5gq74dY/ZbW68ZZunsG0ZWRHY +YPBUW3QsKPkCTqq6B8fj7MSvDC+2LPsTB3BU4ApqL64yWNCXZMKhgBSE/1NCkTmd +EVLQbotdtBq4pUW9X4aez7E7zjvW6zqZJgSiDhnybLKt5y+0q+rHe6kF/BEWUA/e +OKua1vg6VZ9NRbNvUugklkhgbihevR2zftu0tC1hT2Fzr99WOwmU613p5wARAQAB +tCBFdmFuIEthbG91ZGlzIDxldmFuQG55eG1haWwuY29tPokCVAQTAQgAPhYhBM4n +/CslH3fTG7FUgjsrdvHnuVLMBQJbjzrKAhsDBQkDw7iABQsJCAcCBhUKCQgLAgQW +AgMBAh4BAheAAAoJEDsrdvHnuVLM8wQP/2CwNpis6d3rWWZ2n0jiWbsYDaa0/ryK +eGo5dz2eoUQ8pPtlukUZIq39mIFwOblCOrzxbqDrcmYk6lLr8MkYa9B4HJAG68zH +0LPqPXxAbx7ta/zjdcwda9BZTh3imbReSnP9vHTg+8VdVfDyYiTtrWmGuYRMqVpK +0ITQxffR7SPBgSAGs3hhsn705d3H7zL588s5A8AMWrCVWWdN5psjTdi/2JizoFXT +vrO0Jv84dlA171hBeEJK/1RvOOM86rv+FAhh+F/8QKnADKsP0HmFVrFxZsIyjgeI +FgCA+U8YgbjW5MPdiwsrXjP9t71Hm1bG9ziu/3vzpoJsiZlT9yJmmcYdfGnJUgK6 +75cuegNJC39dLot7kJHsYM2LVclXyLe9v6nw1tsWUqmcI5YzHGqDY8xhao7Vv0kl +YVhGRXe9/yGkCwb5rGXJT9wfu+o/FYv8CsFRu0TbAEfqBNmhFfTS/3Oy01B5f9Ti +tpbfPAU6LqGgLwJEwyiCEYWWAwMev1tzpyG/ku0YwRR4v+ok8Ec3D0KYMY2dbrcU +PvkPUJSl4ELn5pYn0JY7Jf04IP+sBfsmnmA79vbCi0evnwnx/raG8+rHCeU+0Zf0 +nREUhpd5jwaykrSWxmrz/jTY90FfI3yQuIvQiu6qZS3iskcy9fEdoON/HuZcUlsH +7XIvm8DQaglmuQINBFuPOsoBEACRvSOiSiAzWcFGOIrrZW0aoyq7t77cMkKslAUG +n8W9ehGpL/zH27ZAAydWpN94n4Q2SsH2mY5CCT1tWcCxQFtXgbjbUW1LjYmDHFUL +nq3hWK6MkRumJAaI3ePbLcxtnqz/f7+Lwzx+J5vf1hJFMtR6h/7aQGQp87I8ARA5 +b1qcJ01B/jmzMJ6bO0gEaHYesmwk3bDzSt5fvIKthnBKokNbMNBD9qmuzxzGLfP2 +WiSJkAfMgH3yb5gkroMIqDB3G8OELVqU9wKsb+9i8M1cZuI+jY1lIN8gEr1cYI7U +fVPWtb5LXWPUStnjo7ynw3zlH2w8Oxbg/OgGgXFVopv5BMwVeT20s2QF00JB29o/ +d3mdxaD7xLYRl2alX8pCPYcT4W/LCAX0b/5ujey1iCm5M8+Bspl4/n9VlQZHQLR4 +faIadsqg5Y9OgTCH3HaHs9u2ipcEG9UpQUndZkwTKqUYnQ5JLt8uTwE3MK+ZGOoq +mNSHUvFmsyhL7IZZLNhO8gchnwIlro5oVmt5cGmQJPv7zlN+dT9c4X/f2PHfHsem +ZozR6usqWEEWUul3QIuWnirkSkGyGk9g8zr+hGOwKGme49pmQUC8ICovd45eI9yg +pRl2ioQynD7J7uLZ8O9Wc0cejybqj9rdnRB4UcfNcFpvLTEEZ8evlIYWgjWdOMVK +3kImZQARAQABiQI8BBgBCAAmFiEEzif8KyUfd9MbsVSCOyt28ee5UswFAluPOsoC +GwwFCQPDuIAACgkQOyt28ee5UszRkQ/+IDtvcpB90Pqh4tzgXwyduMsY0GUCwW1i +w6bSJuyM/7ba/JoVsCynCP2Hyi6MYhh9/FFXq/lkZBtLukZL568H+FbVIXMAEqpU +wBreJDF7Lpes/lNHlZzHq1hXFn2RwGN1P1mONkmfI9eNs9hhzqtFKK851R5xBjVE +VazN9+5EaYzcbB1MVKXWDwhcQhas1Y8gmYyHDFYokBS01K33tLAAbwxyOnRzxHB5 +tiEN0youiwnT2ZCMbiz1O3KjkIjiUuCp4ZvZYAjOy/EWqjyKCWpYwbxPLKuhf3m4 +1b73rSRxstWbxcUbEGt/Nmx4UWNdxmu+dmsdBUNijPYwphJrvL5Ycd1EJnMvEe7m +zj0DIrJ8iaYkTjdZlnrpru8kuqgyypUSTcDFtnnX0pvSrQhTapZPCavTYKrLo7Lz +KpS1OtbxnrSDAy/r0nZspWRR65AHPCftTzvY37BOAK1bCUluUTwVPT01jQUu/8Mg +QTDXxAjV1ArFkVrfR6IMqBn4jPVziCeTtSyTrTJxpayB9aM2yG5N/PC0udtq6IOR +zUMjWNCPBQmQ4y96oZEHWmtoTg5+/XiwqsmzjSJlegdmWLDTuWV/UiTaBaElC8Rp +dJNdiejz9z9v8hVTibi4PmMqs27QQestzT+OQf2DFHOPRzzhbi4GoIcQsICpKLi2 +CK1BqhhFNg0= +=L+5q +-----END PGP PUBLIC KEY BLOCK----- diff --git a/README.md b/README.md index 468d7b308..87cdfc47b 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Zeus is built on TypeScript and React-Native. It runs on both iOS and Android. * Keep up with us on [Twitter](https://twitter.com/ZeusLN) * Open a channel with -[our node](https://1ml.com/node/03b053229a315d4071520d7466f50b91be0edad375122c15932ba3334539a72a6c) +[our node](https://1ml.com/node/03e1210c8d4b236a53191bb172701d76ec06dfa869a1afffcfd8f4e07d9129d898) ## Connecting to your node diff --git a/android/app/build.gradle b/android/app/build.gradle index 6375391a4..11614cbf5 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -101,8 +101,8 @@ android { applicationId "com.zeusln.zeus" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 10 - versionName "0.1.0" + versionCode 11 + versionName "0.1.1" } signingConfigs { release { @@ -150,6 +150,7 @@ dependencies { implementation project(':rncamerakit') implementation project(':react-native-gesture-handler') implementation project(':react-native-vector-icons') + implementation project(':react-native-activity-result-fork') 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/java/com/zeus/MainApplication.java b/android/app/src/main/java/com/zeus/MainApplication.java index 79b933fb7..b5a78d383 100644 --- a/android/app/src/main/java/com/zeus/MainApplication.java +++ b/android/app/src/main/java/com/zeus/MainApplication.java @@ -14,6 +14,7 @@ import com.facebook.react.shell.MainReactPackage; import com.facebook.soloader.SoLoader; import com.zeusln.zeus.extensions.CustomClientFactory; +import com.microsoft.ActivityResultPackage; import java.util.Arrays; import java.util.List; @@ -34,7 +35,8 @@ protected List getPackages() { new KeychainPackage(), new RNCameraKitPackage(), new RNGestureHandlerPackage(), - new VectorIconsPackage() + new VectorIconsPackage(), + new ActivityResultPackage() ); } diff --git a/android/build.gradle b/android/build.gradle index 7b68d3c2f..61c11e662 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -37,3 +37,15 @@ wrapper { gradleVersion = '4.7' distributionUrl = distributionUrl.replace("bin", "all") } + +subprojects { + afterEvaluate { + project -> + if (project.hasProperty("android")) { + android { + compileSdkVersion = 28 + buildToolsVersion = "28.0.3" + } + } + } +} diff --git a/android/settings.gradle b/android/settings.gradle index 67765dbd2..5a4d7f558 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -9,5 +9,7 @@ include ':react-native-gesture-handler' project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-gesture-handler/android') include ':react-native-vector-icons' project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android') +include ':react-native-activity-result-fork' +project(':react-native-activity-result-fork').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-activity-result-fork/android') include ':app' diff --git a/components/BalanceSlider.tsx b/components/BalanceSlider.tsx index 827273f9e..b2868e24f 100644 --- a/components/BalanceSlider.tsx +++ b/components/BalanceSlider.tsx @@ -9,11 +9,15 @@ interface BalanceSliderProps { theme?: string; } -export default class BalanceSlider extends React.Component { +export default class BalanceSlider extends React.Component< + BalanceSliderProps, + {} +> { render() { const { localBalance, remoteBalance, list, theme } = this.props; - const totalBalance = Number(localBalance || 0) + Number(remoteBalance || 0); + const totalBalance = + Number(localBalance || 0) + Number(remoteBalance || 0); const ratio = Number(localBalance) / Number(totalBalance) || 0; @@ -21,8 +25,10 @@ export default class BalanceSlider extends React.Component @@ -50,4 +56,4 @@ const styles = StyleSheet.create({ width: 0, height: 0 } -}); \ No newline at end of file +}); diff --git a/components/CollapsedQR.tsx b/components/CollapsedQR.tsx index 0d797adba..b7048d3d6 100644 --- a/components/CollapsedQR.tsx +++ b/components/CollapsedQR.tsx @@ -14,16 +14,19 @@ interface CollapsedQRState { collapsed: boolean; } -export default class CollapsedQR extends React.Component { +export default class CollapsedQR extends React.Component< + CollapsedQRProps, + CollapsedQRState +> { state = { collapsed: true - } + }; toggleCollapse = () => { this.setState({ collapsed: !this.state.collapsed }); - } + }; render() { const { collapsed } = this.state; @@ -31,25 +34,27 @@ export default class CollapsedQR extends React.Component - {value} - {!collapsed && - - } + + {value} + + {!collapsed && ( + + + + )}