reorder some stuff

This commit is contained in:
Víctor Losada Hernández
2026-10-12 21:40:08 +02:00
parent 62eb0ee86d
commit c11f8f0d9a
2 changed files with 27 additions and 57 deletions
+20 -57
View File
@@ -15,68 +15,41 @@ import Nav from './nav.jsx';
const Navbar = ({ children, brew, pageName, editor, title, currentPage, props })=>{
const isMac = navigator.platform.toUpperCase().includes('MAC');
const mod = isMac ? '⌘' : 'Ctrl';
const isBrew = !!brew && (brew.shareId || pageName === 'homePage' || pageName === 'newPage');
const account = global.account;
const navSlots = React.Children.toArray(children).reduce((slots, child)=>{
if(!React.isValidElement(child)) return slots;
const content = child.props.children;
//To create new items inside the dropdowns call them with Navbar.[DropdownName]
if(child.type === Navbar.File) slots.file = content;
else if(child.type === Navbar.Edit) slots.edit = content;
else if(child.type === Navbar.Go) slots.go = content;
else if(child.type === Navbar.Help) slots.help = content;
//create a new dropdown with Navbar.Menu
else if(child.type === Navbar.Menu) slots.menu = content;
return slots;
}, {});
const renderDownloadLink = ()=>{
if(!brew?.shareId) return <Nav.item disabled={!brew?.shareId}>Get txt</Nav.item>;
let shareLink = brew.shareId;
if(brew.googleId && !brew.stubbed) {
shareLink = brew.googleId + shareLink;
const renderFile = ()=>{
let shareLink = brew?.shareId;
if(brew?.googleId && !brew?.stubbed) {
shareLink = brew?.googleId + shareLink;
}
return (
<Nav.item icon='fas fa-download' href={`/download/${shareLink}`} disabled={!brew?.shareId}>
Get txt
</Nav.item>
);
};
const renderEditLink = ()=>{
const editLink = brew?.googleId && !brew?.stubbed ? brew?.googleId + brew?.editId : brew?.editId;
return (
<Nav.item href={`/edit/${editLink}`} disabled={!brew?.editId}>
edit this brew
</Nav.item>
);
};
const renderFile = ()=>{
return (
<Dropdown groupName={'File'} customTrigger={<>File</>} icon={null} key={'file'}>
<NewBrewNavItem />
<div className='nav-section'>
<PrintNavItem disabled={!isBrew} />
{renderDownloadLink()}
</div>
<div className='nav-section'>
<Nav.item icon={'fas fa-clone'} href={`/new/${brew?.shareId}`} disabled={!brew?.shareId}>
Clone File
</Nav.item>
{/*
<Nav.item className='beta' disabled={!isBrew}>
Delete File
</div>
<div className='nav-section'>
<PrintNavItem disabled={pageName !== 'newPage' && pageName !== 'editPage' && pageName !== 'editPage'} />
<Nav.item icon='fas fa-download' href={`/download/${shareLink}`} disabled={!brew?.shareId}>
Get txt
</Nav.item>
<Nav.item className='beta' disabled={!isBrew}>
Publish File
</Nav.item>
<Nav.item className='beta' disabled={!isBrew}>
Transfer File
</Nav.item>
*/}
</div>
{navSlots.file}
</Dropdown>
@@ -104,19 +77,6 @@ const Navbar = ({ children, brew, pageName, editor, title, currentPage, props })
</Nav.item>
</div>
{navSlots.edit}
{/*
<div className="nav-section">
<Nav.item onClick={()=>editor?.cut()} kbd={mod + ' + x'} disabled={!editor}>
cut
</Nav.item>
<Nav.item onClick={()=>editor?.copy()} kbd={mod + ' + c'} disabled={!editor}>
copy
</Nav.item>
<Nav.item onClick={()=>editor?.paste()} kbd={mod + ' + v'} disabled={!editor}>
paste
</Nav.item>
</div>
*/}
</Dropdown>
);
};
@@ -124,8 +84,6 @@ const Navbar = ({ children, brew, pageName, editor, title, currentPage, props })
const renderGo = ()=>{
return (
<Dropdown groupName={'Go'} customTrigger={<>Go</>} icon={null} key={'go'}>
{renderEditLink()}
<ShareNavItem brew={brew} disabled={!brew?.shareId} currentPage={currentPage} />
<div className='nav-section'>
<Nav.item className='patreon' newTab={true} href='https://www.patreon.com/NaturalCrit' icon='fas fa-heart'>
Patreon
@@ -137,6 +95,7 @@ const Navbar = ({ children, brew, pageName, editor, title, currentPage, props })
Changelog
</Nav.item>
</div>
<ShareNavItem brew={brew} disabled={!brew?.shareId} currentPage={currentPage} />
{navSlots.go}
<Dropdown className='navItem recent' groupName={'Recent Brews'} customTrigger={<>Recent Brews</>} icon={null} key={'recent'}>
<RecentNavItem />
@@ -145,6 +104,13 @@ const Navbar = ({ children, brew, pageName, editor, title, currentPage, props })
);
};
const renderHelp = ()=>{
<Dropdown groupName={'Help'} customTrigger={<>Help</>} icon={null} key={'help'}>
<HelpNavItem />
{navSlots.help}
</Dropdown>;
};
return (
<nav>
<ul>
@@ -154,10 +120,7 @@ const Navbar = ({ children, brew, pageName, editor, title, currentPage, props })
{renderFile()}
{renderEdit()}
{renderGo()}
<Dropdown groupName={'Help'} customTrigger={<>Help</>} icon={null} key={'help'}>
<HelpNavItem />
{navSlots.help}
</Dropdown>
{renderHelp()}
{navSlots.menu}
</ul>
{pageName !== 'sharePage' && <Nav.header className='brewTitle'>{title}</Nav.header>}
+7
View File
@@ -8,6 +8,10 @@ const getShareId = (brew)=>{
? brew.googleId + brew.shareId
: brew.shareId;
};
const getEditId = (brew)=>{
if(!brew) return null;
return brew.googleId && !brew.stubbed ? brew.googleId + brew.editId : brew.editId;
};
const getRedditLink = (brew)=>{
const text = dedent`
@@ -21,6 +25,9 @@ const getRedditLink = (brew)=>{
export default ({ brew, disabled, currentPage })=>{
return (
<div className='nav-section'>
<Nav.item href={`/edit/${getEditId(brew)}`} disabled={disabled || !brew?.editId}>
edit this brew
</Nav.item>
<Nav.item href={`/share/${getShareId(brew)}`} disabled={disabled}>
view share page
</Nav.item>