diff --git a/client/homebrew/homebrew.jsx b/client/homebrew/homebrew.jsx index 1ee5efa2a..d7e7d446a 100644 --- a/client/homebrew/homebrew.jsx +++ b/client/homebrew/homebrew.jsx @@ -12,6 +12,7 @@ import NewPage from './pages/newPage/newPage.jsx'; import ErrorPage from './pages/errorPage/errorPage.jsx'; import VaultPage from './pages/vaultPage/vaultPage.jsx'; import AccountPage from './pages/accountPage/accountPage.jsx'; +import Navbar from './navbar/navbar.jsx'; const WithRoute = ({ el: Element, ...rest })=>{ const params = useParams(); @@ -61,6 +62,7 @@ const Homebrew = (props)=>{ return (
+ } /> @@ -73,6 +75,7 @@ const Homebrew = (props)=>{ return (
+ } /> } /> diff --git a/client/homebrew/homebrew.less b/client/homebrew/homebrew.less index 451b1a1f5..39eeb6511 100644 --- a/client/homebrew/homebrew.less +++ b/client/homebrew/homebrew.less @@ -2,13 +2,13 @@ .homebrew { height : 100%; background-color : @steel; + display : flex; + flex-direction : column; + overflow-y : hidden; &.deployment { background-color : darkred; } .sitePage { - display : flex; - flex-direction : column; - height : 100%; - overflow-y : hidden; + height:100%; .content { position : relative; flex : auto; diff --git a/client/homebrew/navbar/account.navitem.jsx b/client/homebrew/navbar/account.navitem.jsx index 0be06c471..6bfa89484 100644 --- a/client/homebrew/navbar/account.navitem.jsx +++ b/client/homebrew/navbar/account.navitem.jsx @@ -61,7 +61,7 @@ const Account = createReactClass({ render : function(){ // Logged in if(global.account){ - return + return
logout - ; +
; } // Logged out diff --git a/client/homebrew/navbar/navbar.jsx b/client/homebrew/navbar/navbar.jsx index d163317ca..8cc49990a 100644 --- a/client/homebrew/navbar/navbar.jsx +++ b/client/homebrew/navbar/navbar.jsx @@ -7,14 +7,36 @@ import PrintNavitem from './print.navitem.jsx'; import ShareNavitem from './share.navitem.jsx'; import HelpNavitem from './help.navitem.jsx'; import RecentNavItems from './recent.navitem.jsx'; +import Account from './account.navitem.jsx'; const { both: RecentNavItem } = RecentNavItems; import Nav from './nav.jsx'; -import useCommonEditPageFunctions from '../../homebrew/utils/commonEditPageFunctions.jsx'; - -const Navbar = ({ children }) => { +const Navbar = ({ account, brew, title, props }) => { const version = global.version || '0.0.0'; + const renderTitle = () => { + //if vault + const cleanTitle = title.replace(/^\/+|\/+$/g, ''); + if (!brew.shareId) return {cleanTitle || 'Home'}; + return ( + + {brew.title} + + ); + }; + + const renderEdit = () => { + if (!brew.editId) return null; + + const editLink = brew.googleId && !brew.stubbed ? brew.googleId + brew.editId : brew.editId; + + return ( + + edit + + ); + }; + return (
- - -
brews @@ -73,8 +92,15 @@ const Navbar = ({ children }) => { -
  • Help
  • -
  • User
  • + Help} icon={null} key={'help'}> + + + + {renderTitle()} +
      + {account.username}} icon={null} key={account.username}> + +
    ); diff --git a/client/homebrew/navbar/navbar.less b/client/homebrew/navbar/navbar.less index 9c0bba5f9..45237c4a8 100644 --- a/client/homebrew/navbar/navbar.less +++ b/client/homebrew/navbar/navbar.less @@ -319,10 +319,17 @@ > .menu-wrapper { height: 100%; + text-wrap:nowrap; + &:not(:only-child) { + &:first-child { padding-left: 10px; } + &:last-child { + padding-right: 10px; + } + } } } diff --git a/client/homebrew/pages/basePages/uiPage/uiPage.jsx b/client/homebrew/pages/basePages/uiPage/uiPage.jsx index 400dbb28e..c8a0f0941 100644 --- a/client/homebrew/pages/basePages/uiPage/uiPage.jsx +++ b/client/homebrew/pages/basePages/uiPage/uiPage.jsx @@ -2,32 +2,11 @@ import './uiPage.less'; import React from 'react'; import createReactClass from 'create-react-class'; -import Nav from '../../../navbar/nav.jsx'; -import Navbar from '../../../navbar/navbar.jsx'; -import NewBrewItem from '../../../navbar/newbrew.navitem.jsx'; -import HelpNavItem from '../../../navbar/help.navitem.jsx'; -import RecentNavItems from '../../../navbar/recent.navitem.jsx'; -const { both: RecentNavItem } = RecentNavItems; -import Account from '../../../navbar/account.navitem.jsx'; - - const UIPage = createReactClass({ displayName : 'UIPage', render : function(){ return
    - - - {this.props.brew.title} - - - - - - - - -
    {this.props.children} diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index 71dfdbdf2..64a2debe8 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -10,8 +10,6 @@ import { DEFAULT_BREW_LOAD } from '../../../../server/brewDefau import useCommonEditPageFunctions from '../../utils/commonEditPageFunctions.jsx'; -import Nav from '@navbar/nav.jsx'; - // Page specific imports import { md5 } from 'hash-wasm'; import { gzipSync, strToU8 } from 'fflate'; diff --git a/client/homebrew/pages/sharePage/sharePage.jsx b/client/homebrew/pages/sharePage/sharePage.jsx index 5280fc850..27cbc98ea 100644 --- a/client/homebrew/pages/sharePage/sharePage.jsx +++ b/client/homebrew/pages/sharePage/sharePage.jsx @@ -3,13 +3,6 @@ import React, { useState, useEffect, useCallback } from 'react'; import Headtags from '../../../../vitreum/headtags.js'; const Meta = Headtags.Meta; -import Nav from '@navbar/nav.jsx'; -import Navbar from '@navbar/navbar.jsx'; -import MetadataNav from '@navbar/metadata.navitem.jsx'; -import PrintNavItem from '@navbar/print.navitem.jsx'; -import RecentNavItems from '@navbar/recent.navitem.jsx'; -const { both: RecentNavItem } = RecentNavItems; -import Account from '@navbar/account.navitem.jsx'; import BrewRenderer from '../../brewRenderer/brewRenderer.jsx'; import request from '../../utils/request-middleware.js'; @@ -71,74 +64,10 @@ const SharePage = (props)=>{ }; }, []); - const processShareId = ()=>{ - return currentBrew.googleId && !currentBrew.stubbed ? currentBrew.googleId + currentBrew.shareId : currentBrew.shareId; - }; - - const renderEditLink = ()=>{ - if(!currentBrew.editId) return null; - - const editLink = currentBrew.googleId && ! currentBrew.stubbed ? currentBrew.googleId + currentBrew.editId : currentBrew.editId; - - return ( - - edit - - ); - }; - - const titleEl = ( - - {currentBrew.title} - - ); return (
    - - - {disableMeta ? titleEl : {titleEl}} - - - - {currentBrew.shareId && ( - <> - - - - source - - - view - - {renderEditLink()} - - download - - - clone to new - - {navigator.clipboard.writeText(`${global.config.baseUrl}/share/${processShareId()}`);}}> - copy url - - {currentBrewRendererPageNum > 1 && - {navigator.clipboard.writeText(`${global.config.baseUrl}/share/${processShareId()}#p${currentBrewRendererPageNum}`);}}> - copy url (page {currentBrewRendererPageNum}) - } - - - )} - - - -
    { props = { username : '', @@ -42,20 +33,8 @@ const UserPage = (props)=>{ setError(null); }; - const navItems = ( - - - {error && ()} - - - - - - - ); - return ( - setError(err)} /> + setError(err)} /> ); }; diff --git a/client/homebrew/pages/vaultPage/vaultPage.jsx b/client/homebrew/pages/vaultPage/vaultPage.jsx index 682630b6f..5205e8116 100644 --- a/client/homebrew/pages/vaultPage/vaultPage.jsx +++ b/client/homebrew/pages/vaultPage/vaultPage.jsx @@ -3,13 +3,6 @@ import './vaultPage.less'; import React, { useState, useEffect, useRef } from 'react'; -import Nav from '@navbar/nav.jsx'; -import Navbar from '@navbar/navbar.jsx'; -import RecentNavItems from '@navbar/recent.navitem.jsx'; -const { both: RecentNavItem } = RecentNavItems; -import Account from '@navbar/account.navitem.jsx'; -import NewBrew from '@navbar/newbrew.navitem.jsx'; -import HelpNavItem from '@navbar/help.navitem.jsx'; import BrewItem from '../basePages/listPage/brewItem/brewItem.jsx'; import SplitPane from '@components/splitPane/splitPane.jsx'; import ErrorIndex from '../errorPage/errors/errorIndex.js'; @@ -116,22 +109,6 @@ const VaultPage = (props)=>{ loadTotal(title, author, v3, legacy); }; - const renderNavItems = ()=>( - - - - Vault: Search for brews - - - - - - - - - - ); - const validateForm = ()=>{ //form validity: title or author must be written, and at least one renderer set const isTitleValid = titleRef.current.validity.valid && titleRef.current.value; @@ -415,7 +392,6 @@ const VaultPage = (props)=>{
    - {renderNavItems()}
    {renderForm()}
    diff --git a/client/homebrew/utils/commonEditPageFunctions.jsx b/client/homebrew/utils/commonEditPageFunctions.jsx index 612c8094a..0fdca90fe 100644 --- a/client/homebrew/utils/commonEditPageFunctions.jsx +++ b/client/homebrew/utils/commonEditPageFunctions.jsx @@ -305,7 +305,7 @@ export default function useCommonEditPageFunctions(dependencies) {
    {(pageName == 'editPage') && } - {renderNavbar()} + {currentBrew.lock && }