refs #3971 Catalog: Style fixes, ordering fix, mobile style fix, refactor
gitea/hedera-web/pipeline/head This commit looks good Details

This commit is contained in:
Juan Ferrer 2022-11-18 21:10:41 +01:00
parent faa04966c7
commit 8ec59e969b
13 changed files with 409 additions and 351 deletions

2
debian/changelog vendored
View File

@ -1,4 +1,4 @@
hedera-web (22.46.7) stable; urgency=low hedera-web (22.46.8) stable; urgency=low
* Initial Release. * Initial Release.

View File

@ -1,6 +1,14 @@
@import "../../../js/htk/style/classes";
.catalog { .catalog {
margin-right: 18em; margin-right: 18em;
} }
.catalog-actions {
.htk-search-entry {
margin-right: 4px;
}
}
.title ._subtitle { .title ._subtitle {
font-size: .7rem; font-size: .7rem;
color: #bbb; color: #bbb;
@ -19,80 +27,82 @@
width: 18em; width: 18em;
overflow: auto; overflow: auto;
background-color: #fafafa; background-color: #fafafa;
}
.right-panel .basket-info { .basket-info {
background-color: #8cc63f; background-color: #8cc63f;
color: white; color: white;
padding: 1.2em 2em; padding: 17px 28px;
border-radius: .5em; border-radius: .5em;
margin: 1em; margin: 14px;
text-align: center; text-align: center;
}
.right-panel .basket-info > button { & > button {
color: white; color: white;
background-color: rgba(0, 0, 0, .1); background-color: rgba(0, 0, 0, .1);
margin: 0 auto; margin: 0 auto;
display: block; display: block;
margin-top: 10px; margin-top: 10px;
padding: 10px 15px; padding: 10px 15px;
} }
.right-panel .basket-info > button:hover { & > button:hover {
background-color: white; background-color: white;
color: #60872c; color: #60872c;
} }
.right-panel .basket-info > p { & > p {
margin: 0; margin: 0;
padding: .4em 0; padding: .4em 0;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
} }
.right-panel .filter { }
margin: 1em; .filter {
} margin: 14px;
.right-panel .categories, }
.right-panel .filters, .categories,
.right-panel .order { .filters,
margin: 1.5em 0; .order {
} margin: 20px 0;
.right-panel .filters, }
.right-panel .order { .filters,
display: none; .order {
} display: none;
.right-panel .realm-msg { }
margin-top: 1em; .realm-msg {
} margin-top: 14px;
.right-panel .realm-msg > h5 { }
font-weight: normal; .realm-msg > h5 {
text-align: center; font-weight: normal;
padding: 2.5em 0; text-align: center;
color: #777; padding: 34px 0;
} color: #777;
.right-panel h2 { }
font-weight: normal; h2 {
color: #777; font-weight: normal;
font-size: 1.1rem; color: #777;
} font-size: 1.1rem;
.right-panel .realms > div > div { }
text-align: center; .realms > div > div {
} text-align: center;
.right-panel .realms a { }
display: inline-block; .realms a {
width: 25%; display: inline-block;
padding: .6em; width: 25%;
box-sizing: border-box; padding: .6em;
border-radius: 50%; box-sizing: border-box;
} border-radius: 50%;
.right-panel .realms a:hover { }
background-color: rgba(1, 1, 1, .05); .realms a:hover {
} background-color: rgba(1, 1, 1, .05);
.right-panel .realms a > img { }
display: block; .realms a > img {
padding: 0; display: block;
width: 100%; padding: 0;
} width: 100%;
.right-panel .filters > button { }
margin-top: 1em; .filters > button {
margin-top: 1em;
}
} }
/* Items */ /* Items */
@ -100,143 +110,170 @@
.item-box { .item-box {
display: flex; display: flex;
box-sizing: border-box; box-sizing: border-box;
& > .htk-image {
flex: none;
}
& > .item-info {
flex: auto;
position: relative;
.second-category {
font-weight: bold;
color: orange;
}
.third-category {
font-weight: bold;
color: red;
}
& > h2 {
text-overflow: ellipsis;
overflow: hidden;
}
.item-id {
float: right;
}
& > .available-price {
position: absolute;
bottom: 0;
right: 0;
white-space: nowrap;
font-size: .95em;
text-align: right;
align-items: middle;
column-gap: .2em;
display: flex;
& > * {
border-radius: .2em;
padding: .1em .3em;
border: .1em transparent solid;
box-sizing: border-box;
}
}
.grouping {
width: 38px;
background-color: #ddd;
}
.available {
width: 65px;
border-color: #bbb;
color: #777;
}
.price {
width: 75px;
border-color: #9cbc28;
color: #748c1e;
}
}
} }
.item-box > .htk-image {
flex: none; .item-info {
& > h2 {
font-weight: normal;
font-size: 1rem;
margin-bottom: .15em;
}
& > .sub-name {
margin: 0;
padding: 0;
color: #777;
font-size: .9rem;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
text-transform: uppercase;
margin-bottom: .2em;
}
.item-id {
font-size: .9rem;
color: #777;
}
& > p {
margin: 0;
margin-bottom: .2em;
}
} }
.item-box > .item-info {
flex: auto; /* Tags */
position: relative;
.grid-view,
.list-view,
.item-card {
.item-tags {
font-size: .8em;
display: table;
color: #333;
margin: 0;
width: auto;
border-collapse: collapse;
td:first-child {
color: #999;
padding-right: .5em;
}
}
} }
.item-info .second-category { .grid-view,
font-weight: bold; .item-card {
color: orange; .item-tags {
} td {
.item-info .third-category { overflow: hidden;
font-weight: bold; white-space: nowrap;
color: red; text-overflow: ellipsis;
} line-height: 14px;
.item-info > h2 { }
padding: 0; td:first-child {
margin-bottom: .15em; max-width: 90px;
font-weight: normal; width: 90px;
font-size: 1rem; }
text-overflow: ellipsis; td:last-child {
overflow: hidden; max-width: 120px;
max-height: 3em; width: 120px;
} }
.item-info > p { }
margin: 0;
padding: 0;
color: #777;
font-size: .8em;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.item-info .sub-name {
text-transform: uppercase;
padding: 0;
margin-bottom: .2em;
font-size: .9em;
}
.item-info > .htk-button {
margin: -0.3em;
padding: .3em;
}
.item-info > .htk-button > img {
vertical-align: middle;
}
.item-info .item-id {
float: right;
font-size: .8rem;
line-height: 1.8em;
color: #777;
}
.item-info .available-price {
position: absolute;
bottom: 0;
right: 0;
white-space: nowrap;
font-size: .95em;
text-align: right;
align-items: middle;
column-gap: .2em;
display: flex;
}
.item-info .available-price > * {
border-radius: .2em;
padding: .1em .3em;
border: .1em transparent solid;
box-sizing: border-box;
}
.item-info .grouping {
width: 38px;
background-color: #ddd;
}
.item-info .available {
width: 65px;
border-color: #bbb;
color: #777;
}
.item-info .price {
width: 75px;
border-color: #9cbc28;
color: #748c1e;
}
.tags {
font-size: .8em;
display: table;
color: #333;
margin: 0;
width: auto;
border-collapse: collapse;
}
.tags td:first-child {
color: #999;
padding-right: .5em;
} }
/* Grid view */ /* Grid view */
.grid-view > * { .grid-view {
display: flex; & > * {
gap: 16px; display: flex;
flex-wrap: wrap; gap: 16px;
justify-content: center; flex-wrap: wrap;
} justify-content: center;
.grid-view .item-box { }
border-radius: .6em; .item-box {
box-shadow: .05em .05em .2em rgba(0, 0, 0, .1); border-radius: .6em;
overflow: hidden; box-shadow: .05em .05em .2em rgba(0, 0, 0, .1);
background-color: white; overflow: hidden;
background-color: white;
flex-direction: column;
width: 260px;
overflow: hidden;
flex-direction: column; &:hover {
width: 260px; background-color: #efefef;
overflow: hidden; }
} & > .htk-image {
.grid-view .item-box:hover { width: 100%;
background-color: #efefef; min-height: 260px;
} }
.grid-view .item-info { & > .item-info {
margin: 10px; flex: auto;
height: 142px; overflow: hidden;
} margin: 10px;
.grid-view .item-box > .htk-image { height: 158px;
width: 100%;
min-height: 260px; & > h2 {
} max-height: 48px;
.grid-view .item-box > .item-info { }
flex: auto; & > .item-tags {
overflow: hidden; position: absolute;
} top: 74px;
.grid-view .item-info .tags td { }
overflow: hidden; }
white-space: nowrap; }
text-overflow: ellipsis;
max-width: 6em;
width: 6em;
line-height: 1.1em;
} }
/* List view */ /* List view */
@ -246,54 +283,57 @@
box-shadow: .05em .05em .2em rgba(0, 0, 0, .1); box-shadow: .05em .05em .2em rgba(0, 0, 0, .1);
overflow: hidden; overflow: hidden;
background-color: white; background-color: white;
max-width: 544px; max-width: 544px;
margin: 0 auto; margin: 0 auto;
}
.list-view .item-box { .item-box {
gap: 10px; gap: 10px;
margin: 0; margin: 0;
padding: 10px; padding: 10px;
height: 130px; height: 130px;
overflow: visible; overflow: visible;
border-bottom: 1px solid #DDD; border-bottom: 1px solid #DDD;
}
.list-view .item-box:last-child { &:last-child {
border-bottom: none; border-bottom: none;
} }
.list-view .item-box > .htk-image { & > .htk-image {
width: 110px; width: 110px;
height: 110px; height: 110px;
border-radius: 50%; border-radius: 50%;
} }
.list-view .item-info { & > .item-info {
overflow: hidden; overflow: hidden;
}
.list-view .item-info > h2 { & > h2 {
font-size: 1rem; white-space: nowrap;
white-space: nowrap; }
} & > .color {
.list-view .item-info > .color { display: none;
display: none; }
} & > .htk-button {
.list-view .item-info > .htk-button { float: right;
float: right; }
} & > .item-tags {
.list-view .item-info .tags { display: block;
display: block; text-overflow: ellipsis;
text-overflow: ellipsis; white-space: nowrap;
white-space: nowrap; overflow: hidden;
overflow: hidden;
} & > tr {
.list-view .item-info .tags > tr { display: inline-block;
display: inline-block; }
} td {
.list-view .item-info .tags td { display: inline-block;
display: inline-block; padding-right: .5em;
padding-right: .5em;
} &:first-child {
.list-view .item-info .tags td:first-child { display: none;
display: none; }
}
}
}
}
} }
/* Card */ /* Card */
@ -302,63 +342,69 @@
overflow: auto; overflow: auto;
} }
.item-card { .item-card {
font-size: .9em; font-size: .9rem;
width: 20em; width: 20em;
}
.item-card .top { & > .top {
padding: 1em; padding: 1em;
}
.item-card .item-info { & > .item-info {
margin-left: 9em; margin-left: 9em;
height: 8em; height: 8em;
} }
.item-card .htk-image { & > .htk-image {
height: 8em; height: 8em;
width: 8em; width: 8em;
float: left; float: left;
border-radius: .3em; border-radius: .3em;
} }
.item-card .desc { & > .desc {
clear: both; clear: both;
margin-top: 1em 0; margin-top: 15px 0;
font-size: .9em; font-size: .9rem;
} }
.item-card .lots-grid { }
border-top: 1px solid #DDD; & > .lots-grid {
} border-top: 1px solid #DDD;
.item-card .lots-grid tr {
height: 3em; tr {
} height: 45px;
.item-card .lots-grid .cell-spin { }
max-width: initial; .cell-spin {
width: 3em; max-width: initial;
} width: 42px;
.item-card .lots-grid .price-kg { }
font-size: .8em; .price-kg {
color: #999; font-size: .8rem;
width: 1px; color: #999;
} width: 1px;
.item-card .lots-grid .cell-text { }
max-width: initial; .cell-text {
width: auto; max-width: initial;
} width: auto;
.item-card .lots-grid .cell-button { }
max-width: initial; .cell-button {
width: 1em; max-width: initial;
} width: 14px;
.item-card .footer { }
display: flex; }
align-items: center; & > .footer {
justify-content: space-between; display: flex;
background-color: #1a1a1a; align-items: center;
color: white; justify-content: space-between;
padding: 10px; background-color: #1a1a1a;
} color: white;
.item-card .footer > button:hover { padding: 10px;
background-color: rgba(255, 255, 255, .1);
} & > button {
.item-card .footer > button > .htk-icon { &:hover {
display: block; background-color: rgba(255, 255, 255, .1);
}
& > .htk-icon {
display: block;
}
}
}
} }
/* Mobile */ /* Mobile */
@ -370,7 +416,7 @@
display: block; display: block;
} }
@media (max-width: 960px) { @include mobile {
.catalog-actions > button.menu { .catalog-actions > button.menu {
display: block; display: block;
} }
@ -393,8 +439,9 @@
.grid-view .item-box { .grid-view .item-box {
width: 100%; width: 100%;
max-width: 450px; max-width: 450px;
}
.grid-view .item-box > .htk-image { & > .htk-image {
min-height: initial; min-height: initial;
}
} }
} }

