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
@ryanbelke
ryanbelke / Layout.js
Last active May 7, 2020 00:21
new layout component to use our logged in user and display name in header
/* /components/Layout.js */
import React, { useContext } from "react";
import Head from "next/head";
import Link from "next/link";
import { Container, Nav, NavItem } from "reactstrap";
import { logout } from "../lib/auth";
import AppContext from "../context/AppContext";
const Layout = (props) => {
@ryanbelke
ryanbelke / _app.js
Last active May 17, 2020 01:50
_app.js file to use our react context in step 4
/* _app.js */
import React from "react";
import App from "next/app";
import Head from "next/head";
import Cookie from "js-cookie";
import fetch from "isomorphic-fetch";
import Layout from "../components/Layout";
import AppContext from "../context/AppContext";
import withData from "../lib/apollo";
@ryanbelke
ryanbelke / AppContext.js
Last active May 7, 2020 00:04
create default AppContext state
/* /context/AppContext.js */
import React from "react";
// create auth context with default value
// set backup default for isAuthenticated if none is provided in Provider
const AppContext = React.createContext({ isAuthenticated: false });
export default AppContext;
@ryanbelke
ryanbelke / _app.js
Created May 5, 2020 00:01
_app.js to use withData
/* _app.js */
import React from "react";
import App from "next/app";
import Head from "next/head";
import Layout from "../components/Layout";
import withData from "../lib/apollo";
class MyApp extends App {
render() {
const { Component, pageProps } = this.props;
return (
@ryanbelke
ryanbelke / _app.js
Created May 4, 2020 00:09
_app.js to use Layout component
/* _app.js */
import React from "react";
import App from "next/app";
import Head from "next/head";
import Layout from "../components/Layout";
export default class MyApp extends App {
render() {
const { Component, pageProps } = this.props;
return (
<>
@ryanbelke
ryanbelke / Layout.js
Last active May 16, 2020 23:43
layout component for step 1
/* /components/Layout.js */
import React from "react";
import Head from "next/head";
import Link from "next/link";
import { Container, Nav, NavItem } from "reactstrap";
export default function Layout(props) {
const title = "Welcome to Nextjs";
/* components/Checkout/cardsection.js */
import React from "react";
import { CardElement } from "@stripe/react-stripe-js";
function CardSection(props) {
return (
<div>
<div>
/* /components/Checkout/CheckoutForm.js */
import React, { useState, useContext } from "react";
import { FormGroup, Label, Input } from "reactstrap";
import fetch from "isomorphic-fetch";
import Cookies from "js-cookie";
import { CardElement, useStripe, useElements } from "@stripe/react-stripe-js";
@ryanbelke
ryanbelke / checkout.js
Last active May 3, 2020 20:07
/pages/checkout.js
/* pages/checkout.js */
import React, { useContext } from "react";
import { Row, Col } from "reactstrap";
import { loadStripe } from "@stripe/stripe-js";
import { Elements } from "@stripe/react-stripe-js";
import InjectedCheckoutForm from "../components/Checkout/CheckoutForm";
import AppContext from "../context/appContext";