mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-11-09 06:38:45 +00:00
lint pages
This commit is contained in:
@@ -17,7 +17,6 @@ import Nav from '@navbar/nav.jsx';
|
||||
import Navbar from '@navbar/navbar.jsx';
|
||||
import ErrorNavItem from '@navbar/error-navitem.jsx';
|
||||
import googleDriveIcon from '../../../googleDrive.svg';
|
||||
import {Dropdown} from '../../../../components/dropdown/dropdown.jsx';
|
||||
|
||||
const AUTOSAVE_KEY = 'HB_editor_autoSaveOn';
|
||||
const BREWKEY = 'HB_newPage_content';
|
||||
@@ -309,50 +308,51 @@ const EditorPage = (props)=>{
|
||||
const renderGoogleDriveIcon = ()=>{
|
||||
const errorExists = alertNoGoogleToTransfer || alertOwnershipToTransfer || alertTrashedGoogleBrew || confirmGoogleTransfer;
|
||||
return (<>
|
||||
<Nav.header>This brew is in {saveGoogle ? 'Google Drive' : 'The Homebrewery'}</Nav.header>
|
||||
<Nav.item className='googleDriveStorage' noDismiss='true' onClick={handleGoogleClick}>
|
||||
{saveGoogle ? 'Transfer to Homebrewery' : 'Transfer to Drive'}
|
||||
{saveGoogle? '' : <img src={googleDriveIcon} alt='Google Drive icon' /> }
|
||||
</Nav.item>
|
||||
{errorExists && <Nav.item className='errorContainer' >
|
||||
{alertOwnershipToTransfer && (
|
||||
<>
|
||||
<Nav.header>This brew is in {saveGoogle ? 'Google Drive' : 'The Homebrewery'}</Nav.header>
|
||||
<Nav.item className='googleDriveStorage' noDismiss='true' onClick={handleGoogleClick}>
|
||||
{saveGoogle ? 'Transfer to Homebrewery' : 'Transfer to Drive'}
|
||||
{saveGoogle? '' : <img src={googleDriveIcon} alt='Google Drive icon' /> }
|
||||
</Nav.item>
|
||||
{errorExists && <Nav.item className='errorContainer' >
|
||||
{alertOwnershipToTransfer && (
|
||||
<>
|
||||
You must be the Owner to transfer between the Homebrewery and Google Drive!
|
||||
The owner of this file is {currentBrew.authors[0]}.
|
||||
<div className='confirm' onClick={closeAlerts}> Okay </div>
|
||||
</>
|
||||
)}
|
||||
<div className='confirm' onClick={closeAlerts}> Okay </div>
|
||||
</>
|
||||
)}
|
||||
|
||||
{alertNoGoogleToTransfer && (
|
||||
<>
|
||||
{alertNoGoogleToTransfer && (
|
||||
<>
|
||||
You must be signed in to a Google account to transfer between the Homebrewery and Google Drive!
|
||||
<a target='_blank' rel='noopener noreferrer' href={`https://www.naturalcrit.com/login?redirect=${window.location.href}`}>
|
||||
<div className='confirm' onClick={closeAlerts}> Sign In </div>
|
||||
</a>
|
||||
<div className='deny' onClick={closeAlerts}> Not Now </div>
|
||||
</>
|
||||
)}
|
||||
<a target='_blank' rel='noopener noreferrer' href={`https://www.naturalcrit.com/login?redirect=${window.location.href}`}>
|
||||
<div className='confirm' onClick={closeAlerts}> Sign In </div>
|
||||
</a>
|
||||
<div className='deny' onClick={closeAlerts}> Not Now </div>
|
||||
</>
|
||||
)}
|
||||
|
||||
{alertTrashedGoogleBrew && (
|
||||
<>
|
||||
{alertTrashedGoogleBrew && (
|
||||
<>
|
||||
This brew is currently in your Trash folder on Google Drive!<br />
|
||||
If you want to keep it, make sure to move it before it is deleted permanently!<br />
|
||||
<div className='confirm' onClick={toggleGoogleStorage}> Save my brew </div>
|
||||
</>
|
||||
)}
|
||||
<div className='confirm' onClick={toggleGoogleStorage}> Save my brew </div>
|
||||
</>
|
||||
)}
|
||||
|
||||
{confirmGoogleTransfer && (
|
||||
<>
|
||||
{saveGoogle
|
||||
? 'Would you like to transfer this brew from your Google Drive storage back to the Homebrewery?'
|
||||
: 'Would you like to transfer this brew from the Homebrewery to your personal Google Drive storage?'}
|
||||
<div className='confirm' onClick={toggleGoogleStorage}> Yes </div>
|
||||
<div className='deny' onClick={closeAlerts}> No </div>
|
||||
</>
|
||||
)}
|
||||
</Nav.item>}
|
||||
{confirmGoogleTransfer && (
|
||||
<>
|
||||
{saveGoogle
|
||||
? 'Would you like to transfer this brew from your Google Drive storage back to the Homebrewery?'
|
||||
: 'Would you like to transfer this brew from the Homebrewery to your personal Google Drive storage?'}
|
||||
<div className='confirm' onClick={toggleGoogleStorage}> Yes </div>
|
||||
<div className='deny' onClick={closeAlerts}> No </div>
|
||||
</>
|
||||
)}
|
||||
</Nav.item>}
|
||||
</>
|
||||
)};
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
const renderAutoSaveButton = ()=>(
|
||||
@@ -385,7 +385,7 @@ const EditorPage = (props)=>{
|
||||
save now
|
||||
</Nav.item>
|
||||
{(pageName == 'editPage') && renderAutoSaveButton()}
|
||||
{pageName === 'editPage' && <div className="nav-section">
|
||||
{pageName === 'editPage' && <div className='nav-section'>
|
||||
{renderGoogleDriveIcon()}
|
||||
</div>}
|
||||
</Navbar.File>
|
||||
|
||||
@@ -120,7 +120,7 @@ const BrewItem = ({
|
||||
const dateFormatString = 'YYYY-MM-DD HH:mm:ss';
|
||||
|
||||
return (
|
||||
<div className={`brewItem${detailsOpen ? ' detailsOpen' : ''}`} onClick={() => setDetailsOpen(!detailsOpen)} >
|
||||
<div className={`brewItem${detailsOpen ? ' detailsOpen' : ''}`} onClick={()=>setDetailsOpen(!detailsOpen)} >
|
||||
{brew.thumbnail && <div className='thumbnail' style={{ backgroundImage: `url(${brew.thumbnail})` }}></div>}
|
||||
<div className='text'>
|
||||
<h2 title={brew.title}>{brew.title}</h2>
|
||||
|
||||
@@ -188,7 +188,7 @@ const ListPage = ({ brewCollection = [{ title: '', class: '', brews: [] }], page
|
||||
if(filterTags?.length == 0) return;
|
||||
return (
|
||||
<div className='tags-container'>
|
||||
Tags:
|
||||
Tags:
|
||||
{_.map(filterTags, (tag, idx)=>{
|
||||
const matches = tag.match(/^(?:([^:]+):)?([^:]+)$/);
|
||||
return (
|
||||
@@ -199,7 +199,7 @@ const ListPage = ({ brewCollection = [{ title: '', class: '', brews: [] }], page
|
||||
updateUrl(filterString, sortType, sortDir, tag);
|
||||
}}>
|
||||
{matches[2]}
|
||||
</span>
|
||||
</span>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
@@ -299,8 +299,8 @@ const ListPage = ({ brewCollection = [{ title: '', class: '', brews: [] }], page
|
||||
<div className='radio-toggle layout-container'>
|
||||
<h6>View:</h6>
|
||||
<label className='option' title='grid'>
|
||||
<input name='layout-mode' type='radio' onChange={(e)=>handleLayoutChange(e, 'grid')} checked={layoutMode === 'grid'} />
|
||||
<i className='fac compressed-grid'></i>
|
||||
<input name='layout-mode' type='radio' onChange={(e)=>handleLayoutChange(e, 'grid')} checked={layoutMode === 'grid'} />
|
||||
<i className='fac compressed-grid'></i>
|
||||
</label>
|
||||
<label className='option' title='list'>
|
||||
<input name='layout-mode' type='radio' onChange={(e)=>handleLayoutChange(e, 'list')} checked={layoutMode === 'list'} />
|
||||
@@ -321,24 +321,24 @@ const ListPage = ({ brewCollection = [{ title: '', class: '', brews: [] }], page
|
||||
};
|
||||
const renderThemePicker = ()=>{
|
||||
return (
|
||||
<div className="radio-toggle theme-container">
|
||||
<div className='radio-toggle theme-container'>
|
||||
<h6>Theme:</h6>
|
||||
<label className="option">
|
||||
<input type="radio" name="theme" onChange={(e)=>handleThemeChange(e, 'light')} checked={themeMode === 'light'}/>
|
||||
<i className="fas fa-sun"/>
|
||||
<label className='option'>
|
||||
<input type='radio' name='theme' onChange={(e)=>handleThemeChange(e, 'light')} checked={themeMode === 'light'}/>
|
||||
<i className='fas fa-sun'/>
|
||||
</label>
|
||||
<label className="option">
|
||||
<input type="radio" name="theme" onChange={(e)=>handleThemeChange(e, 'dark')} checked={themeMode === 'dark'}/>
|
||||
<i className="fas fa-moon"/>
|
||||
<label className='option'>
|
||||
<input type='radio' name='theme' onChange={(e)=>handleThemeChange(e, 'dark')} checked={themeMode === 'dark'}/>
|
||||
<i className='fas fa-moon'/>
|
||||
</label>
|
||||
</div>
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
const renderNav = () =>{
|
||||
const renderNav = ()=>{
|
||||
|
||||
return (
|
||||
<div className="listPageNav">
|
||||
<div className='listPageNav'>
|
||||
{renderLayoutModeOptions()}
|
||||
{renderThemePicker()}
|
||||
{renderSortOptions()}
|
||||
@@ -346,8 +346,8 @@ const ListPage = ({ brewCollection = [{ title: '', class: '', brews: [] }], page
|
||||
{renderTagsOptions()}
|
||||
</div>
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
return (
|
||||
<div className='sitePage listPage'>
|
||||
@@ -355,7 +355,7 @@ const ListPage = ({ brewCollection = [{ title: '', class: '', brews: [] }], page
|
||||
|
||||
{renderNav()}
|
||||
|
||||
<div className={`content V3 ${themeMode + 'Mode'}`}>
|
||||
<div className={`content V3 ${`${themeMode}Mode`}`}>
|
||||
<div className='brewCollection'>{renderBrewCollection(brewCollection)}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -63,7 +63,7 @@ const SharePage = (props)=>{
|
||||
document.removeEventListener('keydown', handleControlKeys);
|
||||
};
|
||||
}, []);
|
||||
console.log('brew: ',currentBrew);
|
||||
console.log('brew: ', currentBrew);
|
||||
return (
|
||||
<div className='sharePage sitePage'>
|
||||
<Meta name='robots' content='noindex, nofollow' />
|
||||
|
||||
Reference in New Issue
Block a user