added drift, modal

This commit is contained in:
YOUR NAME 2018-06-24 16:44:08 +10:00
parent 4554699f99
commit 56e36e9636
21 changed files with 7771 additions and 147 deletions

5
package-lock.json generated
View file

@ -8342,6 +8342,11 @@
"prop-types": "^15.6.0"
}
},
"react-driftjs": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/react-driftjs/-/react-driftjs-1.0.8.tgz",
"integrity": "sha512-vweesHcyDcGObxExoYHMATBMbYXGogEFZufrqfdcfIJkLIcZLyfKdFRBNknehyJACEJRQpFr9L6a3W5uy3iM8Q=="
},
"react-error-overlay": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-4.0.0.tgz",

View file

@ -6,7 +6,9 @@
"bootstrap": "^4.1.1",
"react": "^16.4.1",
"react-dom": "^16.4.1",
"react-driftjs": "^1.0.8",
"react-mailchimp-subscribe": "^2.0.2",
"react-router-dom": "^4.3.1",
"react-scripts": "1.1.4",
"reactstrap": "^6.1.0",
"typeface-roboto": "^0.0.54"

View file

@ -1,6 +1,6 @@
.App {
text-align: center;
background-color: #FCFCFC;
}

View file

@ -1,21 +1,23 @@
import React, { Component } from "react";
import "./App.css";
// import HeadNavbar from "./components/Navbar";
import Drift from "./components/Drift";
import AboveTheFold from "./layouts/AboveTheFold";
import DriftChat from "./components/Drift";
import Homepage from "./pages/Homepage";
import WhatIs from "./layouts/WhatIs"
import Footer from "./components/Footer";
// Make this DRY ~ DO NOT REPEAT YOURSELF
class App extends Component {
render() {
return (
<div className="App">
<AboveTheFold />
<Homepage />
{/* Above the fold but below navbar */}
{/* FIX BACKground image to only render before scroll on mobile/web */}
{/* BELOW THE FOLD */}
<WhatIs/>
<Drift />
{/* <WhatIs/> */}
<Footer />
<DriftChat />
</div>
);
}

View file

@ -1,43 +1,16 @@
import React from "react";
import Drift from 'react-driftjs'
export default class Drift extends React.Component {
export default class DriftChat extends React.Component {
render() {
return (
<div className="Drift">
{/* Add Drift here
"use strict"; */}
{/* !function() {
var t = window.driftt = window.drift = window.driftt || [];
if (!t.init) {
if (t.invoked) return void (window.console && console.error && console.error("Drift snippet included twice."));
t.invoked = !0, t.methods = [ "identify", "config", "track", "reset", "debug", "show", "ping", "page", "hide", "off", "on" ],
t.factory = function(e) {
return function() {
var n = Array.prototype.slice.call(arguments);
return n.unshift(e), t.push(n), t;
};
}, t.methods.forEach(function(e) {
t[e] = t.factory(e);
}), t.load = function(t) {
var e = 3e5, n = Math.ceil(new Date() / e) * e, o = document.createElement("script");
o.type = "text/javascript", o.async = !0, o.crossorigin = "anonymous", o.src = "https://js.driftt.com/include/" + n + "/" + t + ".js";
var i = document.getElementsByTagName("script")[0];
i.parentNode.insertBefore(o, i);
};
}
}();
drift.SNIPPET_VERSION = '0.3.1';
drift.load('g4nnbv58ni3w'); */}
<Drift appId="g4nnbv58ni3w"/>
{/* //get the appId from drift.com */}
</div>
);
}
}
// <!-- Start of Async Drift Code -->
<script>
</script>
// <!-- End of Async Drift Code -->

36
src/components/Footer.js Normal file
View file

@ -0,0 +1,36 @@
import React, { Component } from "react";
import { Container, Row, Col } from "reactstrap";
export default class Footer extends Component {
render() {
return (
// <footer className="navbar-fixed-bottom">
// <div className="container">
// <div className="row">
// <p>Don't miss my site: <a href="www.devbutze.com">DevButze</a> </p>
// </div>
// </div>
// </footer>
<Container style={FooterStyle}>
<a href="#CTA">Back to top</a>
<Row>
{" "}
<Col>
{" "}
<p>
© 2017 Company, Inc. | <a href="#">Privacy</a> |{" "}
<a href="#">Terms</a>{" "}
</p>{" "}
</Col>
</Row>
</Container>
);
}
}
var FooterStyle = {
// color: "DodgerBlue",
textAlign: "center"
};

View file

@ -2,34 +2,20 @@ import React, { Component } from "react";
import ThankYouAlert from "./ThankYouAlert";
import { Button, Input, InputGroup, Form, FormGroup, Label } from "reactstrap";
// import MailchimpSubscribe from "react-mailchimp-subscribe"
// const url = "https://innovationdrive.us18.list-manage.com/subscribe/post";
// // simplest form (only email)
// const SimpleForm = () => <MailchimpSubscribe url={url}/>
// // use the render prop and your custom form
// const CustomForm = () => (
// <MailchimpSubscribe
// url={url}
// render={({ subscribe, status, message }) => (
// <div>
// <EmailForm onSubmitted={formData => subscribe(formData)} />
// {status === "sending" && <div style={{ color: "blue" }}>sending...</div>}
// {status === "error" && <div style={{ color: "red" }} dangerouslySetInnerHTML={{__html: message}}/>}
// {status === "success" && <div style={{ color: "green" }}>Subscribed !</div>}
// </div>
// )}
// />
// )
export default class EmailForm extends React.Component {
export default class EmailForm extends Component {
render() {
return (
<div>
<div className="Form">
<Form action="https://formspree.io/contact@innovationdrive.com.au" method="POST">
<h1>Sign Up to our newsletter </h1>
<h1>Free video consultation</h1>
<FormGroup>
<Input
type="fullname"
name="fullname"
id="exampleName"
placeholder="Full name"
/>
</FormGroup>
<FormGroup>
<Input
type="email"
@ -62,3 +48,27 @@ export default class EmailForm extends React.Component {
// then email text area with validation
// tell us a little about your idea...
// Once it goes through trigger thank you alert or just change CTA text/colour
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// import MailchimpSubscribe from "react-mailchimp-subscribe"
// const url = "https://innovationdrive.us18.list-manage.com/subscribe/post";
// // simplest form (only email)
// const SimpleForm = () => <MailchimpSubscribe url={url}/>
// // use the render prop and your custom form
// const CustomForm = () => (
// <MailchimpSubscribe
// url={url}
// render={({ subscribe, status, message }) => (
// <div>
// <EmailForm onSubmitted={formData => subscribe(formData)} />
// {status === "sending" && <div style={{ color: "blue" }}>sending...</div>}
// {status === "error" && <div style={{ color: "red" }} dangerouslySetInnerHTML={{__html: message}}/>}
// {status === "success" && <div style={{ color: "green" }}>Subscribed !</div>}
// </div>
// )}
// />
// )

View file

@ -11,9 +11,9 @@ import {
DropdownToggle,
DropdownMenu,
DropdownItem } from 'reactstrap';
import logo from '../logo.png';
import logo from '../images/logo.png';
export default class HeadNavbar extends React.Component {
export default class HeadNavbar extends Component {
constructor(props) {
super(props);
@ -30,19 +30,22 @@ export default class HeadNavbar extends React.Component {
render() {
return (
<div>
<Navbar className="clearfix" light expand="md">
<Navbar className="navbar clearfix" light expand="md">
<NavbarBrand href="/">
<img src={logo} className="App-logo" alt="logo" />
</NavbarBrand>
<NavbarToggler onClick={this.toggle} />
<Collapse isOpen={this.state.isOpen} navbar>
<Nav>
</Nav>
<Nav className="ml-auto" navbar>
<NavLink href="https://innovationdrive/who-are-we"> Team </NavLink>
<NavLink href="https://innovationdrive/blog"> Blog </NavLink>
<button className="btn btn-danger float-right">Download Invention Workbook</button>
{/* <NavItem>
<NavLink href="/components/">Resources</NavLink>
</NavItem>
<NavItem>
<NavLink href="https://github.com/reactstrap/reactstrap">GitHub</NavLink>
{/* <NavItem> */}
{/* <NavLink href="https://github.com/reactstrap/reactstrap">GitHub</NavLink>
</NavItem>
<UncontrolledDropdown nav inNavbar>
<DropdownToggle nav caret>

View file

@ -0,0 +1,40 @@
import React from 'react';
import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';
import EmailForm from './Form';
class ModalExample extends React.Component {
constructor(props) {
super(props);
this.state = {
modal: false
};
this.toggle = this.toggle.bind(this);
}
toggle() {
this.setState({
modal: !this.state.modal
});
}
render() {
return (
<div>
<Button color="danger" onClick={this.toggle}>{this.props.buttonLabel}Continue</Button>
<Modal isOpen={this.state.modal} toggle={this.toggle} className={this.props.className}>
{/* <ModalHeader toggle={this.toggle}>Free Video Consultation</ModalHeader> */}
<ModalBody>
<EmailForm />
</ModalBody>
<ModalFooter>
{/* <Button color="primary" onClick={this.toggle}>Do Something</Button>{' '} */}
{/* <Button color="secondary" onClick={this.toggle}>Cancel</Button> */}
</ModalFooter>
</Modal>
</div>
);
}
}
export default ModalExample;

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 565 KiB

View file

Before

Width:  |  Height:  |  Size: 211 KiB

After

Width:  |  Height:  |  Size: 211 KiB

View file

Before

Width:  |  Height:  |  Size: 523 KiB

After

Width:  |  Height:  |  Size: 523 KiB

View file

@ -4,3 +4,4 @@ body {
font-family: 'Roboto';
}

View file

@ -1,14 +0,0 @@
.backgroundContainer {
background-image: url("../kidRocket.jpg");
background-repeat: no-repeat;
background-size: 100%;
/* background-position: center; */
}
.CTA {
align-items: center;
color: red;
}

View file

@ -1,35 +0,0 @@
import React, { Component } from "react";
import { Container, Row, Col } from "reactstrap";
import Form from "../components/Form.js";
import "./AboveTheFold.css";
import HeadNavbar from "../components/Navbar.js";
export default class AboveTheFold extends Component {
render() {
return (
<div className="backgroundContainer">
<HeadNavbar />
<Container />
<Container>
<Row >
<Col xs="6" sm="4">
</Col>
<Col xs="6" sm="4">
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
</Col>
<Col sm="4"><Form /></Col>
</Row>
</Container>
</div>
);
}
}

View file

@ -1,36 +1,148 @@
import React, { Component } from "react";
import { Container } from "reactstrap";
import { Container, Row, Col } from "reactstrap";
export default class WhatIs extends Component {
render() {
return (
<div className="WhatIs">
<Container>
<br/>
<br/>
<br/>
{/* <Container>
<br />
<br />
<br />
<h1>What is Innovation Drive?</h1>
<p>
We turn great ideas into real physical products by Connecting a team
of experts to democratise the product development and manufacturing
process.
</p>
<p>
For corporates: On demand design to manufacturing On demand product
development team
</p>
<p>
For corporates: On demand design to manufacturing On demand product
development team
</p>
<p>
For Everyday inventors On demand end-to end product development team
</p>
<br/>
<h2>Why Innovation Drive? </h2>
<p>We exist to empower everyday inventors </p>
<h1>What is Innovation Drive?</h1>
<p>
We turn great ideas into real physical products by Connecting a team
of experts to democratise the product development and manufacturing
process.
</p>
<p>
For corporates: On demand design to manufacturing On demand product
development team
</p>
<p>
For Everyday inventors On demand end-to end product development team
</p>
<br />
<h2>Why Innovation Drive? </h2>
<p>We exist to empower everyday inventors </p>
</Container>
<Container>
<Row>
<Col xs="12" sm="4">
<img
src="https://cdn.lyft.com/brochure/drive-for-lyft-tip.f57a8a46.svg"
alt="Keep your tips"
class="icon-l text-bold m-y-m"
/>
<h6>Keep Your Tips</h6>
<p>
Earn tips from your passengers and keep the whole amount
theyre yours.
</p>
</Col>
<Col xs="12" sm="4">
<img
src="https://cdn.lyft.com/brochure/drive-for-lyft-tip.f57a8a46.svg"
alt="Keep your tips"
class="icon-l text-bold m-y-m"
/>
<h6>Keep Your Tips</h6>
<p>
Earn tips from your passengers and keep the whole amount
theyre yours.
</p>
</Col>
<Col xs="12" sm="4">
<img
src="https://cdn.lyft.com/brochure/drive-for-lyft-tip.f57a8a46.svg"
alt="Keep your tips"
class="icon-l text-bold m-y-m"
/>
<h6>Keep Your Tips</h6>
<p>
Earn tips from your passengers and keep the whole amount
theyre yours.
</p>
</Col>
</Row>
</Container> */}
{/* <!-- Three columns of text below the carousel --> */}
<div class="row">
<div class="col-lg-4">
<img class="rounded-circle" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Generic placeholder image" width="140" height="140"/>
<h2>Heading</h2>
<p>Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus magna.</p>
<p><a class="btn btn-secondary" href="#" role="button">View details »</a></p>
</div>
{/* <!-- /.col-lg-4 --> */}
<div class="col-lg-4">
<img class="rounded-circle" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Generic placeholder image" width="140" height="140"/>
<h2>Heading</h2>
<p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.</p>
<p><a class="btn btn-secondary" href="#" role="button">View details »</a></p>
</div>
{/* <!-- /.col-lg-4 --> */}
<div class="col-lg-4">
<img class="rounded-circle" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Generic placeholder image" width="140" height="140"/>
<h2>Heading</h2>
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
<p><a class="btn btn-secondary" href="#" role="button">View details »</a></p>
</div>
{/* <!-- /.col-lg-4 --> */}
</div>
{/* <!-- /.row --> */}
{/* <!-- START THE FEATURETTES --> */}
<hr class="featurette-divider"/>
<div class="row featurette">
<div class="col-md-7">
<h2 class="featurette-heading">First featurette heading. <span class="text-muted">It'll blow your mind.</span></h2>
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
</div>
<div class="col-md-5">
<img class="featurette-image img-fluid mx-auto" data-src="holder.js/500x500/auto" alt="500x500" style="width: 500px; height: 500px;" src="data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%22500%22%20height%3D%22500%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20500%20500%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%23holder_1642190f000%20text%20%7B%20fill%3A%23AAAAAA%3Bfont-weight%3Abold%3Bfont-family%3AArial%2C%20Helvetica%2C%20Open%20Sans%2C%20sans-serif%2C%20monospace%3Bfont-size%3A25pt%20%7D%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22holder_1642190f000%22%3E%3Crect%20width%3D%22500%22%20height%3D%22500%22%20fill%3D%22%23EEEEEE%22%3E%3C%2Frect%3E%3Cg%3E%3Ctext%20x%3D%22185.125%22%20y%3D%22261.1%22%3E500x500%3C%2Ftext%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E" data-holder-rendered="true"/>
</div>
</div>
<hr class="featurette-divider"/>
<div class="row featurette">
<div class="col-md-7 push-md-5">
<h2 class="featurette-heading">Oh yeah, it's that good. <span class="text-muted">See for yourself.</span></h2>
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
</div>
<div class="col-md-5 pull-md-7">
<img class="featurette-image img-fluid mx-auto" data-src="holder.js/500x500/auto" alt="500x500" src="data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%22500%22%20height%3D%22500%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20500%20500%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%23holder_1642190f002%20text%20%7B%20fill%3A%23AAAAAA%3Bfont-weight%3Abold%3Bfont-family%3AArial%2C%20Helvetica%2C%20Open%20Sans%2C%20sans-serif%2C%20monospace%3Bfont-size%3A25pt%20%7D%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22holder_1642190f002%22%3E%3Crect%20width%3D%22500%22%20height%3D%22500%22%20fill%3D%22%23EEEEEE%22%3E%3C%2Frect%3E%3Cg%3E%3Ctext%20x%3D%22185.125%22%20y%3D%22261.1%22%3E500x500%3C%2Ftext%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E" data-holder-rendered="true" style="width: 500px; height: 500px;"/>
</div>
</div>
<hr class="featurette-divider"/>
<div class="row featurette">
<div class="col-md-7">
<h2 class="featurette-heading">And lastly, this one. <span class="text-muted">Checkmate.</span></h2>
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
</div>
<div class="col-md-5">
<img class="featurette-image img-fluid mx-auto" data-src="holder.js/500x500/auto" alt="500x500" src="data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%22500%22%20height%3D%22500%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20500%20500%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%23holder_1642190f003%20text%20%7B%20fill%3A%23AAAAAA%3Bfont-weight%3Abold%3Bfont-family%3AArial%2C%20Helvetica%2C%20Open%20Sans%2C%20sans-serif%2C%20monospace%3Bfont-size%3A25pt%20%7D%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22holder_1642190f003%22%3E%3Crect%20width%3D%22500%22%20height%3D%22500%22%20fill%3D%22%23EEEEEE%22%3E%3C%2Frect%3E%3Cg%3E%3Ctext%20x%3D%22185.125%22%20y%3D%22261.1%22%3E500x500%3C%2Ftext%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E" data-holder-rendered="true" style="width: 500px; height: 500px;"/>
</div>
</div>
<hr class="featurette-divider"/>
{/* <!-- /END THE FEATURETTES --> */}
{/* <!-- FOOTER --> */}
</div>
);
}

View file

@ -0,0 +1,37 @@
.backgroundContainer {
/* background-image: url("http://backgroundcheckall.com/wp-content/uploads/2017/12/light-green-background-images-for-websites-6.jpg"); */
/* background-repeat: no-repeat; */
/* background-size: 100%; */
/* background-position: center; */
/* width: 100%; */
/* height: auto; */
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: center center;
}
.firstContainer {
/* background-image: url("../kidRocket.jpg"); */
/* background-size: cover; */
/* /* max-width: 100%; */
/* height: 100%; */
/* background-repeat: no-repeat;
background-size: contain; */
/* background-repeat: no-repeat;
background-size: 100% 90%; */
}
.responsive {
}
.CTA {
align-items: center;
color: red;
}
.navbar {
/* background: rgb(255, 255, 255); fallback for old browsers */
/* background-image: url("http://backgroundcheckall.com/wp-content/uploads/2017/12/light-green-background-images-for-websites-6.jpg"); */
}

View file

@ -0,0 +1,43 @@
import React, { Component } from "react";
import { Container, Row, Col, Button } from "reactstrap";
import styles from "./index.css";
import EmailForm from "/Users/omar/Desktop/innovationDrive/innovation-drive/src/components/Form.js";
// import "./AboveTheFold.css";
import HeadNavbar from "/Users/omar/Desktop/innovationDrive/innovation-drive/src/components/Navbar.js";
import ModalExample from "/Users/omar/Desktop/innovationDrive/innovation-drive/src/components/PopUpSignUp.js";
// /Users/omar/Desktop/innovationDrive/innovation-drive/src/components/Form.js
export default class Homepage extends Component {
render() {
return (
<div className="backgroundContainer">
<HeadNavbar />
<Container />
<Container>
{/* <Row> <img src={require('../kidRocket.jpg')} /> </Row> */}
<Row className="firstContainer">
<Col xs="6" sm="4">
{/* THIS IS A POP UP BOOTRAP MODAL, with a CTA to click on */}
<h3> End to end product dev </h3>
<ModalExample />
</Col>
<Col xs="6" sm="4">
</Col>
<Col lg="12" sm="4">
{/* <EmailForm /> */}
</Col>
</Row>
</Container>
<Container>
<h1>What Customers Say About Us</h1>
{/* ADD BOOTSRAP CAROUSEL HERE */}
</Container>
</div>
);
}
}

7348
yarn-error.log Normal file

File diff suppressed because it is too large Load diff

View file

@ -3121,6 +3121,16 @@ he@1.1.x:
version "1.1.1"
resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
history@^4.7.2:
version "4.7.2"
resolved "https://registry.yarnpkg.com/history/-/history-4.7.2.tgz#22b5c7f31633c5b8021c7f4a8a954ac139ee8d5b"
dependencies:
invariant "^2.2.1"
loose-envify "^1.2.0"
resolve-pathname "^2.2.0"
value-equal "^0.4.0"
warning "^3.0.0"
hmac-drbg@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
@ -3129,6 +3139,10 @@ hmac-drbg@^1.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
hoist-non-react-statics@^2.5.0:
version "2.5.4"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.4.tgz#fc3b1ac05d2ae3abedec84eba846511b0d4fcc4f"
home-or-tmp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
@ -3367,7 +3381,7 @@ interpret@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614"
invariant@^2.2.2:
invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
dependencies:
@ -4279,7 +4293,7 @@ longest@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1:
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
dependencies:
@ -4995,7 +5009,7 @@ path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
path-to-regexp@^1.0.1:
path-to-regexp@^1.0.1, path-to-regexp@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
dependencies:
@ -5581,6 +5595,10 @@ react-dom@^16.4.1:
object-assign "^4.1.1"
prop-types "^15.6.0"
react-driftjs@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/react-driftjs/-/react-driftjs-1.0.8.tgz#6e2ef26fbaa8219c09982cea4dd0c8e7bbe467fc"
react-error-overlay@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-4.0.0.tgz#d198408a85b4070937a98667f500c832f86bd5d4"
@ -5600,6 +5618,29 @@ react-popper@^0.10.4:
popper.js "^1.14.1"
prop-types "^15.6.1"
react-router-dom@^4.3.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz#4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6"
dependencies:
history "^4.7.2"
invariant "^2.2.4"
loose-envify "^1.3.1"
prop-types "^15.6.1"
react-router "^4.3.1"
warning "^4.0.1"
react-router@^4.3.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz#aada4aef14c809cb2e686b05cee4742234506c4e"
dependencies:
history "^4.7.2"
hoist-non-react-statics "^2.5.0"
invariant "^2.2.4"
loose-envify "^1.3.1"
path-to-regexp "^1.7.0"
prop-types "^15.6.1"
warning "^4.0.1"
react-scripts@1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-1.1.4.tgz#d5c230e707918d6dd2d06f303b10f5222d017c88"
@ -5930,6 +5971,10 @@ resolve-from@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
resolve-pathname@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879"
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
@ -6894,6 +6939,10 @@ validate-npm-package-license@^3.0.1:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
value-equal@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7"
vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
@ -6922,6 +6971,18 @@ walker@~1.0.5:
dependencies:
makeerror "1.0.x"
warning@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c"
dependencies:
loose-envify "^1.0.0"
warning@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.1.tgz#66ce376b7fbfe8a887c22bdf0e7349d73d397745"
dependencies:
loose-envify "^1.0.0"
watch@~0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc"