0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-21 22:47:50 +00:00

Refactor to use BaseEditPage for shared layout

Some Nav buttons missing on the different pages should now appear in all three pages. Unique buttons are still only on those pages for now (/share nav button only appears on the /edit page, etc.)
This commit is contained in:
Trevor Buckner
2025-08-10 22:16:07 -04:00
parent 253dbb358b
commit 6f9caf0590
5 changed files with 92 additions and 62 deletions

View File

@@ -7,13 +7,9 @@ import request from '../../utils/request-middleware.js';
import Markdown from 'naturalcrit/markdown.js';
const Nav = require('naturalcrit/nav/nav.jsx');
const PrintNavItem = require('../../navbar/print.navitem.jsx');
const Navbar = require('../../navbar/navbar.jsx');
const AccountNavItem = require('../../navbar/account.navitem.jsx');
const ErrorNavItem = require('../../navbar/error-navitem.jsx');
const RecentNavItem = require('../../navbar/recent.navitem.jsx').both;
const HelpNavItem = require('../../navbar/help.navitem.jsx');
const BaseEditPage = require('../basePages/editPage/editPage.jsx');
const SplitPane = require('client/components/splitPane/splitPane.jsx');
const Editor = require('../../editor/editor.jsx');
const BrewRenderer = require('../../brewRenderer/brewRenderer.jsx');
@@ -212,28 +208,23 @@ const NewPage = createClass({
},
renderNavbar : function(){
return <Navbar>
<Nav.section>
<Nav.item className='brewTitle'>{this.state.brew.title}</Nav.item>
</Nav.section>
return <>
<Nav.section>
{this.state.error ?
<ErrorNavItem error={this.state.error} parent={this}></ErrorNavItem> :
this.renderSaveButton()
}
<PrintNavItem />
<HelpNavItem />
<RecentNavItem />
<AccountNavItem />
</Nav.section>
</Navbar>;
</>;
},
render : function(){
return <div className='newPage sitePage'>
{this.renderNavbar()}
return <BaseEditPage
className="newPage"
errorState={this.state.error}
parent={this}
brew={this.state.brew}
navButtons={this.renderNavbar()}>
<div className='content'>
<SplitPane onDragFinish={this.handleSplitMove}>
<Editor
@@ -268,7 +259,7 @@ const NewPage = createClass({
/>
</SplitPane>
</div>
</div>;
</BaseEditPage>;
}
});