Skip to content

Instantly share code, notes, and snippets.

View hanford's full-sized avatar
🌝

Jack Hanford hanford

🌝
View GitHub Profile
import React, { PureComponent } from 'react'
import { render } from 'react-dom'
const styles = {
fontFamily: 'sans-serif',
textAlign: 'center',
}
class App extends PureComponent {
@hanford
hanford / service.js
Last active February 9, 2018 20:06
import Service, { Router } from '@eaze/service'
import { auth, isAdmin } from '@eaze/middleware'
class Acacia extends Service {
static router () {
return (
<Router>
<Get route='/products' handler={(req, res) => res.send(200)} />
<Post route='/products/create' middleware={[ isAdmin ]} handler={(req, res) => res.send(200)} />
<Patch route='/products/:id' middleware={[ isAdmin ]} handler={(req, res) => res.send(200)} />
import { PureComponent, Fragment } from 'react'
import hoistNonReactStatic from 'hoist-non-react-statics'
import MaintenanceMode from 'pages/maintenance'
export default function hasNotification (Component) {
class withNotifications extends PureComponent {
state = {
alert: ''
}
'use strict'
const fs = require('fs')
const path = require('path')
const precache = require('./precache.js')
module.exports = class WebpackPlugin {
constructor (opts) {
this.opts = Object.assign({
filename: 'service-worker.js',
@hanford
hanford / emit.js
Created March 19, 2018 20:12
simple node event emitter
class Emitter {
constructor () {
this.fns = {}
this.on = this.on.bind(this)
this.broadcast = this.broadcast.bind(this)
}
on (name, fn) {
if (this.fns[name]) {
this.fns[name].push(fn)
const pify = fn => (...args) => new Promise((resolve, reject) => fn(...args, (err, res) => err ? reject(err) : resolve(res)))
@hanford
hanford / horizontal-drag.js
Created April 26, 2018 07:23
horizontal scrolling react component
import React, { PureComponent } from 'react'
import FlickList from 'react-flick-list'
import style from './style.css'
export default class HorizontalDrag extends PureComponent {
state = {
begin: {
x: 0,
y: 0
import { PureComponent } from 'react'
import { connect } from 'react-redux'
import hoistNonReactStatic from 'hoist-non-react-statics'
import { fetchCurrentAddress } from 'actions/location'
const mapDispatchToProps = dispatch => {{
fetchCurrentAddress: () => dispatch(fetchCurrentAddress())
})
import { PureComponent } from 'react'
import hoistNonReactStatic from 'hoist-non-react-statics'
import Firebase from 'firebase'
import { FIREBASE } from 'environment'
import MaintenanceMode from 'pages/maintenance'
export default function withMaintenance (WrappedComponent) {
class withMaintenanceComponent extends PureComponent {
state = {
import { PureComponent } from 'react'
import requestIdle from 'request-callback'
import 'isomorphic-fetch'
import { withRouter } from 'next/router'
import OldLanding from './landing'
import NewLanding from './home'
import Connect from 'hocs/connect'
import withOptimizely from 'hocs/optimizely'