Skip to content

Instantly share code, notes, and snippets.

View streetsmartdev's full-sized avatar

streetsmartdev

View GitHub Profile
@streetsmartdev
streetsmartdev / Infinite scroll with react native
Created July 29, 2017 16:11
React native infinite scroll
Creating an infinite scroll with react native
@streetsmartdev
streetsmartdev / CB-SVRLESS-1-yml.yml
Created August 27, 2017 06:19
Chatbot-serverless - Setting up serverless.yml
functions:
fbverify:
handler: handler.fbVerify
events:
- http:
path: fbhook
method: GET
integration: lambda
fbmessages:
handler: handler.fbMessages
@streetsmartdev
streetsmartdev / CB-SVRLESS-2-VerificationCode.js
Created August 27, 2017 06:59
CB-SVRLESS-2 - Initial code to verify FB request
module.exports.fbVerify = (event, context, callback) => {
if (event.query['hub.mode'] === 'subscribe' &&
event.query['hub.verify_token'] === 'sometoken') {
console.log("Validating webhook");
return callback(null, parseInt(event.query['hub.challenge']));
} else {
console.error("Failed validation. Make sure the validation tokens match.");
return callback('Invalid token');
}
};
@streetsmartdev
streetsmartdev / CB-SVRLESS-3-ReplyMessages.js
Created August 27, 2017 07:58
CB-SVRLESS-3 - Replying to messages
module.exports.fbMessages = (event, context, callback) => {
event.body.entry.map((entry) => {
entry.messaging.map((messagingItem) => {
if (messagingItem.message && messagingItem.message.text) {
const url = `https://graph.facebook.com/v2.6/me/messages?access_token=<your access token here>`;
const responsePayload = {
recipient: {
id: messagingItem.sender.id
},
@streetsmartdev
streetsmartdev / RN-RNav-1-LoginScreen.js
Created September 2, 2017 16:53
RN-RNav-1 - Initial LoginScreen
import React from "react";
import {StyleSheet} from "react-native";
import {Button, Text, View} from "react-native";
class LoginScreen extends React.Component {
render() {
return (
<View style={styles.container}>
<Text style={styles.title}>React navigator - Login</Text>
<Button
@streetsmartdev
streetsmartdev / RN-RNav-2-HomeScreen.js
Created September 2, 2017 16:58
RN-RNav- 2 - HomeScreen implementation
import React from "react";
import {StyleSheet, Text, View} from "react-native";
class HomeScreen extends React.Component {
render() {
return (
<View style={styles.container}>
<Text style={styles.title}>React navigator - Home</Text>
</View>
);
@streetsmartdev
streetsmartdev / RN-RNav-3-RootNavigator.js
Created September 2, 2017 17:02
RN-RNav- 3 - RootNavigator combining internal and external screens
import React from "react";
import {StackNavigator} from "react-navigation";
import LoginScreen from "./internal/Login";
import HomeScreen from "./external/Home";
export default StackNavigator(
{
External: {screen: LoginScreen},
Internal: {screen: HomeScreen}
},
@streetsmartdev
streetsmartdev / RN-Rnav-4-App.js
Created September 2, 2017 17:03
RN-Rnav- 4 - Updating App.js to reflect our changes
import React from "react";
import RootNavigator from "./src/routes/RootNavigator";
export default class App extends React.Component {
render() {
return <RootNavigator />;
}
}
@streetsmartdev
streetsmartdev / RN-RNav-5-AboutScreen.js
Created September 2, 2017 17:29
RN-RNav- 5 - AboutScreen implementation
import React from "react";
import {StyleSheet, Text, View} from "react-native";
class AboutScreen extends React.Component {
render() {
return (
<View style={styles.container}>
<Text style={styles.title}>React navigator - About</Text>
</View>
);
@streetsmartdev
streetsmartdev / RN-Rnav-6-TabNavigator.js
Created September 2, 2017 17:31
RN-Rnav- 6 - index for iOS implementing TabNavigator
import React from "react";
import {TabNavigator} from "react-navigation";
import HomeScreen from "./Home";
import AboutScreen from "./About";
export default TabNavigator(
{
Home: {screen: HomeScreen},
About: {screen: AboutScreen}
},