From dae0522005df4577f2e179e03e52197de72c8a76 Mon Sep 17 00:00:00 2001 From: Jakub Piasecki Date: Thu, 9 Feb 2023 14:41:41 +0100 Subject: [PATCH 01/16] Init FabricSample app --- .npmignore | 1 + FabricSample/.eslintrc.js | 4 + FabricSample/.gitignore | 65 + FabricSample/.prettierrc.js | 7 + FabricSample/App.js | 101 + FabricSample/Finish.js | 48 + FabricSample/Gemfile | 6 + FabricSample/Router.js | 50 + FabricSample/Start.js | 74 + FabricSample/__tests__/App-test.tsx | 14 + FabricSample/_bundle/config | 2 + FabricSample/_node-version | 1 + FabricSample/_ruby-version | 1 + FabricSample/aaaaaaa.tsx | 118 + FabricSample/android/app/build.gradle | 170 + FabricSample/android/app/debug.keystore | Bin 0 -> 2257 bytes FabricSample/android/app/proguard-rules.pro | 10 + .../android/app/src/debug/AndroidManifest.xml | 13 + .../com/fabricsample/ReactNativeFlipper.java | 75 + .../android/app/src/main/AndroidManifest.xml | 25 + .../java/com/fabricsample/MainActivity.java | 35 + .../com/fabricsample/MainApplication.java | 62 + .../res/drawable/rn_edit_text_material.xml | 36 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3056 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 9 + .../com/fabricsample/ReactNativeFlipper.java | 20 + FabricSample/android/build.gradle | 21 + FabricSample/android/gradle.properties | 44 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59821 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + FabricSample/android/gradlew | 234 + FabricSample/android/gradlew.bat | 89 + FabricSample/android/settings.gradle | 4 + FabricSample/app.json | 4 + FabricSample/babel.config.js | 3 + FabricSample/backend-server-example.js | 141 + FabricSample/index.js | 9 + FabricSample/ios/.xcode.env | 1 + .../FabricSample.xcodeproj/project.pbxproj | 704 ++ .../xcschemes/FabricSample.xcscheme | 88 + .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + FabricSample/ios/FabricSample/AppDelegate.h | 6 + FabricSample/ios/FabricSample/AppDelegate.mm | 36 + .../AppIcon.appiconset/Contents.json | 53 + .../Images.xcassets/Contents.json | 6 + FabricSample/ios/FabricSample/Info.plist | 55 + .../ios/FabricSample/LaunchScreen.storyboard | 47 + FabricSample/ios/FabricSample/main.m | 10 + .../ios/FabricSampleTests/FabricSampleTests.m | 66 + FabricSample/ios/FabricSampleTests/Info.plist | 24 + FabricSample/ios/Podfile | 62 + FabricSample/ios/Podfile.lock | 985 +++ FabricSample/ios/_xcode.env | 11 + FabricSample/metro.config.js | 17 + FabricSample/package.json | 39 + FabricSample/tsconfig.json | 3 + FabricSample/yalc.lock | 9 + FabricSample/yarn.lock | 6982 +++++++++++++++++ SampleApp/android/build.gradle | 4 +- SampleApp/ios/Podfile.lock | 442 +- SampleApp/package.json | 2 +- SampleApp/yalc.lock | 2 +- SampleApp/yarn.lock | 20 +- package.json | 3 +- 75 files changed, 10963 insertions(+), 236 deletions(-) create mode 100644 FabricSample/.eslintrc.js create mode 100644 FabricSample/.gitignore create mode 100644 FabricSample/.prettierrc.js create mode 100644 FabricSample/App.js create mode 100644 FabricSample/Finish.js create mode 100644 FabricSample/Gemfile create mode 100644 FabricSample/Router.js create mode 100644 FabricSample/Start.js create mode 100644 FabricSample/__tests__/App-test.tsx create mode 100644 FabricSample/_bundle/config create mode 100644 FabricSample/_node-version create mode 100644 FabricSample/_ruby-version create mode 100644 FabricSample/aaaaaaa.tsx create mode 100644 FabricSample/android/app/build.gradle create mode 100644 FabricSample/android/app/debug.keystore create mode 100644 FabricSample/android/app/proguard-rules.pro create mode 100644 FabricSample/android/app/src/debug/AndroidManifest.xml create mode 100644 FabricSample/android/app/src/debug/java/com/fabricsample/ReactNativeFlipper.java create mode 100644 FabricSample/android/app/src/main/AndroidManifest.xml create mode 100644 FabricSample/android/app/src/main/java/com/fabricsample/MainActivity.java create mode 100644 FabricSample/android/app/src/main/java/com/fabricsample/MainApplication.java create mode 100644 FabricSample/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 FabricSample/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 FabricSample/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 FabricSample/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 FabricSample/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 FabricSample/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 FabricSample/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 FabricSample/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 FabricSample/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 FabricSample/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 FabricSample/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 FabricSample/android/app/src/main/res/values/strings.xml create mode 100644 FabricSample/android/app/src/main/res/values/styles.xml create mode 100644 FabricSample/android/app/src/release/java/com/fabricsample/ReactNativeFlipper.java create mode 100644 FabricSample/android/build.gradle create mode 100644 FabricSample/android/gradle.properties create mode 100644 FabricSample/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 FabricSample/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 FabricSample/android/gradlew create mode 100644 FabricSample/android/gradlew.bat create mode 100644 FabricSample/android/settings.gradle create mode 100644 FabricSample/app.json create mode 100644 FabricSample/babel.config.js create mode 100644 FabricSample/backend-server-example.js create mode 100644 FabricSample/index.js create mode 100644 FabricSample/ios/.xcode.env create mode 100644 FabricSample/ios/FabricSample.xcodeproj/project.pbxproj create mode 100644 FabricSample/ios/FabricSample.xcodeproj/xcshareddata/xcschemes/FabricSample.xcscheme create mode 100644 FabricSample/ios/FabricSample.xcworkspace/contents.xcworkspacedata create mode 100644 FabricSample/ios/FabricSample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 FabricSample/ios/FabricSample/AppDelegate.h create mode 100644 FabricSample/ios/FabricSample/AppDelegate.mm create mode 100644 FabricSample/ios/FabricSample/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 FabricSample/ios/FabricSample/Images.xcassets/Contents.json create mode 100644 FabricSample/ios/FabricSample/Info.plist create mode 100644 FabricSample/ios/FabricSample/LaunchScreen.storyboard create mode 100644 FabricSample/ios/FabricSample/main.m create mode 100644 FabricSample/ios/FabricSampleTests/FabricSampleTests.m create mode 100644 FabricSample/ios/FabricSampleTests/Info.plist create mode 100644 FabricSample/ios/Podfile create mode 100644 FabricSample/ios/Podfile.lock create mode 100644 FabricSample/ios/_xcode.env create mode 100644 FabricSample/metro.config.js create mode 100644 FabricSample/package.json create mode 100644 FabricSample/tsconfig.json create mode 100644 FabricSample/yalc.lock create mode 100644 FabricSample/yarn.lock diff --git a/.npmignore b/.npmignore index 65a3f8e..6392b65 100644 --- a/.npmignore +++ b/.npmignore @@ -1,5 +1,6 @@ TestApp SampleApp +FabricSample .gitlab testutils diff --git a/FabricSample/.eslintrc.js b/FabricSample/.eslintrc.js new file mode 100644 index 0000000..40c6dcd --- /dev/null +++ b/FabricSample/.eslintrc.js @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: '@react-native-community', +}; diff --git a/FabricSample/.gitignore b/FabricSample/.gitignore new file mode 100644 index 0000000..ef4d461 --- /dev/null +++ b/FabricSample/.gitignore @@ -0,0 +1,65 @@ +# OSX +# +.DS_Store + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +ios/.xcode.env.local + +# Android/IntelliJ +# +build/ +.idea +.gradle +local.properties +*.iml +*.hprof +.cxx/ +*.keystore +!debug.keystore + +# node.js +# +node_modules/ +npm-debug.log +yarn-error.log + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the +# screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/ + +**/fastlane/report.xml +**/fastlane/Preview.html +**/fastlane/screenshots +**/fastlane/test_output + +# Bundle artifact +*.jsbundle + +# Ruby / CocoaPods +/ios/Pods/ +/vendor/bundle/ + +# Temporary files created by Metro to check the health of the file watcher +.metro-health-check* + +.yalc \ No newline at end of file diff --git a/FabricSample/.prettierrc.js b/FabricSample/.prettierrc.js new file mode 100644 index 0000000..2b54074 --- /dev/null +++ b/FabricSample/.prettierrc.js @@ -0,0 +1,7 @@ +module.exports = { + arrowParens: 'avoid', + bracketSameLine: true, + bracketSpacing: false, + singleQuote: true, + trailingComma: 'all', +}; diff --git a/FabricSample/App.js b/FabricSample/App.js new file mode 100644 index 0000000..d935dcd --- /dev/null +++ b/FabricSample/App.js @@ -0,0 +1,101 @@ +import React, {Component} from 'react'; +import {Button, StyleSheet, Text, View, Platform} from 'react-native'; +import {Onfido, OnfidoCaptureType} from '@onfido/react-native-sdk'; +import {Redirect} from 'react-router-native'; +import createSdkToken from './backend-server-example'; + +export default class App extends Component { + state = { + title: 'Welcome to Onfido React Native SDK!', + subtitle: "To get started, press 'Launch'", + status: 'Starting', + message: '--', + sdkToken: null, + sdkFlowComplete: false, + workflowRunId: null, + }; + + componentDidMount() { + // In your app, you will need to gather the user's information beforehand for the sdk to work. Only first and last name are required. + const propsMatch = this.props.match ? this.props.match : {params: {}}; + const {firstName, lastName} = propsMatch.params; + // Your application id may be different on iOS and Android so you'll need to check which platform the code is running on first. + const applicationId = + Platform.OS === 'ios' + ? 'org.reactjs.native.example.FabricSample' + : 'com.fabricsample'; + const applicant = { + first_name: !firstName || firstName.trim() === '' ? 'Jane' : firstName, + last_name: !lastName || lastName.trim() === '' ? 'Doe' : lastName, + }; + this.getSDKToken(applicant, applicationId); + } + + getSDKToken = async (applicant, applicationId) => { + const newState = await createSdkToken(applicant, applicationId); + this.setState(newState); + }; + + startSDK = () => { + Onfido.start({ + sdkToken: this.state.sdkToken, + workflowRunId: this.state.workflowRunId, + localisation: { + ios_strings_file_name: 'Localizable', + }, + flowSteps: { + welcome: true, + captureDocument: {}, + captureFace: { + type: OnfidoCaptureType.VIDEO, + }, + }, + }) + .then(response => { + this.setState({ + status: 'resolved', + message: JSON.stringify(response), + sdkFlowComplete: true, + }); + }) + .catch(error => { + this.setState({ + status: 'rejected', + message: error.code + ': ' + error.message, + sdkFlowComplete: true, + }); + }); + }; + + render() { + return ( + + {this.state.title} + {this.state.subtitle} +