View File

@ -160,15 +160,15 @@
title="_Zoom image"/> title="_Zoom image"/>
<div class="item-info"> <div class="item-info">
<h2> <h2>
<span class="item-id">
#{{item.id}}
</span>
{{item.item}} {{item.item}}
</h2> </h2>
<p class="sub-name"> <p class="sub-name">
<span class="item-id">
#{{item.id}}
</span>
{{item.subName}} {{item.subName}}
</p> </p>
<table class="tags"> <table class="item-tags">
<tr> <tr>
<td>{{item.tag5}}</td> <td>{{item.tag5}}</td>
<td>{{item.value5}}</td> <td>{{item.value5}}</td>
@ -429,12 +429,12 @@
editable="true"/> editable="true"/>
<div class="item-info"> <div class="item-info">
<h2>{{card.item}}</h2> <h2>{{card.item}}</h2>
<p class="sub-name">{{card.subname}}</p> <p class="sub-name">{{card.subName}}</p>
<p>#{{card.id}}</p> <p class="item-id">#{{card.id}}</p>
<p>{{Vn.Value.format(card.stems, _('%.0d Units'))}}</p> <p>{{Vn.Value.format(card.stems, _('%.0d Units'))}}</p>
</div> </div>
<p class="desc">{{extendedCard.description}}</p> <p class="desc">{{extendedCard.description}}</p>
<htk-repeater show-status="false" form-id="tag" class="tags"> <htk-repeater show-status="false" form-id="tag" class="item-tags">
<db-model <db-model
property="model" property="model"
lot="card-lot" lot="card-lot"

