Skip to content

Instantly share code, notes, and snippets.

View ryanbelke's full-sized avatar
💭
coding

Ryan Beke ryanbelke

💭
coding
  • Austin, Tx
View GitHub Profile
submitOrder() {
const { context } = this.props;
const { data } = this.state;
console.log(context);
this.props.stripe.createToken().then(res => {
strapi
.createEntry("orders", {
amount: context.total,
dishes: context.items,
address: data.address,
class App extends React.Component {
constructor() {
super();
this.state = {stripe: null};
}
componentDidMount() {
// Create Stripe instance in componentDidMount
// (componentDidMount only fires in browser/DOM environment)
this.setState({stripe: window.Stripe('pk_test_12345')});
}
@ryanbelke
ryanbelke / order.js
Created October 13, 2018 18:37
strapi server order.js file
"use strict";
/**
* Order.js controller
*
* @description: A set of functions called "actions" for managing `Order`.
*/
const stripe = require("stripe")("sk_test_INSERT YOUR API KEY");
@ryanbelke
ryanbelke / restaurants.js
Created October 13, 2018 18:19
restaurants.js file updated for provider component
/* /pages/restaurants.js */
import gql from "graphql-tag";
import { withRouter } from "next/router";
import { graphql } from "react-apollo";
import { compose } from "recompose";
import { withContext } from "../components/Context/AppProvider";
import {
Button,
Card,
@ryanbelke
ryanbelke / _app.js
Created October 13, 2018 18:17
_app.js updated with React Context
/* /pages/_app.js */
import Layout from "../components/Layout";
import withData from "../lib/apollo";
import AppProvider from "../components/Context/AppProvider";
import defaultPage from "../hocs/defaultPage";
import { compose } from "recompose";
import App, { Container } from "next/app";
import React from "react";
@ryanbelke
ryanbelke / Layout.js
Last active October 20, 2018 22:38
Layout.js with auth component
/* /components/Layout.js */
import React from "react";
import Head from "next/head";
import Link from "next/link";
import { unsetToken } from "../lib/auth";
import { Container, Nav, NavItem } from "reactstrap";
import defaultPage from "../hocs/defaultPage";
import Cookie from "js-cookie";
@ryanbelke
ryanbelke / restaurants.js
Created October 13, 2018 03:45
restaurants.js file before Cart/Context and Authentication
/* /pages/restaurants.js */
import gql from "graphql-tag";
import { withRouter } from "next/router";
import { graphql } from "react-apollo";
import { compose } from "recompose";
import {
Button,
Card,
CardBody,
@ryanbelke
ryanbelke / _app.js
Last active October 20, 2018 22:02
new _app.js with Apollo
/* /pages/_app.js */
import Layout from "../components/Layout";
import withData from "../lib/apollo";
import App, { Container } from "next/app";
import React from "react";
class MyApp extends App {
static async getInitialProps({ Component, router, ctx }) {
/* /pages/index.js */
import RestaurantList from "../components/RestaurantList";
import React from "react";
import {
Alert,
Button,
Col,
Input,
/* components/Checkout/cardsection.js */
import React from "react";
import { CardElement, CardNumberElement } from "react-stripe-elements";
import { injectStripe } from "react-stripe-elements";
class CardSection extends React.Component {
render() {
return (