Skip to content

Instantly share code, notes, and snippets.

View stolinski's full-sized avatar
💭
Syntax.fm

Scott Tolinski stolinski

💭
Syntax.fm
View GitHub Profile
@stolinski
stolinski / Waypoints.js
Created April 18, 2019 19:22
Waypoints Component For Animating React
import React from 'react'
const Waypoints = () => {
return (
<div className="waypoints">
<p>
Lorem ipsum dolor amet poutine pitchfork tattooed venmo, heirloom cliche chartreuse gentrify mumblecore hammock single-origin coffee banh mi. Sartorial unicorn 90's edison bulb iPhone. Leggings pickled brunch neutra tousled. Occupy fixie affogato pinterest vaporware aesthetic, tbh subway tile hammock next level prism vape lomo taiyaki kale chips. Jianbing knausgaard taxidermy squid artisan thundercats, gochujang subway tile air plant taiyaki master cleanse cray.
</p>
<p>
Pug godard pour-over 90's direct trade, PBR&B +1 next level organic edison bulb quinoa DIY. Taiyaki sriracha unicorn, cronut taxidermy chicharrones four dollar toast keytar cold-pressed raclette yuccie cray iceland. Roof party knausgaard neutra plaid, pork belly chambray banh mi chia. Blue bottle narwhal iceland health goth cornhole fam humblebrag flannel pitchfork pickled.
@stolinski
stolinski / useMeasure.js
Created April 18, 2019 18:16
useMeasure - taken from React Spring example
import { useRef, useState, useEffect } from 'react'
import ResizeObserver from 'resize-observer-polyfill'
export default function useMeasure() {
const ref = useRef()
const [bounds, set] = useState({ left: 0, top: 0, width: 0, height: 0 })
const [ro] = useState(() => new ResizeObserver(([entry]) => set(entry.contentRect)))
useEffect(() => (ro.observe(ref.current), ro.disconnect), [])
return [{ ref }, bounds]
}
@stolinski
stolinski / Routes.js
Last active June 8, 2022 05:53
React Spring React Router Starter
import React from 'react';
import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom';
const Routes = () => {
return (
<Router>
<ul className="router-nav">
<NavLink to="/">One</NavLink>
<NavLink to="/two">Two</NavLink>
<NavLink to="/three">Three</NavLink>
@stolinski
stolinski / Toggle.js
Created February 19, 2019 20:18
Refactor For Hooks Course
import React, { Component } from "react";
export default class Refactor extends Component {
state = {
isToggled: false
};
toggle = () => {
this.setState(state => {
return { isToggled: !state.isToggled };
Loadable.preloadAll()
.then(() =>
onPageLoad(async sink => {
try {
const cache = new InMemoryCache();
const stateLink = withClientState({
cache,
resolvers: stateMutations,
defaults: defaultState,
@stolinski
stolinski / ssr.js
Created April 25, 2018 14:47
Apollo Meteor SSR
import React from 'react';
import { StaticRouter } from 'react-router';
import { ServerStyleSheet } from 'styled-components';
import { onPageLoad } from 'meteor/server-render';
// import { createApolloServer } from './apolloServer';
import { createApolloServer } from 'meteor/apollo';
import { Helmet } from 'react-helmet';
import { SchemaLink } from 'apollo-link-schema';
import 'isomorphic-fetch';
// Apollo
@stolinski
stolinski / StateButton.js
Created April 16, 2018 20:03
A fun re-useable button for modifying Apollo state easily.
export const StateButton = props => (
<ApolloConsumer>
{cache => {
const { data } = props;
return (
<Button
{...props}
onClick={e => {
e.preventDefault();
cache.writeData({ data });
@stolinski
stolinski / mockMang.js
Created April 9, 2018 17:27
Level Up Tutorials MockMang
import { makeExecutableSchema, addMockFunctionsToSchema } from 'graphql-tools';
import { graphql } from 'graphql';
import GraphQLMock from 'graphql-mock';
import typeDefs from 'imports/startup/both/typeDefs';
// Make a GraphQL schema with no resolvers
const schema = makeExecutableSchema({ typeDefs });
// Creates random id
const revisedRandId = () =>
@stolinski
stolinski / eslint.json
Created March 2, 2018 02:32
React For Everyone esline
{
"parser": "babel-eslint",
"env": {
"browser": true,
"es6": true
},
"settings": {
"ecmascript": 6,
"jsx": true
},
@stolinski
stolinski / index.js
Created December 28, 2017 22:07
apollo-linkp-state
const httpLink = new HttpLink({ uri: Meteor.absoluteUrl('graphql') });
const authLink = new ApolloLink((operation, forward) => {
const token = Accounts._storedLoginToken(); // from local storage
operation.setContext(() => ({
headers: {
'meteor-login-token': token,
},
}));
return forward(operation);
});