Skip to content

Instantly share code, notes, and snippets.

View jaredpalmer's full-sized avatar

Jared Palmer jaredpalmer

View GitHub Profile
@jaredpalmer
jaredpalmer / react-popover.js
Created April 13, 2017 20:27
React Popover Example
import React from 'react';
class PopoverExample extends React.Component {
state = {
isOpen: false,
};
toggle = () => {
this.setState(state => ({
isOpen: !state.isOpen,
@jaredpalmer
jaredpalmer / debug.js
Created May 11, 2017 21:15
Debug Helper
import React from 'react';
import toClass from 'recompose/toClass';
export default function debug(WrappedComponent) {
if (typeof WrappedComponent === 'function') {
WrappedComponent = toClass(WrappedComponent);
}
return class Enhancer extends WrappedComponent {
@jaredpalmer
jaredpalmer / razzle.config.js
Last active April 30, 2019 17:19
Razzle with HappyPack, TypeScript, SCSS, and Vendor bundle
'use strict';
const autoprefixer = require('autoprefixer');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const path = require('path');
const {
CheckerPlugin,
TsConfigPathsPlugin,
} = require('awesome-typescript-loader');
const HappyPack = require('happypack');
@jaredpalmer
jaredpalmer / Dao.ts
Created May 28, 2017 20:05
Dao Hapi.js Example
import * as Joi from 'joi';
import * as monk from 'monk';
export interface DaoProps {
/**
* Name of table
*/
name: string;
/**
@jaredpalmer
jaredpalmer / App.js
Created May 30, 2017 17:45
Next.js-like SSR without Next.js.
import React from 'react';
import Route from 'react-router-dom/Route';
import Link from 'react-router-dom/Link';
import Switch from 'react-router-dom/Switch';
const App = ({ routes, initialData }) => {
return routes
? <div>
<Switch>
{routes.map((route, index) => {
@jaredpalmer
jaredpalmer / SharedChangeHandler.js
Last active June 16, 2017 00:09
SharedChangeHandler.js
import React, { Component } from 'react';
class Reservation extends Component {
state = {
isGoing: true,
numberOfGuests: 2
};
handleInputChange = (event) => {
const target = event.target;
@jaredpalmer
jaredpalmer / server.js
Created August 10, 2017 13:30
JSXStyle x React Router 4 x SSR
import { injectAddRule, resetCache } from 'jsxstyle/lib/styleCache';
import App from './App';
import React from 'react';
import { StaticRouter } from 'react-router-dom';
import express from 'express';
import path from 'path';
import { renderToString } from 'react-dom/server';
const assets = require(process.env.RAZZLE_ASSETS_MANIFEST);
@jaredpalmer
jaredpalmer / SidebarGroup.tsx
Last active August 14, 2017 02:45
typescript jsxstyle example
import * as React from 'react';
import { Block, Row } from 'jsxstyle';
import { SidebarNavLink } from './SidebarNavLink';
import { COLORS } from '../theme';
export interface SidebarGroupItemProps {
name: string;
link: string;
const path = require('path');
module.exports = {
webpack: (config, options, webpack) => {
// change Backpack's default entry point to 'src/server.js'
config.entry.main = path.join(__dirname, 'src/server.js');
// Tell Backpack how to handle .css files (load into memory and noop)
config.module.rules.push({
@jaredpalmer
jaredpalmer / .babelrc
Created August 26, 2017 19:40
babelrc
{
"presets": [
"react-app"
]
}