diff --git a/changelog.md b/changelog.md index e73670c..5812716 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,8 @@ # changelog +### Thursday, 07/07/2016 - v2.2.6 +- Added a new nav item on the homepage for accessing both recently viewed and edited brews (thanks [ChosenSeraph!](https://github.com/stolksdorf/homebrewery/issues/147)) + ### Friday, 10/06/2016 - v2.2.4 - Added an id to each rendered page - Allows adding in hyperlinks to specific pages diff --git a/client/homebrew/navbar/navbar.jsx b/client/homebrew/navbar/navbar.jsx index 25b9ab1..81e440d 100644 --- a/client/homebrew/navbar/navbar.jsx +++ b/client/homebrew/navbar/navbar.jsx @@ -34,7 +34,7 @@ var Navbar = React.createClass({
The Homebrewery
- v2.2.5 + v2.2.6 {this.renderChromeWarning()} diff --git a/client/homebrew/navbar/navbar.less b/client/homebrew/navbar/navbar.less index 837bbea..250fcce 100644 --- a/client/homebrew/navbar/navbar.less +++ b/client/homebrew/navbar/navbar.less @@ -62,6 +62,18 @@ left : 0px; z-index : 10000; width : 100%; + h4{ + display : block; + box-sizing : border-box; + padding : 5px 0px; + background-color : #333; + font-size : 0.8em; + color : #bbb; + text-align : center; + border-top : 1px solid #888; + &:nth-of-type(1){ background-color: darken(@teal, 20%); } + &:nth-of-type(2){ background-color: darken(@purple, 30%); } + } .item{ .animate(background-color); position : relative; diff --git a/client/homebrew/navbar/recent.navitem.jsx b/client/homebrew/navbar/recent.navitem.jsx index c9e7a05..0835f53 100644 --- a/client/homebrew/navbar/recent.navitem.jsx +++ b/client/homebrew/navbar/recent.navitem.jsx @@ -5,6 +5,9 @@ var Moment = require('moment'); var Nav = require('naturalcrit/nav/nav.jsx'); +const VIEW_KEY = 'homebrewery-recently-viewed'; +const EDIT_KEY = 'homebrewery-recently-edited'; + var BaseItem = React.createClass({ getDefaultProps: function() { return { @@ -88,7 +91,7 @@ module.exports = { }; }, render : function(){ - return }, }), + + both : React.createClass({ + getInitialState: function() { + return { + showDropdown: false, + edit : [], + view : [] + }; + }, + + componentDidMount: function() { + this.setState({ + edit : JSON.parse(localStorage.getItem(EDIT_KEY) || '[]'), + view : JSON.parse(localStorage.getItem(VIEW_KEY) || '[]') + }); + }, + + handleDropdown : function(show){ + this.setState({ + showDropdown : show + }) + }, + + renderDropdown : function(){ + if(!this.state.showDropdown) return null; + + var makeItems = (brews) => { + return _.map(brews, (brew)=>{ + return + {brew.title} + {Moment(brew.ts).fromNow()} + + }); + }; + + return
+

edited

+ {makeItems(this.state.edit)} +

viewed

+ {makeItems(this.state.view)} +
+ }, + + render : function(){ + return + Recent brews + {this.renderDropdown()} + + } + + }) } \ No newline at end of file diff --git a/client/homebrew/pages/homePage/homePage.jsx b/client/homebrew/pages/homePage/homePage.jsx index c489de3..6023d43 100644 --- a/client/homebrew/pages/homePage/homePage.jsx +++ b/client/homebrew/pages/homePage/homePage.jsx @@ -7,6 +7,7 @@ var Nav = require('naturalcrit/nav/nav.jsx'); var Navbar = require('../../navbar/navbar.jsx'); var PatreonNavItem = require('../../navbar/patreon.navitem.jsx'); var IssueNavItem = require('../../navbar/issue.navitem.jsx'); +var RecentNavItem = require('../../navbar/recent.navitem.jsx'); var SplitPane = require('naturalcrit/splitPane/splitPane.jsx'); @@ -54,6 +55,7 @@ var HomePage = React.createClass({ Changelog + New Brew diff --git a/package.json b/package.json index 4dd9d15..7b1ff89 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "homebrewery", "description": "Create authentic looking D&D homebrews using only markdown", - "version": "2.2.5", + "version": "2.2.6", "scripts": { "postinstall": "gulp prod", "start": "node server.js"