0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-07 05:32:41 +00:00

Merge branch 'master' into addFilteringToUserPage

This commit is contained in:
Trevor Buckner
2021-08-27 23:00:01 -04:00
committed by GitHub
30 changed files with 585 additions and 186 deletions

View File

@@ -48,7 +48,7 @@ const BrewItem = createClass({
if(!this.props.brew.editId) return;
return <a onClick={this.deleteBrew}>
<i className='fas fa-trash-alt' />
<i className='fas fa-trash-alt' title='Delete' />
</a>;
},
@@ -61,7 +61,7 @@ const BrewItem = createClass({
}
return <a href={`/edit/${editLink}`} target='_blank' rel='noopener noreferrer'>
<i className='fas fa-pencil-alt' />
<i className='fas fa-pencil-alt' title='Edit' />
</a>;
},
@@ -74,7 +74,7 @@ const BrewItem = createClass({
}
return <a href={`/share/${shareLink}`} target='_blank' rel='noopener noreferrer'>
<i className='fas fa-share-alt' />
<i className='fas fa-share-alt' title='Share' />
</a>;
},
@@ -87,7 +87,7 @@ const BrewItem = createClass({
}
return <a href={`/download/${shareLink}`}>
<i className='fas fa-download' />
<i className='fas fa-download' title='Download' />
</a>;
},
@@ -99,31 +99,33 @@ const BrewItem = createClass({
</span>;
},
getTooltipData : function(){
const dateFormatString = 'YYYY-MM-DD HH:mm:ss';
let outputString = `Created: ${this.props.brew.createdAt ? moment(this.props.brew.createdAt).local().format(dateFormatString) : 'UNKNOWN'}\n`;
outputString += `Last updated: ${this.props.brew.updatedAt ? moment(this.props.brew.updatedAt).local().format(dateFormatString) : 'UNKNOWN'}`;
return outputString;
},
render : function(){
const brew = this.props.brew;
return <div className='brewItem' title={this.getTooltipData()}>
<h2>{brew.title}</h2>
<p className='description'>{brew.description}</p>
<hr />
const dateFormatString = 'YYYY-MM-DD HH:mm:ss';
return <div className='brewItem'>
<div className='text'>
<h2>{brew.title}</h2>
<p className='description'>{brew.description}</p>
</div>
<hr />
<div className='info'>
<span>
<i className='fas fa-user' /> {brew.authors.join(', ')}
</span>
<span>
<i className='fas fa-eye' /> {brew.views}
<span title={`Last viewed: ${moment(brew.lastViewed).local().format(dateFormatString)}`}>
<i className='fas fa-eye'/> {brew.views}
</span>
{brew.pageCount &&
<span title={`Page count: ${brew.pageCount}`}>
<i className='far fa-file' /> {brew.pageCount}
</span>
}
<span>
<i className='fas fa-sync-alt' /> {moment(brew.updatedAt).fromNow()}
</span>
{this.renderGoogleDriveIcon()}
<br />
<span title={`Authors:\n${brew.authors.join('\n')}`}>
<i className='fas fa-user'/> {brew.authors.join(', ')}
</span>
</div>
<div className='links'>

View File

@@ -10,24 +10,28 @@
min-height : 105px;
margin-right : 15px;
margin-bottom : 15px;
padding : 5px 15px 5px 8px;
padding : 5px 15px 2px 8px;
padding-right : 15px;
border : 1px solid #c9ad6a;
border-radius : 5px;
-webkit-column-break-inside : avoid;
page-break-inside : avoid;
break-inside : avoid;
h4{
margin-bottom : 5px;
font-size : 2.2em;
.text {
min-height : 54px;
h4{
margin-bottom : 5px;
font-size : 2.2em;
}
}
.info{
position: absolute;
bottom: 0px;
position: initial;
bottom: 2px;
margin-bottom: 4px;
font-family : ScalySans;
font-size : 1.2em;
&>span{
display : float;
margin-right : 12px;
}
}

View File

@@ -45,7 +45,7 @@ const UserPage = createClass({
renderBrews : function(brews){
if(!brews || !brews.length) return <div className='noBrews'>No Brews.</div>;
const sortedBrews = this.sortBrews(brews, this.state.sortType);
const sortedBrews = this.sortBrews(brews);
return _.map(sortedBrews, (brew, idx)=>{
return <BrewItem brew={brew} key={idx}/>;
@@ -53,7 +53,7 @@ const UserPage = createClass({
},
sortBrewOrder : function(brew){
if(!brew.title){brew.title='No Title';};
if(!brew.title){brew.title = 'No Title';}
const mapping = {
'alpha' : _.deburr(brew.title.toLowerCase()),
'created' : moment(brew.createdAt).format(),