Skip to content

Instantly share code, notes, and snippets.

View ryanpedersen42's full-sized avatar
🦛

Ryan Pedersen ryanpedersen42

🦛
  • San Francisco, CA
View GitHub Profile
@ryanpedersen42
ryanpedersen42 / main-page.jsx
Last active September 2, 2019 02:44
CreateNewSpace Main Page
// src/pages/main-page.jsx
// ... other imports removed for brevity
import CreateNewSpace from '../../components/create-new-space/create-new-space';
const MainPage = ({ ethAddress, spaceOptions, changeSelectedSpace, selectedSpace, handleNameChange, createNewSpace }) => (
<Fragment>
<Header />
<div className='main-page'>
@ryanpedersen42
ryanpedersen42 / form-input.jsx
Created September 2, 2019 02:18
form-input.jsx
import React from 'react';
import './form-input.styles.scss';
const FormInput = ({ handleChange, label, ...otherProps }) => (
<div className='group'>
<input className='form-input' onChange={handleChange} {...otherProps} />
{label ? (
<label className='shrink form-input-label'>
{label}
@ryanpedersen42
ryanpedersen42 / input-form.jsx
Last active September 2, 2019 02:28
input-form.jsx
// src/components/input-form/input-form.jsx
import React, { Component, Fragment } from 'react';
import FormInput from '../form-input/form-input';
import './input-form.styles.scss'
class InputForm extends Component {
constructor(props) {
super(props);
@ryanpedersen42
ryanpedersen42 / create-new-space.jsx
Created September 2, 2019 02:31
create-new-space.jsx
// src/components/create-new-space/create-new-space.jsx
import React, { Component } from 'react';
import FormInput from '../form-input/form-input';
import './create-new-space.styles.scss';
class CreateNewSpace extends Component {
constructor(props) {
super(props);
@ryanpedersen42
ryanpedersen42 / main-page.jsx
Last active September 2, 2019 02:42
InputForm on MainPage
// src/pages/main-page.jsx
// ... other imports removed for brevity
import InputForm from '../../components/input-form/input-form';
const MainPage = ({ ethAddress, spaceOptions, changeSelectedSpace, selectedSpace, handleNameChange, createNewSpace }) => (
<Fragment>
<Header />
<div className='main-page'>
@ryanpedersen42
ryanpedersen42 / App.jsx
Created September 2, 2019 02:56
GetSecret App.jsx
// src/App.jsx
// ...imports removed for brevity
class App extends Component {
constructor(props) {
super(props);
this.state = {
box: null,
ethAddress: '',
@ryanpedersen42
ryanpedersen42 / main-page.jsx
Created September 2, 2019 03:03
GetSecret MainPage
// src/pages/main-page.jsx
// ... other imports removed for brevity
import GetSecret from '../../components/get-secret/get-secret.jsx;
const MainPage = ({ ethAddress, spaceOptions, changeSelectedSpace, selectedSpace, handleNameChange, createNewSpace, handleKeyChange, handleValueChange, inputValue, inputKey, onSubmit, spaceOptions, changeSelectedSpace }) => (
<Fragment>
<Header />
<div className='main-page'>
@ryanpedersen42
ryanpedersen42 / get-secret.jsx
Last active September 2, 2019 03:11
get-secret.jsx
// src/components/get-secret/get-secret.jsx
import React, { Component, Fragment } from 'react';
import FormInput from '../form-input/form-input';
import './get-secret.styles.scss';
class GetSecret extends Component {
constructor(props) {
@ryanpedersen42
ryanpedersen42 / App.jsx
Last active September 13, 2019 01:34
handleAuth
//App.jsx
handleAuth = async () => {
const { history } = this.props
// web3 actions to authenticate with metamask or other provider
const ethAddresses = await window.ethereum.enable();
const ethAddress = ethAddresses[0];
// authenticate with openBox
const box = await Box.openBox(ethAddress, window.ethereum, {});
// change the space where actions are being taken in
changeSelectedSpace = async (event) => {
const { box } = this.state;
const selectedSpace = event.target.value;
const dappStorage = await box.openSpace(selectedSpace);
await this.setState({ selectedSpace, dappStorage });
}