View File

@ -201,7 +201,7 @@ Model.implement({
,_requestedSortIndex: -1 ,_requestedSortIndex: -1
,_requestedSortName: null ,_requestedSortName: null
,_sortColumn: -1 ,_sortColumn: null
,_sortWay: null ,_sortWay: null
,_requestedIndexes: {} ,_requestedIndexes: {}
@ -357,15 +357,15 @@ Model.implement({
for (column in this._requestedIndexes) for (column in this._requestedIndexes)
this._buildIndex(column); this._buildIndex(column);
var sortColumn = -1; var sortColumn = null;
if (this._requestedSortName) if (this._requestedSortName)
sortColumn = this.getColumnIndex(this._requestedSortName); sortColumn = this._requestedSortName;
else if (this._requestedSortIndex !== -1 else if (this._requestedSortIndex !== -1
&& this.checkColExists(this._requestedSortIndex)) && this.checkColExists(this._requestedSortIndex))
sortColumn = this._requestedSortIndex; sortColumn = this.getColumnName(this._requestedSortIndex);
if (sortColumn !== -1) if (sortColumn !== null)
this._realSort(sortColumn, this._sortWay); this._realSort(sortColumn, this._sortWay);
this._setStatus(Status.READY); this._setStatus(Status.READY);
@ -388,7 +388,7 @@ Model.implement({
this.tables = null; this.tables = null;
this.columns = null; this.columns = null;
this.columnMap = null; this.columnMap = null;
this._sortColumn = -1; this._sortColumn = null;
this._indexes = []; this._indexes = [];
this._resetOperations(); this._resetOperations();
} }

View File

@ -301,7 +301,7 @@ $navbar-height: 64px;
/* Mobile */ /* Mobile */
@media (max-width: 960px) { @include mobile {
& > .navbar { & > .navbar {
padding-left: 12px; padding-left: 12px;
left: 0; left: 0;

View File

@ -41,7 +41,7 @@ module.exports = new Class({
var node = this.createRoot('div'); var node = this.createRoot('div');
var previousButton = new Htk.Button({ var previousButton = new Htk.Button({
icon: 'arrow_back_ios', icon: 'arrow_back',
tip: 'Previous' tip: 'Previous'
}).node; }).node;
previousButton.classList.add('previous'); previousButton.classList.add('previous');
@ -53,7 +53,7 @@ module.exports = new Class({
node.appendChild(steps); node.appendChild(steps);
var nextButton = new Htk.Button({ var nextButton = new Htk.Button({
icon: 'arrow_forward_ios', icon: 'arrow_forward',
tip: 'Next' tip: 'Next'
}).node; }).node;
nextButton.classList.add('next'); nextButton.classList.add('next');

View File

@ -8,12 +8,12 @@ td.cell-button {
& > a { & > a {
@extend %clickable; @extend %clickable;
display: block; display: block;
height: 44px; height: 40px;
width: 44px; width: 40px;
margin: 0 auto; margin: 0 auto;
border: none; border: none;
border-radius: 50%; border-radius: 50%;
padding: 10px; padding: 8px;
background-color: transparent; background-color: transparent;
box-sizing: border-box; box-sizing: border-box;

View File

@ -56,7 +56,7 @@
/* Mobile */ /* Mobile */
@media (max-width: 960px) { @include mobile {
.item > .actions { .item > .actions {
display: initial; display: initial;
} }

View File

@ -1,4 +1,5 @@
@import "../style/variables"; @import "../style/variables";
@import "../style/classes";
.htk-combo { .htk-combo {
display: flex; display: flex;
@ -17,14 +18,21 @@
color: #666; color: #666;
&.erase { &.erase {
display: none display: none;
} }
} }
&:not(.filled) > span { &:not(.filled) > span {
color: #666; color: #666;
} }
&.filled:hover > .htk-icon.erase { &.filled {
display: block; &:hover > .erase {
display: block;
}
@include mobile {
& > .erase {
display: initial;
}
}
} }
} }
.htk-select-menu { .htk-select-menu {

View File

@ -18,3 +18,9 @@
outline: none; outline: none;
} }
} }
@mixin mobile {
@media screen and (max-width: 960px) {
@content;
}
}

View File

@ -1,19 +1,16 @@
// Standard
/* Responsive */
/* Standard */
body { font-size: 14px; } body { font-size: 14px; }
/* smartphone, portrait */ // Smartphone, portrait
@media (min-width:320px) { body { font-size: 13px; } } @media screen and (min-width:320px) { body { font-size: 13px; } }
/* smartphone, landscape */ // Smartphone, landscape
@media (min-width:480px) { body { font-size: 13px; } } @media screen and (min-width:480px) { body { font-size: 13px; } }
/* tablet, portrait */ // Tablet, portrait
@media (min-width:600px) { body { font-size: 13px; } } @media screen and (min-width:600px) { body { font-size: 13px; } }
/* tablet, landscape */ // Tablet, landscape
@media (min-width:801px) { body { font-size: 13px; } } @media screen and (min-width:801px) { body { font-size: 13px; } }
/* big landscape tablets, laptop and desktop */ // Big screen and landscape tablets, laptop and desktop
@media (min-width:1025px) { body { font-size: 14px; } } @media screen and (min-width:1025px) { body { font-size: 14px; } }
/* hi-res laptop and desktop */ // Hi-res laptop and desktop
@media (min-width:1281px) { body { font-size: 14px; } } @media screen and (min-width:1281px) { body { font-size: 14px; } }

View File

@ -23,7 +23,7 @@
* xl (extra large) * xl (extra large)
*/ */
@import "./variables"; @import "./variables";
//++++++++++++++++++++++++++++++++++++++++++++++++ Padding //++++++++++++++++++++++++++++++++++++++++++++++++ Padding

View File

@ -1,6 +1,6 @@
{ {
"name": "hedera-web", "name": "hedera-web",
"version": "22.46.7", "version": "22.46.8",
"description": "Verdnatura web page", "description": "Verdnatura web page",
"license": "GPL-3.0", "license": "GPL-3.0",
"repository": { "repository": {