diff --git a/client/homebrew/navbar/navbar.less b/client/homebrew/navbar/navbar.less
index c1cda38c3..ae11c1e7e 100644
--- a/client/homebrew/navbar/navbar.less
+++ b/client/homebrew/navbar/navbar.less
@@ -25,12 +25,11 @@
.homebrew nav {
background-color : #333333;
- .navContent {
- position : relative;
- z-index : 2;
- display : flex;
- justify-content : space-between;
- }
+ position : relative;
+ z-index : 2;
+ display : flex;
+ justify-content : space-between;
+
.navSection {
display : flex;
align-items : center;
diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx
index 7fcee9e0c..744e187a6 100644
--- a/client/homebrew/pages/editPage/editPage.jsx
+++ b/client/homebrew/pages/editPage/editPage.jsx
@@ -429,42 +429,40 @@ const EditPage = createClass({
{this.renderNavbar()}
-
{this.renderNavbar()}
-
-
-
-
-
-
-
-
+
+
+
+
Save current
diff --git a/client/homebrew/pages/homePage/welcome_msg.md b/client/homebrew/pages/homePage/welcome_msg.md
index c7d46149e..49d1918f0 100644
--- a/client/homebrew/pages/homePage/welcome_msg.md
+++ b/client/homebrew/pages/homePage/welcome_msg.md
@@ -91,13 +91,6 @@ If you are looking for more 5e Homebrew resources check out [r/UnearthedArcana](
\page
-
-
-
-
-
-
-
## Markdown+
The Homebrewery aims to make homebrewing as simple as possible, providing a live editor with Markdown syntax that is more human-readable and faster to write with than raw HTML.
diff --git a/client/homebrew/pages/newPage/newPage.jsx b/client/homebrew/pages/newPage/newPage.jsx
index c147cd474..cb8d5b3ae 100644
--- a/client/homebrew/pages/newPage/newPage.jsx
+++ b/client/homebrew/pages/newPage/newPage.jsx
@@ -223,39 +223,37 @@ const NewPage = createClass({
render : function(){
return
{this.renderNavbar()}
-
-
-
-
-
-
+
+
+
+
;
}
});
diff --git a/client/homebrew/pages/sharePage/sharePage.less b/client/homebrew/pages/sharePage/sharePage.less
index 83e784c49..754108506 100644
--- a/client/homebrew/pages/sharePage/sharePage.less
+++ b/client/homebrew/pages/sharePage/sharePage.less
@@ -1,5 +1,5 @@
.sharePage{
- .navContent .navSection.titleSection {
+ nav .navSection.titleSection {
flex-grow: 1;
justify-content: center;
}
diff --git a/client/homebrew/pages/userPage/userPage.jsx b/client/homebrew/pages/userPage/userPage.jsx
index d6fe25b30..f6fae639d 100644
--- a/client/homebrew/pages/userPage/userPage.jsx
+++ b/client/homebrew/pages/userPage/userPage.jsx
@@ -1,12 +1,11 @@
const React = require('react');
-const createClass = require('create-react-class');
-const _ = require('lodash');
+const { useState } = React;
+const _ = require('lodash');
const ListPage = require('../basePages/listPage/listPage.jsx');
const Nav = require('naturalcrit/nav/nav.jsx');
const Navbar = require('../../navbar/navbar.jsx');
-
const RecentNavItem = require('../../navbar/recent.navitem.jsx').both;
const Account = require('../../navbar/account.navitem.jsx');
const NewBrew = require('../../navbar/newbrew.navitem.jsx');
@@ -14,69 +13,48 @@ const HelpNavItem = require('../../navbar/help.navitem.jsx');
const ErrorNavItem = require('../../navbar/error-navitem.jsx');
const VaultNavitem = require('../../navbar/vault.navitem.jsx');
-const UserPage = createClass({
- displayName : 'UserPage',
- getDefaultProps : function() {
- return {
- username : '',
- brews : [],
- query : '',
- error : null
- };
- },
- getInitialState : function() {
- const usernameWithS = this.props.username + (this.props.username.endsWith('s') ? `’` : `’s`);
+const UserPage = (props)=>{
+ props = {
+ username : '',
+ brews : [],
+ query : '',
+ ...props
+ };
- const brews = _.groupBy(this.props.brews, (brew)=>{
- return (brew.published ? 'published' : 'private');
- });
+ const [error, setError] = useState(null);
- const brewCollection = [
- {
- title : `${usernameWithS} published brews`,
- class : 'published',
- brews : brews.published
- }
- ];
- if(this.props.username == global.account?.username){
- brewCollection.push(
- {
- title : `${usernameWithS} unpublished brews`,
- class : 'unpublished',
- brews : brews.private
- }
- );
- }
+ const usernameWithS = props.username + (props.username.endsWith('s') ? `’` : `’s`);
+ const groupedBrews = _.groupBy(props.brews, (brew)=>brew.published ? 'published' : 'private');
- return {
- brewCollection : brewCollection
- };
- },
- errorReported : function(error) {
- this.setState({
- error
- });
- },
+ const brewCollection = [
+ {
+ title : `${usernameWithS} published brews`,
+ class : 'published',
+ brews : groupedBrews.published || []
+ },
+ ...(props.username === global.account?.username ? [{
+ title : `${usernameWithS} unpublished brews`,
+ class : 'unpublished',
+ brews : groupedBrews.private || []
+ }] : [])
+ ];
- navItems : function() {
- return
+ const navItems = (
+
- {this.state.error ?
- :
- null
- }
+ {error && ( )}
-
+
- ;
- },
+
+ );
- render : function(){
- return
;
- }
-});
+ return (
+
setError(err)} />
+ );
+};
module.exports = UserPage;
diff --git a/client/homebrew/pages/vaultPage/vaultPage.jsx b/client/homebrew/pages/vaultPage/vaultPage.jsx
index a51039345..55b0cb370 100644
--- a/client/homebrew/pages/vaultPage/vaultPage.jsx
+++ b/client/homebrew/pages/vaultPage/vaultPage.jsx
@@ -415,16 +415,13 @@ const VaultPage = (props)=>{
{renderNavItems()}
-
-
- {renderForm()}
-
-
- {renderSortBar()}
- {renderFoundBrews()}
-
-
-
+
+ {renderForm()}
+
+ {renderSortBar()}
+ {renderFoundBrews()}
+
+
);
};
diff --git a/shared/naturalcrit/nav/nav.jsx b/shared/naturalcrit/nav/nav.jsx
index a4682aeab..d9b403239 100644
--- a/shared/naturalcrit/nav/nav.jsx
+++ b/shared/naturalcrit/nav/nav.jsx
@@ -12,10 +12,8 @@ const Nav = {
displayName : 'Nav.base',
render : function(){
return