asda-product-search-miniapp
Version:
83 lines (75 loc) • 2.44 kB
JavaScript
/**
* Sample React Native App
* https://github.com/facebook/react-native
* @flow
*/
import React, { Component } from 'react';
import {
Platform,
StyleSheet,
Text,
View
} from 'react-native';
import 'asda-product-search-api-js-impl';
//import { ProductApi } from 'asda-product-search-api';
import { electrodeBridge } from 'react-native-electrode-bridge';
const pkg = require('./package.json');
// ProductApi.requests().registerSearchRequestHandler(
// (requestData) => {
// console.log("registerSearchRequestHandler invoked - " + pkg.name + "-" + pkg.version + " - Keyword = \"" + requestData.keyword + "\"");
// var SEARCH_URL = "https://groceries.asda.com/api/items/search/?keyword=" + requestData.keyword;
// return axios.post(SEARCH_URL)
// .then(function (response) {
// console.log("registerSearchRequestHandler (" + pkg.name + "-" + pkg.version + ") - Search successful for the keyword " + requestData.keyword);
// console.log(response.data);
// return Promise.resolve(response.data);
// })
// .catch(function (error) {
// console.log("registerSearchRequestHandler (" + pkg.name + "-" + pkg.version + ") - Search failed for the keyword " + requestData.keyword);
// console.log({"Error": error});
// return Promise.resolve(error);
// });
// }
// )
// console.log('registered')
const instructions = Platform.select({
ios: 'Press Cmd+R to reload,\n' +
'Cmd+D or shake for dev menu',
android: 'Double tap R on your keyboard to reload,\n' +
'Shake or press menu button for dev menu',
});
export default class App extends Component<{}> {
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Welcome to React Native!
</Text>
<Text style={styles.instructions}>
To get started, edit App.js
</Text>
<Text style={styles.instructions}>
{instructions}
</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});