diff --git a/client/homebrew/editor/metadataEditor/metadataEditor.jsx b/client/homebrew/editor/metadataEditor/metadataEditor.jsx
index 29c193323..25b4daac8 100644
--- a/client/homebrew/editor/metadataEditor/metadataEditor.jsx
+++ b/client/homebrew/editor/metadataEditor/metadataEditor.jsx
@@ -231,21 +231,25 @@ const MetadataEditor = createClass({
value={this.props.metadata.title}
onChange={(e)=>this.handleFieldChange('title', e)} />
-
-
-
this.handleFieldChange('thumbnail', e)} />
-
+
+
+
+
+
+
+
+ this.handleFieldChange('thumbnail', e)} />
+
+
+
{this.renderThumbnail()}
diff --git a/client/homebrew/editor/metadataEditor/metadataEditor.less b/client/homebrew/editor/metadataEditor/metadataEditor.less
index 96bb4858a..9b2761306 100644
--- a/client/homebrew/editor/metadataEditor/metadataEditor.less
+++ b/client/homebrew/editor/metadataEditor/metadataEditor.less
@@ -7,23 +7,41 @@
width : 100%;
padding : 25px;
background-color : #999;
+ height : calc(100vh - 54px); // 54px is the height of the navbar + snippet bar. probably a better way to dynamic get this.
+ overflow-y : auto;
+
+ & > div {
+ margin-bottom: 10px;
+ }
+
+ .field-group {
+ display: flex;
+ width: 100%;
+ flex-wrap: wrap;
+ gap: 10px;
+ }
+
+ .field-column {
+ display: flex;
+ flex-direction: column;
+ flex: 5 0 200px;
+ gap: 10px;
+
+ }
.field{
display : flex;
width : 100%;
- margin-bottom : 10px;
+ min-width : 200px;
&>label{
- display : inline-block;
- vertical-align : top;
width : 80px;
font-size : 11px;
font-weight : 800;
line-height : 1.8em;
text-transform : uppercase;
- flex : 0 0 auto;
}
&>.value{
flex : 1 1 auto;
- min-width : 200px;
+ width : 50px;
}
&.thumbnail{
height : 1.4em;
@@ -43,22 +61,32 @@
background-color: #777;
}
}
- .thumbnail-preview{
- position : relative;
- width : 80px;
- height : min-content;
- border : 2px solid white;
- margin-left : 5px;
- max-height : 115px;
+ }
+
+ &.description {
+ flex: 1;
+ textarea.value {
+ resize : none;
+ height : auto;
+ font-family : 'Open Sans', sans-serif;
+ font-size : 0.8em;
}
}
}
- .description.field textarea.value{
- resize : none;
- height : 5em;
- font-family : 'Open Sans', sans-serif;
- font-size : 0.8em;
+
+
+ .thumbnail-preview {
+ position: relative;
+ justify-self: center;
+ width: 80px;
+ height: min-content;
+ flex: 1 1;
+ max-height: 115px;
+ aspect-ratio: 1 / 1;
+ object-fit: contain;
+ background-color: #AAA;
}
+
.systems.field .value{
label{
vertical-align : middle;
diff --git a/client/homebrew/homebrew.less b/client/homebrew/homebrew.less
index 8c8f116b5..f4834a25c 100644
--- a/client/homebrew/homebrew.less
+++ b/client/homebrew/homebrew.less
@@ -11,7 +11,10 @@
position : relative;
height : calc(~"100% - 29px"); //Navbar height
flex : auto;
+ overflow-y : hidden;
+ }
+ &.listPage .content {
overflow-y : scroll;
}
}
-}
+}
\ No newline at end of file
diff --git a/client/homebrew/navbar/navbar.less b/client/homebrew/navbar/navbar.less
index 39fbfaf5c..a29fff32a 100644
--- a/client/homebrew/navbar/navbar.less
+++ b/client/homebrew/navbar/navbar.less
@@ -78,6 +78,8 @@
width : 100%;
overflow : hidden auto;
max-height : ~"calc(100vh - 28px)";
+ scrollbar-color : #666 #333;
+ scrollbar-width : thin;
h4{
display : block;
box-sizing : border-box;
diff --git a/client/homebrew/pages/basePages/listPage/listPage.jsx b/client/homebrew/pages/basePages/listPage/listPage.jsx
index 0969b9f2a..162aba5e4 100644
--- a/client/homebrew/pages/basePages/listPage/listPage.jsx
+++ b/client/homebrew/pages/basePages/listPage/listPage.jsx
@@ -114,15 +114,17 @@ const ListPage = createClass({
},
renderSortOption : function(sortTitle, sortValue){
- return
-
- | ;
+ return
+
+ {this.state.sortType == sortValue &&
+
+ }
+
;
},
handleFilterTextChange : function(e){
@@ -150,7 +152,7 @@ const ListPage = createClass({
},
renderFilterOption : function(){
- return
+ return
- | ;
+
;
},
renderSortOptions : function(){
return
{this.props.navItems}
+ {this.renderSortOptions()}
- {this.renderSortOptions()}
{this.renderBrewCollection(this.state.brewCollection)}
diff --git a/client/homebrew/pages/basePages/listPage/listPage.less b/client/homebrew/pages/basePages/listPage/listPage.less
index d4efbe445..a88589265 100644
--- a/client/homebrew/pages/basePages/listPage/listPage.less
+++ b/client/homebrew/pages/basePages/listPage/listPage.less
@@ -13,7 +13,6 @@
}
.listPage{
.content{
- overflow-y : overlay;
.phb{
.noColumns();
height : auto;
@@ -32,68 +31,74 @@
}
.sort-container{
font-family : 'Open Sans', sans-serif;
- position : fixed;
- top : 35px;
- left : calc(50vw - 400px);
- border : 2px solid #58180D;
- width : 800px;
- background-color : #EEE5CE;
- padding : 2px;
+ position : sticky;
+ top : 0;
+ left : 0;
+ width : 100%;
+ height : 30px;
+ background-color : #555;
+ border-top : 1px solid #666;
+ border-bottom : 1px solid #666;
+ color : white;
text-align : center;
- z-index : 15;
+ z-index : 500;
+ display : flex;
+ justify-content : center;
+ align-items : baseline;
+ column-gap : 15px;
+ row-gap : 5px;
+ flex-wrap : wrap;
h6{
text-transform : uppercase;
font-family : 'Open Sans', sans-serif;
font-size : 11px;
font-weight : bold;
- color : #58180D;
}
- table{
- margin : 0px;
- vertical-align : middle;
- tbody tr{
- background-color: transparent !important;
- i{
- padding-right : 5px
- }
- button{
- background-color : transparent;
- color : #58180D;
- font-family : 'Open Sans', sans-serif;
- font-size : 11px;
- text-transform : uppercase;
- font-weight : normal;
- &.active{
- font-weight : bold;
- border : 2px solid #58180D;
- }
- &.sortDir{
- width : 75px;
- }
+ .sort-option {
+ display: flex;
+ align-items: center;
+ padding: 0 8px;
+ color: #ccc;
+ height: 100%;
+
+ &:hover{
+ background-color : #444;
+ }
+
+ &.active {
+ font-weight: bold;
+ color: #ddd;
+ background-color: #333;
+
+ button {
+ color: white;
+ font-weight: 800;
+ height: 100%;
+ & + .sortDir {
+ padding-left: 5px;
}
}
}
- }
- h1 {
- cursor: pointer;
- &.active {
- color: #58180D;
+
}
- &.inactive {
- color: #707070;
-
- }
- &.active::before, &.inactive::before {
- font-family: 'Font Awesome 5 Free';
- font-weight: 900;
- font-size: 0.6cm;
- padding-right: 0.5em;
- }
- &.active::before {
- content: '\f107';
- }
- &.inactive::before {
- content: '\f105';
+ .filter-option {
+ margin-left: 20px;
+ background-color : transparent !important;
+ font-size : 11px;
+ i{
+ padding-right : 5px;
+ }
}
+ button{
+ background-color : transparent;
+ font-family : 'Open Sans', sans-serif;
+ text-transform : uppercase;
+ font-weight : normal;
+ font-size : 11px;
+ color : #ccc;
+ padding : 0;
+ }
+
+
}
}
diff --git a/package-lock.json b/package-lock.json
index b2dc7cbab..4b27b1915 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -24,7 +24,7 @@
"express-async-handler": "^1.2.0",
"express-static-gzip": "2.1.7",
"fs-extra": "10.1.0",
- "googleapis": "107.0.0",
+ "googleapis": "108.0.0",
"js-yaml": "^4.1.0",
"jwt-simple": "^0.5.6",
"less": "^3.13.1",
@@ -6173,9 +6173,9 @@
}
},
"node_modules/googleapis": {
- "version": "107.0.0",
- "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-107.0.0.tgz",
- "integrity": "sha512-emMvsOEPvE9/DxrOVCMblQzKAhaar37c5JPAqYXoo+hxPpzFefkpN5ayIJFgatDpUWCSMvWtP3CcEWfFhFA7QA==",
+ "version": "108.0.0",
+ "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-108.0.0.tgz",
+ "integrity": "sha512-wQuBzCObtjpfg3CksOfUlX3yT8clw/vJFdGSfs9cpn84WSxNK3U5sxYxEH3mPM+d+SrA8znKM9G8sOuwQceGIA==",
"dependencies": {
"google-auth-library": "^8.0.2",
"googleapis-common": "^6.0.0"
@@ -17565,9 +17565,9 @@
}
},
"googleapis": {
- "version": "107.0.0",
- "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-107.0.0.tgz",
- "integrity": "sha512-emMvsOEPvE9/DxrOVCMblQzKAhaar37c5JPAqYXoo+hxPpzFefkpN5ayIJFgatDpUWCSMvWtP3CcEWfFhFA7QA==",
+ "version": "108.0.0",
+ "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-108.0.0.tgz",
+ "integrity": "sha512-wQuBzCObtjpfg3CksOfUlX3yT8clw/vJFdGSfs9cpn84WSxNK3U5sxYxEH3mPM+d+SrA8znKM9G8sOuwQceGIA==",
"requires": {
"google-auth-library": "^8.0.2",
"googleapis-common": "^6.0.0"
diff --git a/package.json b/package.json
index 94f329689..955b1e492 100644
--- a/package.json
+++ b/package.json
@@ -65,7 +65,7 @@
"express-async-handler": "^1.2.0",
"express-static-gzip": "2.1.7",
"fs-extra": "10.1.0",
- "googleapis": "107.0.0",
+ "googleapis": "108.0.0",
"js-yaml": "^4.1.0",
"jwt-simple": "^0.5.6",
"less": "^3.13.1",
diff --git a/server/googleActions.js b/server/googleActions.js
index 7b86a34c1..4ccf7a1dd 100644
--- a/server/googleActions.js
+++ b/server/googleActions.js
@@ -125,8 +125,7 @@ const GoogleActions = {
description : file.description,
views : parseInt(file.properties.views),
published : file.properties.published ? file.properties.published == 'true' : false,
- systems : [],
- thumbnail : file.properties.thumbnail
+ systems : []
};
});
return brews;
@@ -146,8 +145,7 @@ const GoogleActions = {
editId : brew.editId || nanoid(12),
pageCount : brew.pageCount,
renderer : brew.renderer || 'legacy',
- isStubbed : true,
- thumbnail : brew.thumbnail
+ isStubbed : true
}
},
media : {
@@ -185,8 +183,7 @@ const GoogleActions = {
pageCount : brew.pageCount,
renderer : brew.renderer || 'legacy',
isStubbed : true,
- version : 1,
- thumbnail : brew.thumbnail || ''
+ version : 1
}
};
@@ -265,7 +262,6 @@ const GoogleActions = {
views : parseInt(obj.data.properties.views) || 0, //brews with no view parameter will return undefined
version : parseInt(obj.data.properties.version) || 0,
renderer : obj.data.properties.renderer ? obj.data.properties.renderer : 'legacy',
- thumbnail : obj.data.properties.thumbnail || '',
googleId : id
};
diff --git a/server/homebrew.api.js b/server/homebrew.api.js
index 8210fbb65..293e8f873 100644
--- a/server/homebrew.api.js
+++ b/server/homebrew.api.js
@@ -108,7 +108,7 @@ const excludePropsFromUpdate = (brew)=>{
const excludeGoogleProps = (brew)=>{
const modified = _.clone(brew);
- const propsToExclude = ['tags', 'systems', 'published', 'authors', 'owner', 'views'];
+ const propsToExclude = ['tags', 'systems', 'published', 'authors', 'owner', 'views', 'thumbnail'];
for (const prop of propsToExclude) {
delete modified[prop];
}
diff --git a/shared/naturalcrit/splitPane/splitPane.jsx b/shared/naturalcrit/splitPane/splitPane.jsx
index f7ad4bed4..38f84b220 100644
--- a/shared/naturalcrit/splitPane/splitPane.jsx
+++ b/shared/naturalcrit/splitPane/splitPane.jsx
@@ -69,7 +69,8 @@ const SplitPane = createClass({
this.setState({ isDragging: false });
},
- handleDown : function(){
+ handleDown : function(e){
+ e.preventDefault();
this.setState({ isDragging: true });
//this.unFocus()
},
diff --git a/themes/V3/5ePHB/style.less b/themes/V3/5ePHB/style.less
index 98b52788f..c1fa09b7b 100644
--- a/themes/V3/5ePHB/style.less
+++ b/themes/V3/5ePHB/style.less
@@ -8,7 +8,7 @@
--HB_Color_HeaderUnderline : #C0AD6A; // Gold
--HB_Color_HorizontalRule : #9C2B1B; // Maroon
--HB_Color_HeaderText : #58180D; // Dark Maroon
- --HB_Color_MonsterStatBackground : #EEDBAB; // Light orange parchment
+ --HB_Color_MonsterStatBackground : #F2E5B5; // Light orange parchment
--HB_Color_CaptionText : #766649; // Brown
--HB_Color_WatercolorStain : #BBAD82; // Light brown
--HB_Color_Footnotes : #C9AD6A; // Gold