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"