Skip to content

Instantly share code, notes, and snippets.

View zackify's full-sized avatar
🤠
coding like crazy

Zach Silveira zackify

🤠
coding like crazy
View GitHub Profile
export const api = ({ url, headers = {}, body, method }) =>
new Promise(async (resolve, reject) => {
try {
body = JSON.stringify(body);
headers['Content-Type'] = 'application/json';
} catch (e) {}
//intercept before if i want
let token = await storage.get('userToken')
headers.Authorization = token
import { mapValues } from 'lodash';
const authCheck = (resolver, isPublic) => (parent, args, context, info) => {
if (isPublic || context.user) {
return resolver(parent, args, context, info);
}
return ApolloError({ code: 401 });
};
export default (resolvers, publicResolvers = []) =>
@zackify
zackify / hook.js
Last active January 30, 2019 01:31
React hook that triggers one time, when an element becomes visible on the screen
//Copied from SO checking if an element is in view
const checkIfInView = (elementPosition, extraOffset) =>
elementPosition.top >= 0 &&
elementPosition.left >= 0 &&
elementPosition.bottom + extraOffset <=
(window.innerHeight || document.documentElement.clientHeight) &&
elementPosition.right + extraOffset <=
(window.innerWidth || document.documentElement.clientWidth);
//React hook that sets state when in view
@zackify
zackify / index.js
Last active December 17, 2018 06:11
Wait on components to load before changing routes in react router v4
import Route from "utils/route"
import Link from "utils/link"
import { Match, Redirect } from "react-router"
export default () => (
<div>
{*/will wait for ./views/employers.js to load before changing route */}
<Link className='-active' to='/employers'>employers</Link>
<Match
var GaugeWrapper = React.createClass({
componentDidMount(){
var target = React.findDOMNode(this)
var gauge = new Gauge(target).setOptions(this.props.options);
gauge.maxValue = this.props.max;
gauge.set(this.props.value);
},
render(){
return <canvas width={this.props.width} height={this.props.height} />
}
import React from 'react';
import styles from './styles.css';
export default ({ title, }) => (
<section className={styles.wrapper}>
{title}
</section>
);
/*
@zackify
zackify / mock.js
Last active March 11, 2018 22:43
mock.js
const getAppointments = Appointment => () => {
return Appointment.joins(:customer).where('customers.pays_a_lot = true').includes(:customer).order_by('customers.age DESC')
}
const dbmock = fakes => new Proxy({}, {
get: (target, name) => {
if(!fakes[name]) return this
return fakes[name]
{
"compilerOptions": {
"outDir": "./dist/",
"sourceMap": true,
"noImplicitAny": true,
"module": "es2015",
"moduleResolution": "node",
"target": "es5",
"jsx": "react",
"allowJs": true,
const beforeInsert = ({ values, state }) => {
if(state.deleted) values.deleted_at = Date.now()
return values
}
const conversions = {
column_one: ({value, setState}) => {
if(value.match(/zz/)) setState({ deleted: true})
return (
<Toggle>
<p toggle>some text you click to toggle</p>
<div on>if on, this renders!</div>
<div off>if off, this renders!</div>
</Toggle>
)