diff --git a/client/homebrew/homebrew.jsx b/client/homebrew/homebrew.jsx index 640a73f77..1126ab3ba 100644 --- a/client/homebrew/homebrew.jsx +++ b/client/homebrew/homebrew.jsx @@ -44,10 +44,10 @@ const Homebrew = createClass({ }/> }/> + }/> }/> } /> } /> - }/> }/> diff --git a/client/homebrew/pages/newPage/newPage.jsx b/client/homebrew/pages/newPage/newPage.jsx index 8d20277f9..1594af667 100644 --- a/client/homebrew/pages/newPage/newPage.jsx +++ b/client/homebrew/pages/newPage/newPage.jsx @@ -20,10 +20,30 @@ const BrewRenderer = require('../../brewRenderer/brewRenderer.jsx'); const KEY = 'homebrewery-new'; const NewPage = createClass({ + getDefaultProps : function() { + return { + brew : { + text : '', + shareId : null, + editId : null, + createdAt : null, + updatedAt : null, + gDrive : false, + + title : '', + description : '', + tags : '', + published : false, + authors : [], + systems : [] + } + }; + }, + getInitialState : function() { return { brew : { - text : '', + text : this.props.brew.text, gDrive : false, title : '', description : '', @@ -41,7 +61,7 @@ const NewPage = createClass({ componentDidMount : function() { const storage = localStorage.getItem(KEY); - if(storage){ + if(!this.props.brew.text && storage){ this.setState({ brew : { text: storage } }); diff --git a/server.js b/server.js index c33a755aa..ca2f6f17f 100644 --- a/server.js +++ b/server.js @@ -1,3 +1,4 @@ +/*eslint max-lines: ["warn", {"max": 250, "skipBlankLines": true, "skipComments": true}]*/ const _ = require('lodash'); const jwt = require('jwt-simple'); const express = require('express'); @@ -143,6 +144,33 @@ app.get('/edit/:id', (req, res, next)=>{ } }); +//New Page +app.get('/new/:id', (req, res, next)=>{ + if(req.params.id.length > 12) { + const googleId = req.params.id.slice(0, -12); + const shareId = req.params.id.slice(-12); + GoogleActions.readFileMetadata(config.get('google_api_key'), googleId, shareId, 'share') + .then((brew)=>{ + req.brew = brew; //TODO Need to sanitize later + return next(); + }) + .catch((err)=>{ + console.log(err); + return res.status(400).send('Can\'t get brew from Google'); + }); + } else { + HomebrewModel.get({ shareId: req.params.id }) + .then((brew)=>{ + req.brew = brew; + return next(); + }) + .catch((err)=>{ + console.log(err); + return res.status(400).send(`Can't get that`); + }); + } +}); + //Share Page app.get('/share/:id', (req, res, next)=>{ if(req.params.id.length > 12) {