Skip to content

Commit

Permalink
Add ReactNative folder
Browse files Browse the repository at this point in the history
  • Loading branch information
Nets-in-app committed Aug 26, 2022
1 parent f17c5a2 commit aaa3e0f
Show file tree
Hide file tree
Showing 209 changed files with 20,592 additions and 0 deletions.
6 changes: 6 additions & 0 deletions ReactNative/MiaSample/.buckconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

[android]
target = Google Inc.:Google APIs:23

[maven_repositories]
central = https://repo1.maven.org/maven2
4 changes: 4 additions & 0 deletions ReactNative/MiaSample/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module.exports = {
root: true,
extends: '@react-native-community',
};
74 changes: 74 additions & 0 deletions ReactNative/MiaSample/.flowconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
[ignore]
; We fork some components by platform
.*/*[.]android.js

; Ignore "BUCK" generated dirs
<PROJECT_ROOT>/\.buckd/

; Ignore polyfills
node_modules/react-native/Libraries/polyfills/.*

; These should not be required directly
; require from fbjs/lib instead: require('fbjs/lib/warning')
node_modules/warning/.*

; Flow doesn't support platforms
.*/Libraries/Utilities/LoadingView.js

[untyped]
.*/node_modules/@react-native-community/cli/.*/.*

[include]

[libs]
node_modules/react-native/interface.js
node_modules/react-native/flow/

[options]
emoji=true

esproposal.optional_chaining=enable
esproposal.nullish_coalescing=enable

module.file_ext=.js
module.file_ext=.json
module.file_ext=.ios.js

munge_underscores=true

module.name_mapper='^react-native/\(.*\)$' -> '<PROJECT_ROOT>/node_modules/react-native/\1'
module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/Image/RelativeImageStub'

suppress_type=$FlowIssue
suppress_type=$FlowFixMe
suppress_type=$FlowFixMeProps
suppress_type=$FlowFixMeState

suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)?:? #[0-9]+
suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError

[lints]
sketchy-null-number=warn
sketchy-null-mixed=warn
sketchy-number=warn
untyped-type-import=warn
nonstrict-import=warn
deprecated-type=warn
unsafe-getters-setters=warn
inexact-spread=warn
unnecessary-invariant=warn
signature-verification-failure=warn
deprecated-utility=error

[strict]
deprecated-type
nonstrict-import
sketchy-null
unclear-type
unsafe-getters-setters
untyped-import
untyped-type-import

[version]
^0.113.0
1 change: 1 addition & 0 deletions ReactNative/MiaSample/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.pbxproj -text
60 changes: 60 additions & 0 deletions ReactNative/MiaSample/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# 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

# Android/IntelliJ
#
build/
.idea
.gradle
local.properties
*.iml

# node.js
#
node_modules/
npm-debug.log
yarn-error.log

# BUCK
buck-out/
\.buckd/
*.keystore
!debug.keystore

# 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

# Bundle artifact
*.jsbundle

# CocoaPods
/ios/Pods/
../.DS_Store
6 changes: 6 additions & 0 deletions ReactNative/MiaSample/.prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
bracketSpacing: false,
jsxBracketSameLine: true,
singleQuote: true,
trailingComma: 'all',
};
1 change: 1 addition & 0 deletions ReactNative/MiaSample/.watchmanconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
130 changes: 130 additions & 0 deletions ReactNative/MiaSample/App.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
/**
* Sample React Native App
* https://github.com/facebook/react-native
*
* @format
* @flow
*/


import React, {Component} from 'react';
import { Keyboard } from 'react-native';
import {TouchableWithoutFeedback, Image, StyleSheet, Text, TextInput, View, Button, TouchableOpacity, Alert} from 'react-native';
import EasyAPI from './EasyAPI';

import RNMia from 'react-native-rn-mia';

export default class App extends Component<Props> {

constructor(props) {
super(props);
this.state = {price: "10.00"};
this.api = new EasyAPI()
}

presentMiaCheckout(paymentID, paymentURL) {

RNMia.checkoutWithPaymentID(paymentID, paymentURL, this.api.redirectURL, this.api.cancelURL,
(error) => {
alertTitle = error ? "Error" : "Payment Successful"
Alert.alert(alertTitle, error["Error"], [{text:"Ok"}])
},
(cancellation) => {
Alert.alert("Cancelled", "You have cancelled the payment", [{text:"Ok"}])
});

}

checkoutWithMia(paymentRequestBody) {
Keyboard.dismiss()

this.api.createPaymentWithRequestBody(paymentRequestBody, (json) => {
if (json.paymentId && json.hostedPaymentPageUrl) {
this.presentMiaCheckout(json.paymentId, json.hostedPaymentPageUrl)
} else {
Alert.alert("Registration Error", JSON.stringify(json), [{text:"OK"}])
}
})

}

render() {
return (
<TouchableWithoutFeedback onPress={ () => { Keyboard.dismiss() } }>

<View style={styles.container}>
<Image
style={styles.backgroundImage}
source={require('./images/background.jpg')}
/>
<Image
style={styles.shopcardImage}
source={require('./images/shopcard.png')}
/>
<Text
style={{paddingTop: 20, color: 'purple'}}>
Enter Price
</Text>
<TextInput
style={{margin:20}}
value={this.state.price}
keyboardType={'numeric'}
onChangeText={(price) => this.setState({price})}
/>
<View style={{flex: 1, flexDirection: 'row'}}>
<TouchableOpacity style={styles.button}
onPress={
this.checkoutWithMia.bind(
this,
this.api.makePaymentRequest(this.state.price)
)
}>
<Text style={{color: 'white', fontSize:20}}>Buy</Text>
</TouchableOpacity>
<TouchableOpacity style={styles.button}
onPress={
this.checkoutWithMia.bind(
this,
this.api.makeSubscriptionRequest(this.state.price)
)
}>
<Text style={{color: '#ffd700', fontSize:20}}>Subscribe</Text>
</TouchableOpacity>
</View>
</View>

</TouchableWithoutFeedback>

);
}


}

const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
backgroundColor: 'white'
},
backgroundImage: {
width: '100%',
height: undefined,
aspectRatio: 1.5,
},
shopcardImage: {
width: '80%',
height: undefined,
aspectRatio: 2,
},
button: {
backgroundColor:"black",
justifyContent:'center',
alignItems:'center',
height:30,
marginLeft: 10,
width:"30%",
borderRadius:6,
},
});

Loading

0 comments on commit aaa3e0f

Please sign in to comment.