You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
carbon/pages/index.js

56 lines
1.3 KiB
JavaScript

7 years ago
import React from 'react'
import HTML5Backend from 'react-dnd-html5-backend'
import { DragDropContext } from 'react-dnd'
7 years ago
import Axios from 'axios'
import CodeImage from '../components/codeImage'
7 years ago
import api from '../lib/api'
7 years ago
const DEFAULT_CODE = `const pluckDeep = key => obj => key.split('.').reduce((accum, key) => accum[key], obj)
const compose = (...fns) => res => fns.reduce((accum, next) => next(accum), res)
const unfold = (f, seed) => {
const go = (f, seed, acc) => {
const res = f(seed)
return res ? go(f, res[1], acc.concat([res[0]])) : acc
}
return go(f, seed, [])
}
`
class Home extends React.Component {
7 years ago
/* pathname, asPath, err, req, res */
static async getInitialProps ({ asPath }) {
try {
const content = await api.getGist(asPath)
return { content }
} catch (e) {
console.log(e)
return {}
}
}
7 years ago
render () {
return (
<div>
<style jsx>{`
div {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
`}
</style>
<h1>Welcome to Code Image</h1>
<CodeImage>
{DEFAULT_CODE}
7 years ago
</CodeImage>
</div>
)
}
7 years ago
}
export default DragDropContext(HTML5Backend)(Home)