#3472 listing design improvments - Integrate
729
addons/default/visiosoft/advs-module/resources/css/list-new.scss
Normal file
@ -0,0 +1,729 @@
|
||||
/* Main styles */
|
||||
html {
|
||||
@media only screen and (min-width: 576px) {
|
||||
font-size: 7.5789px;
|
||||
}
|
||||
@media only screen and (min-width: 768px) {
|
||||
font-size: 10.1052px;
|
||||
}
|
||||
@media only screen and (min-width: 992px) {
|
||||
font-size: 13.4736px;
|
||||
}
|
||||
@media only screen and (min-width: 1200px) {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
#main {
|
||||
margin: 0;
|
||||
|
||||
.container {
|
||||
@media only screen and (max-width: 575.98px) {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
/* End Main styles */
|
||||
|
||||
#listingPage {
|
||||
/* Breadcrumb */
|
||||
#breadcrumb {
|
||||
border-radius: 0 0 .25rem .25rem;
|
||||
padding: .2rem 1.5rem;
|
||||
background-color: #FCFCFC;
|
||||
|
||||
div {
|
||||
&:first-child {
|
||||
span {
|
||||
color: #8598AA;
|
||||
font-size: calc(13rem / 16);
|
||||
|
||||
&:not(:first-child):before {
|
||||
content: '>';
|
||||
margin-left: 0.4rem;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #8598AA;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
span {
|
||||
color: #87BBF1;
|
||||
font-size: calc(11rem / 16);
|
||||
|
||||
&:not(:first-child):before {
|
||||
content: '|';
|
||||
margin: 0 .25rem;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #87BBF1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/* End Breadcrumb */
|
||||
|
||||
#mainContainer {
|
||||
margin-top: .75rem;
|
||||
|
||||
/* Filter */
|
||||
#listFilterForm {
|
||||
width: 25%;
|
||||
|
||||
.filter-box {
|
||||
background-color: #FCFCFC;
|
||||
|
||||
& > div {
|
||||
&:first-child {
|
||||
color: #373535;
|
||||
font-weight: 500;
|
||||
font-size: calc(17rem / 16);
|
||||
|
||||
svg {
|
||||
width: calc(11rem / 16);
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
& > label {
|
||||
font-size: calc(14rem / 16);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Category */
|
||||
#category {
|
||||
background-color: #FCFCFC;
|
||||
|
||||
#categoryNav {
|
||||
a {
|
||||
border-bottom: calc(2rem / 16) solid #D7DEEC;
|
||||
|
||||
svg {
|
||||
height: 1rem;
|
||||
width: 1rem;
|
||||
}
|
||||
|
||||
p {
|
||||
color: #9FA4A4;
|
||||
font-weight: 500;
|
||||
font-size: calc(17rem / 16);
|
||||
}
|
||||
|
||||
&.active {
|
||||
border-bottom-color: #373535;
|
||||
|
||||
svg path {
|
||||
fill: #373535;
|
||||
}
|
||||
|
||||
p {
|
||||
color: #373535;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#categoryList {
|
||||
& > li {
|
||||
margin-bottom: .4rem;
|
||||
|
||||
& > div {
|
||||
div {
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
svg, img {
|
||||
width: 1.15rem;
|
||||
height: 1.15rem;
|
||||
object-fit: contain;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #183F8A;
|
||||
font-size: calc(13rem / 16);
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.sub-cat {
|
||||
li {
|
||||
margin-bottom: .25rem;
|
||||
|
||||
a {
|
||||
font-size: calc(12rem / 16);
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left: .5rem;
|
||||
margin-top: .25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/* End Category */
|
||||
|
||||
/* Location */
|
||||
#location {
|
||||
button:not(.filter-modal-close) {
|
||||
height: 2rem;
|
||||
background: #fff;
|
||||
color: #707070;
|
||||
font-size: 12px;
|
||||
padding: 0 1.25rem;
|
||||
|
||||
svg {
|
||||
width: .48rem;
|
||||
height: auto;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* End Location */
|
||||
|
||||
/* Price */
|
||||
#price {
|
||||
li {
|
||||
& + & {
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
padding: 0.15em;
|
||||
color: #373535;
|
||||
border: calc(1rem / 16) solid #E5E5E5;
|
||||
font-size: calc(13rem / 16);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
input[type=radio] {
|
||||
border: 0;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
height: calc(1rem / 16);
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute !important;
|
||||
white-space: nowrap;
|
||||
width: calc(1rem / 16);
|
||||
|
||||
&:checked + label {
|
||||
background-color: #E5E5E5;
|
||||
border: calc(1rem / 16) solid #E5E5E5;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#priceInputWrapper {
|
||||
::placeholder {
|
||||
color: #DFDFDF;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
:-ms-input-placeholder {
|
||||
color: #DFDFDF;
|
||||
}
|
||||
|
||||
::-ms-input-placeholder {
|
||||
color: #DFDFDF;
|
||||
}
|
||||
|
||||
input {
|
||||
width: 5rem;
|
||||
font-size: calc(14rem / 16);
|
||||
}
|
||||
}
|
||||
}
|
||||
/* End Price */
|
||||
|
||||
/* Map */
|
||||
#mapFilter {
|
||||
label {
|
||||
font-size: calc(14rem / 16);
|
||||
}
|
||||
}
|
||||
/* End Map */
|
||||
|
||||
/* Filter submit */
|
||||
#filterSubmit {
|
||||
button {
|
||||
background-color: #52C946;
|
||||
font-size: calc(12rem / 16);
|
||||
}
|
||||
}
|
||||
/* End Filter submit */
|
||||
}
|
||||
/* End Filter */
|
||||
|
||||
/* Listing container */
|
||||
#listingContainer {
|
||||
min-width: 0;
|
||||
|
||||
/* Page title */
|
||||
#pageTitle {
|
||||
p, a {
|
||||
color: #8598AA;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: calc(14rem / 16);
|
||||
}
|
||||
|
||||
a {
|
||||
font-size: calc(14rem / 16);
|
||||
|
||||
svg {
|
||||
height: .8rem;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* End Page title */
|
||||
|
||||
/* Query bar */
|
||||
#queryBar {
|
||||
& > div {
|
||||
margin: calc(3rem / 16) calc(16rem / 16) calc(4rem / 16) 0;
|
||||
|
||||
& > span {
|
||||
font-weight: 500;
|
||||
color: #292d2e;
|
||||
font-size: calc(13rem / 16);
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
background-color: #eee;
|
||||
font-size: calc(12rem / 16);
|
||||
padding: calc(4rem / 16) calc(7rem / 16);
|
||||
border-radius: calc(2rem / 16);
|
||||
text-decoration: none;
|
||||
max-width: calc(400rem / 16);
|
||||
|
||||
&:hover {
|
||||
background-color: #e0e0e0;
|
||||
}
|
||||
|
||||
span {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
button {
|
||||
height: calc(12rem / 16);
|
||||
width: calc(12rem / 16);
|
||||
background-color: #EC9C4A;
|
||||
border-radius: calc(2rem / 16);
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
|
||||
svg {
|
||||
flex-shrink: 0;
|
||||
height: calc(6rem / 16);
|
||||
width: calc(6rem / 16);
|
||||
}
|
||||
}
|
||||
|
||||
div:last-child {
|
||||
a {
|
||||
background-color: unset;
|
||||
font-size: calc(10rem / 16);
|
||||
padding: 0;
|
||||
text-decoration: none;
|
||||
color: #039;
|
||||
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
|
||||
span {
|
||||
color: #444;
|
||||
}
|
||||
|
||||
button {
|
||||
background-color: #CD7D22;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/* End Query bar */
|
||||
|
||||
/* View types */
|
||||
#viewTypes {
|
||||
margin-bottom: .75rem;
|
||||
|
||||
ul {
|
||||
background-color: #F0F2F4;
|
||||
|
||||
li {
|
||||
font-size: calc(13rem / 16);
|
||||
font-weight: 500;
|
||||
|
||||
&:not(:first-child) {
|
||||
border-left: calc(1rem / 16) solid rgba(72, 154, 241, .33);
|
||||
}
|
||||
|
||||
a {
|
||||
color: #489AF1;
|
||||
}
|
||||
|
||||
&.active {
|
||||
a {
|
||||
color: #707070;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& > div {
|
||||
background-color: #F0F2F4;
|
||||
|
||||
p {
|
||||
font-size: calc(12rem / 16);
|
||||
font-weight: 500;
|
||||
color: #707070;
|
||||
margin-right: .75rem;
|
||||
}
|
||||
|
||||
svg {
|
||||
width: auto;
|
||||
height: .75rem;
|
||||
}
|
||||
|
||||
a {
|
||||
&.active {
|
||||
svg path {
|
||||
fill: #489AF1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown {
|
||||
button {
|
||||
background: none;
|
||||
|
||||
&:after {
|
||||
content: none;
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-item {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/* End View types */
|
||||
|
||||
/* Listing */
|
||||
#listingWrapper {
|
||||
#listing {
|
||||
table {
|
||||
border-collapse: separate;
|
||||
border-spacing: 0 .25rem;
|
||||
|
||||
thead {
|
||||
tr {
|
||||
th {
|
||||
background-color: #3F475F;
|
||||
font-weight: 400;
|
||||
font-size: calc(12rem / 16);
|
||||
padding: .2rem;
|
||||
|
||||
&:first-child {
|
||||
border-top-left-radius: .25rem;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
border-top-right-radius: .25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tbody {
|
||||
tr {
|
||||
background-color: #F6F6F6;
|
||||
|
||||
&:hover {
|
||||
.action-data > a {
|
||||
visibility: visible;
|
||||
}
|
||||
}
|
||||
|
||||
td {
|
||||
padding: .4rem 0;
|
||||
|
||||
& > a {
|
||||
img {
|
||||
width: 6.5rem;
|
||||
height: 5rem;
|
||||
object-fit: cover;
|
||||
}
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
width: 17%;
|
||||
border-radius: .25rem 0 0 .25rem;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
border-radius: 0 .25rem .25rem 0;
|
||||
}
|
||||
|
||||
.id-data {
|
||||
font-size: calc(10rem / 16);
|
||||
color: rgba(34, 34, 34, .29);
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: calc(14rem / 16);
|
||||
color: #489AF1;
|
||||
}
|
||||
|
||||
.cat-data {
|
||||
font-size: calc(12rem / 16);
|
||||
color: rgba(34, 34, 34, .4);
|
||||
}
|
||||
|
||||
.action-data {
|
||||
color: #A1A1A1;
|
||||
font-size: calc(8rem / 16);
|
||||
|
||||
& > a {
|
||||
visibility: hidden;
|
||||
color: #A1A1A1;
|
||||
}
|
||||
|
||||
& > a.active {
|
||||
visibility: visible;
|
||||
|
||||
svg {
|
||||
path {
|
||||
fill: #FFE900;
|
||||
}
|
||||
|
||||
rect {
|
||||
fill: #EDA862;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
svg {
|
||||
width: .4rem;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
&.location-data, &.date-data {
|
||||
width: 13%;
|
||||
font-size: calc(13rem / 16);
|
||||
color: #707070;
|
||||
}
|
||||
|
||||
&.price-data {
|
||||
width: 20%;
|
||||
color: #D33023;
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#gallerying {
|
||||
.gallery-item-wrapper {
|
||||
&:nth-child(odd) {
|
||||
padding-right: .125rem;
|
||||
}
|
||||
|
||||
&:nth-child(even) {
|
||||
padding-left: .125rem;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
.action-data > a {
|
||||
visibility: visible !important;
|
||||
}
|
||||
}
|
||||
|
||||
.gallery-item {
|
||||
background-color: #F6F6F6;
|
||||
|
||||
img {
|
||||
width: 6.5rem;
|
||||
height: 5rem;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.action-data-wrapper {
|
||||
.action-data {
|
||||
margin-top: .7rem;
|
||||
|
||||
& > a {
|
||||
visibility: hidden;
|
||||
font-size: calc(8rem / 16);
|
||||
color: #A1A1A1;
|
||||
margin-bottom: .25rem;
|
||||
|
||||
svg {
|
||||
width: calc(6rem / 16);
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
& > a.active {
|
||||
visibility: visible;
|
||||
|
||||
svg {
|
||||
path {
|
||||
fill: #FFE900;
|
||||
}
|
||||
|
||||
rect {
|
||||
fill: #EDA862;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.id-data {
|
||||
font-size: calc(10rem / 16);
|
||||
color: #B8B8B8;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: calc(14rem / 16);
|
||||
|
||||
a {
|
||||
color: #489AF1;
|
||||
}
|
||||
}
|
||||
|
||||
.cat-data {
|
||||
font-size: calc(11rem / 16);
|
||||
color: #A1A1A1;
|
||||
}
|
||||
|
||||
.price-data {
|
||||
color: #D33023;
|
||||
font-weight: 700;
|
||||
font-size: calc(15rem / 16);
|
||||
}
|
||||
|
||||
.location-data {
|
||||
margin-bottom: .15rem;
|
||||
}
|
||||
|
||||
.location-data, .date-data {
|
||||
color: #707070;
|
||||
font-size: calc(12rem / 16);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/* End Listing */
|
||||
}
|
||||
/* End Listing container */
|
||||
}
|
||||
}
|
||||
|
||||
#mobileListingPage {
|
||||
#breadcrumb {
|
||||
padding: .6rem 1rem;
|
||||
|
||||
ul {
|
||||
font-size: 11px;
|
||||
color: #8598AA;
|
||||
|
||||
li {
|
||||
&:not(:first-child):before {
|
||||
content: '>';
|
||||
margin-left: .125rem;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #8598AA;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#mobileListNav {
|
||||
background-color: #F8F9FA;
|
||||
|
||||
& > div:not(.divider) {
|
||||
width: percentage(1/3);
|
||||
font-size: 11px;
|
||||
color: #4D5359;
|
||||
|
||||
svg {
|
||||
height: 1.1rem;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.divider {
|
||||
border-left: 1px solid #E1E1E2;
|
||||
height: 1.8rem;
|
||||
}
|
||||
}
|
||||
|
||||
#mobileListing {
|
||||
.listing-item {
|
||||
&:nth-child(odd) {
|
||||
background-color: #F6F6F6;
|
||||
}
|
||||
|
||||
img {
|
||||
height: 5rem;
|
||||
width: 7rem;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
div {
|
||||
h6 {
|
||||
font-size: 13px;
|
||||
color: #393939;
|
||||
}
|
||||
|
||||
p {
|
||||
&:first-of-type {
|
||||
color: #A1A1A1;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
&:last-of-type {
|
||||
color: #1592E6;
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -215,11 +215,6 @@ a.sort-by-open-dropdown:hover {
|
||||
color: #8598AA;
|
||||
}
|
||||
|
||||
.sort-by-item:hover {
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.gallery-tn {
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
@ -0,0 +1,5 @@
|
||||
<svg id="ribbon-with-cross" xmlns="http://www.w3.org/2000/svg" width="8.477" height="12.417" viewBox="0 0 8.477 12.417">
|
||||
<path id="Path_3996" data-name="Path 3996" d="M14.307,0H6.236a.2.2,0,0,0-.2.2V12.216a.2.2,0,0,0,.125.186.191.191,0,0,0,.077.016.194.194,0,0,0,.142-.06L10.272,9.1l3.892,3.259a.2.2,0,0,0,.346-.142V.2A.2.2,0,0,0,14.307,0Z" transform="translate(-6.033)" fill="#a1a1a1"/>
|
||||
<rect id="Rectangle_2426" data-name="Rectangle 2426" width="4.639" height="0.843" transform="translate(3.898 5.949) rotate(-90)" fill="#fff"/>
|
||||
<rect id="Rectangle_2427" data-name="Rectangle 2427" width="4.639" height="0.843" transform="translate(2.001 3.208)" fill="#fff"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 681 B |
@ -0,0 +1,7 @@
|
||||
<svg id="Group_1379" data-name="Group 1379" xmlns="http://www.w3.org/2000/svg" width="9.038" height="10.172" viewBox="0 0 9.038 10.172">
|
||||
<rect id="Rectangle_2604" data-name="Rectangle 2604" width="9.038" height="10.172" transform="translate(0 0)" fill="#a1a1a1"/>
|
||||
<g id="Solid" transform="translate(1.466 2.56)">
|
||||
<path id="Path_11023" data-name="Path 11023" d="M24.316,65.683h4.711l-.514.514a.316.316,0,0,0,.447.447l1.053-1.053a.316.316,0,0,0,0-.447L28.96,64.092a.316.316,0,0,0-.447.447l.514.514H24.316a.316.316,0,1,0,0,.632Z" transform="translate(-24 -63.999)" fill="#fff"/>
|
||||
<path id="Path_11024" data-name="Path 11024" d="M29.788,241.052H25.077l.514-.514a.316.316,0,1,0-.447-.447l-1.053,1.053a.316.316,0,0,0,0,.447l1.053,1.053a.316.316,0,1,0,.447-.447l-.514-.514h4.711a.316.316,0,1,0,0-.632Z" transform="translate(-23.999 -237.684)" fill="#fff"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 889 B |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="15.303" height="9.867" viewBox="0 0 15.303 9.867">
|
||||
<path id="Path_454" data-name="Path 454" d="M-3948.849,51.453v0h0l-7.15-5.539V43l7.151,5.534L-3941.7,43v2.913l-7.15,5.539h0v0Z" transform="translate(3956.5 -41.981)" fill="#373535" stroke="rgba(0,0,0,0)" stroke-width="1"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 332 B |
@ -0,0 +1,3 @@
|
||||
<svg id="Component_22_1" data-name="Component 22 – 1" xmlns="http://www.w3.org/2000/svg" width="24.001" height="16.999" viewBox="0 0 24.001 16.999">
|
||||
<path id="Union_69" data-name="Union 69" d="M-7554.5,3327a1,1,0,0,1-1-1v-5a1,1,0,0,1,1-1h8.5a1,1,0,0,1,1,1v5a1,1,0,0,1-1,1Zm-13.5,0a1,1,0,0,1-1-1v-5a1,1,0,0,1,1-1h8.5a1,1,0,0,1,1,1v5a1,1,0,0,1-1,1Zm13.5-10a1,1,0,0,1-1-1v-5a1,1,0,0,1,1-1h8.5a1,1,0,0,1,1,1v5a1,1,0,0,1-1,1Zm-13.5,0a1,1,0,0,1-1-1v-5a1,1,0,0,1,1-1h8.5a1,1,0,0,1,1,1v5a1,1,0,0,1-1,1Z" transform="translate(7569 -3310)" fill="#c4dbf2"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 560 B |
@ -0,0 +1,10 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="23.997" height="17.328" viewBox="0 0 23.997 17.328">
|
||||
<g id="Group_1132" data-name="Group 1132" opacity="0.62">
|
||||
<path id="Icon_awesome-sort-amount-down" data-name="Icon awesome-sort-amount-down" d="M27.008,2.25H11.27a.984.984,0,0,0-.984.984V5.2a.984.984,0,0,0,.984.984H27.008a.984.984,0,0,0,.984-.984V3.234A.984.984,0,0,0,27.008,2.25Z" transform="translate(-3.995 11.144)" fill="#c4dbf2"/>
|
||||
<path id="Icon_awesome-sort-amount-down-2" data-name="Icon awesome-sort-amount-down" d="M27.008,2.25H11.27a.984.984,0,0,0-.984.984V5.2a.984.984,0,0,0,.984.984H27.008a.984.984,0,0,0,.984-.984V3.234A.984.984,0,0,0,27.008,2.25Z" transform="translate(-3.995 4.45)" fill="#c4dbf2"/>
|
||||
<path id="Icon_awesome-sort-amount-down-3" data-name="Icon awesome-sort-amount-down" d="M27.008,2.25H11.27a.984.984,0,0,0-.984.984V5.2a.984.984,0,0,0,.984.984H27.008a.984.984,0,0,0,.984-.984V3.234A.984.984,0,0,0,27.008,2.25Z" transform="translate(-3.995 -2.243)" fill="#c4dbf2"/>
|
||||
<path id="Icon_awesome-sort-amount-down-4" data-name="Icon awesome-sort-amount-down" d="M13.866,19.884h-2.6a.984.984,0,0,0-.984.984v1.967a.984.984,0,0,0,.984.984h2.6a.984.984,0,0,0,.984-.984V20.868A.984.984,0,0,0,13.866,19.884Z" transform="translate(-10.286 -6.497)" fill="#c4dbf2"/>
|
||||
<path id="Icon_awesome-sort-amount-down-5" data-name="Icon awesome-sort-amount-down" d="M13.866,19.884h-2.6a.984.984,0,0,0-.984.984v1.967a.984.984,0,0,0,.984.984h2.6a.984.984,0,0,0,.984-.984V20.868A.984.984,0,0,0,13.866,19.884Z" transform="translate(-10.286 -13.19)" fill="#c4dbf2"/>
|
||||
<path id="Icon_awesome-sort-amount-down-6" data-name="Icon awesome-sort-amount-down" d="M13.866,19.884h-2.6a.984.984,0,0,0-.984.984v1.967a.984.984,0,0,0,.984.984h2.6a.984.984,0,0,0,.984-.984V20.868A.984.984,0,0,0,13.866,19.884Z" transform="translate(-10.286 -19.884)" fill="#c4dbf2"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="23.997" height="17.329" viewBox="0 0 23.997 17.329">
|
||||
<g id="Group_1063" data-name="Group 1063" transform="translate(0 0)">
|
||||
<path id="Icon_awesome-sort-amount-down" data-name="Icon awesome-sort-amount-down" d="M27.008,2.25H11.27a.984.984,0,0,0-.984.984V5.2a.984.984,0,0,0,.984.984H27.008a.984.984,0,0,0,.984-.984V3.234A.984.984,0,0,0,27.008,2.25Z" transform="translate(-3.995 11.144)" fill="#9FA4A4"/>
|
||||
<path id="Icon_awesome-sort-amount-down-2" data-name="Icon awesome-sort-amount-down" d="M27.008,2.25H11.27a.984.984,0,0,0-.984.984V5.2a.984.984,0,0,0,.984.984H27.008a.984.984,0,0,0,.984-.984V3.234A.984.984,0,0,0,27.008,2.25Z" transform="translate(-3.995 4.45)" fill="#9FA4A4"/>
|
||||
<path id="Union_68" data-name="Union 68" d="M-4758.229,3103.736a.983.983,0,0,1-.984-.984v-1.967a.983.983,0,0,1,.984-.983h2.594a.983.983,0,0,1,.984.983v1.967a.983.983,0,0,1-.984.984Zm0-6.695a.982.982,0,0,1-.984-.983v-1.967a.983.983,0,0,1,.984-.983h2.594a.983.983,0,0,1,.984.983v1.967a.982.982,0,0,1-.984.983Zm6.291-6.686a.994.994,0,0,1-.108-.006h-6.183a.984.984,0,0,1-.984-.984V3087.4a.983.983,0,0,1,.984-.984h10.594a1.014,1.014,0,0,1,.119.007h11.315a.984.984,0,0,1,.984.984v1.967a.984.984,0,0,1-.984.983Z" transform="translate(4759.214 -3086.414)" fill="#9FA4A4"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="11.002" height="6.618" viewBox="0 0 11.002 6.618">
|
||||
<path id="Path_221" data-name="Path 221" d="M4.758-4.92.675-10.2H2.812L5.957-6.142,6.9-4.92,5.957-3.7,2.419.807H.282Z" transform="translate(0.807 -0.282) rotate(90)" fill="#707070"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 292 B |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24.262" height="24.262" viewBox="0 0 24.262 24.262">
|
||||
<path id="Icon_open-location" data-name="Icon open-location" d="M24.262,0,0,12.131l9.1,3.033,3.033,9.1Z" fill="#9fa4a4"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 233 B |
@ -0,0 +1,5 @@
|
||||
<svg id="bookmark" xmlns="http://www.w3.org/2000/svg" width="12.416" height="16.931" viewBox="0 0 12.416 16.931">
|
||||
<g id="Group_984" data-name="Group 984">
|
||||
<path id="Path_3969" data-name="Path 3969" d="M68.267,0V16.931h.564l5.644-5.644,5.644,5.644h.564V0Z" transform="translate(-68.267)" fill="#a1a1a1"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 332 B |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16.774" height="16.774" viewBox="0 0 16.774 16.774">
|
||||
<path id="Icon_awesome-filter" data-name="Icon awesome-filter" d="M15.987,0H.787A.787.787,0,0,0,.231,1.342L6.29,7.4v6.751a.786.786,0,0,0,.335.644l2.621,1.834a.787.787,0,0,0,1.237-.644V7.4l6.059-6.06A.787.787,0,0,0,15.987,0Z" fill="#a1a1a1"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 353 B |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18.891" height="16.529" viewBox="0 0 18.891 16.529">
|
||||
<path id="Icon_awesome-sort-amount-down" data-name="Icon awesome-sort-amount-down" d="M11.216,16.418H8.855a.59.59,0,0,0-.59.59v1.181a.59.59,0,0,0,.59.59h2.361a.59.59,0,0,0,.59-.59V17.008A.59.59,0,0,0,11.216,16.418ZM6.494,14.057H4.723V2.84a.59.59,0,0,0-.59-.59H2.952a.59.59,0,0,0-.59.59V14.057H.59a.591.591,0,0,0-.417,1.008l2.952,3.542a.59.59,0,0,0,.835,0l2.952-3.542A.591.591,0,0,0,6.494,14.057Zm9.445-7.084H8.855a.59.59,0,0,0-.59.59V8.744a.59.59,0,0,0,.59.59h7.084a.59.59,0,0,0,.59-.59V7.563A.59.59,0,0,0,15.939,6.973ZM13.578,11.7H8.855a.59.59,0,0,0-.59.59v1.181a.59.59,0,0,0,.59.59h4.723a.59.59,0,0,0,.59-.59V12.286A.59.59,0,0,0,13.578,11.7ZM18.3,2.25H8.855a.59.59,0,0,0-.59.59V4.021a.59.59,0,0,0,.59.59H18.3a.59.59,0,0,0,.59-.59V2.84A.59.59,0,0,0,18.3,2.25Z" transform="translate(0 -2.25)" fill="#a1a1a1"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 921 B |
@ -0,0 +1,16 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="28.172" height="28.173" viewBox="0 0 28.172 28.173">
|
||||
<g id="Group_1114" data-name="Group 1114" transform="translate(-7264.209 2699.731)">
|
||||
<path id="Path_4000" data-name="Path 4000" d="M305.3,349.269a14.087,14.087,0,1,1-9.96,4.126A14.044,14.044,0,0,1,305.3,349.269Z" transform="translate(6973 -3049)" fill="#58c37d" fill-rule="evenodd"/>
|
||||
<g id="Group_1083" data-name="Group 1083" transform="translate(6973 -3049)">
|
||||
<g id="Group_1094" data-name="Group 1094">
|
||||
<path id="Path_4066" data-name="Path 4066" d="M309.262,358.712a2.98,2.98,0,0,1,1.22-.271,3.168,3.168,0,0,1,1.6.466,6.318,6.318,0,0,0,1.445-3.773,27.256,27.256,0,0,1-4.838,2.19,2.865,2.865,0,0,1,.579,1.388Z" fill="#fff" fill-rule="evenodd"/>
|
||||
<path id="Path_4067" data-name="Path 4067" d="M298.513,358.907a3.172,3.172,0,0,1,1.6-.466,2.976,2.976,0,0,1,1.219.271,2.856,2.856,0,0,1,.579-1.388,27.256,27.256,0,0,1-4.838-2.19,6.321,6.321,0,0,0,1.444,3.773Z" fill="#fff" fill-rule="evenodd"/>
|
||||
<path id="Path_4068" data-name="Path 4068" d="M310.482,359.4a2.042,2.042,0,0,0-.8.176,7.159,7.159,0,0,1,.729,2.843h.072c1.318,0,2.387-1.51,2.387-1.51s-1.069-1.51-2.387-1.51Z" fill="#fff" fill-rule="evenodd"/>
|
||||
<path id="Path_4069" data-name="Path 4069" d="M300.909,359.581a2.033,2.033,0,0,0-.8-.176c-1.318,0-2.387,1.51-2.387,1.51s1.069,1.51,2.387,1.51h.072A7.157,7.157,0,0,1,300.909,359.581Z" fill="#fff" fill-rule="evenodd"/>
|
||||
<path id="Path_4070" data-name="Path 4070" d="M308.4,369.475l-.069-.362a5.756,5.756,0,0,1-.081-.583l-.894-2.462a4.105,4.105,0,0,1,1.389-4.678l.471-.355a6.171,6.171,0,0,0-.5-1.237l-.386-.714a1.912,1.912,0,0,0-1.912-1.913H304.18a1.912,1.912,0,0,0-1.912,1.913l-.387.714a6.225,6.225,0,0,0-.5,1.237l.471.355a4.1,4.1,0,0,1,1.388,4.678l-.893,2.462c-.018.2-.045.39-.082.583l-.069.362a1.769,1.769,0,0,0,1.738,2.1h2.731a1.768,1.768,0,0,0,1.737-2.1Zm-3.645.566h-.964v-1.025h.964v1.025Zm2.048,0h-.964v-1.025h.964Z" fill="#fff" fill-rule="evenodd"/>
|
||||
<path id="Path_4071" data-name="Path 4071" d="M302.389,363.774a3.126,3.126,0,0,0-1.121-1.614l-.1-.073a6.191,6.191,0,0,0,.611,3.409l.052.107a5.631,5.631,0,0,1,.282.727l.214-.591a3.124,3.124,0,0,0,.059-1.965Z" fill="#fff" fill-rule="evenodd"/>
|
||||
<path id="Path_4072" data-name="Path 4072" d="M309.419,362.087l-.1.073a3.138,3.138,0,0,0-1.062,3.579l.214.591a5.353,5.353,0,0,1,.282-.727c.017-.036.034-.072.052-.107a6.191,6.191,0,0,0,.61-3.409Z" fill="#fff" fill-rule="evenodd"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="13.422" height="19.662" viewBox="0 0 13.422 19.662">
|
||||
<g id="ribbon-with-cross" transform="translate(-6.033)">
|
||||
<path id="Path_3996" data-name="Path 3996" d="M19.133,0H6.354a.322.322,0,0,0-.321.32V19.343a.317.317,0,0,0,.2.294.3.3,0,0,0,.122.025.307.307,0,0,0,.225-.095l6.166-5.16,6.163,5.16a.32.32,0,0,0,.547-.224V.32A.323.323,0,0,0,19.133,0Z" transform="translate(0)" fill="#fb0"/>
|
||||
<rect id="Rectangle_2426" data-name="Rectangle 2426" width="7.345" height="1.335" transform="translate(12.205 9.42) rotate(-90)" fill="#fff"/>
|
||||
<rect id="Rectangle_2427" data-name="Rectangle 2427" width="7.345" height="1.335" transform="translate(9.201 5.079)" fill="#fff"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 746 B |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="19.804" height="17.328" viewBox="0 0 19.804 17.328">
|
||||
<path id="Icon_awesome-sort-amount-down" data-name="Icon awesome-sort-amount-down" d="M11.759,17.1H9.283a.619.619,0,0,0-.619.619v1.238a.619.619,0,0,0,.619.619h2.475a.619.619,0,0,0,.619-.619V17.722A.619.619,0,0,0,11.759,17.1ZM6.808,14.627H4.951V2.869a.619.619,0,0,0-.619-.619H3.094a.619.619,0,0,0-.619.619V14.627H.619a.619.619,0,0,0-.437,1.056L3.277,19.4a.619.619,0,0,0,.875,0l3.094-3.713A.62.62,0,0,0,6.808,14.627Zm9.9-7.426H9.283a.619.619,0,0,0-.619.619V9.058a.619.619,0,0,0,.619.619h7.426a.619.619,0,0,0,.619-.619V7.82A.619.619,0,0,0,16.709,7.2Zm-2.475,4.951H9.283a.619.619,0,0,0-.619.619v1.238a.619.619,0,0,0,.619.619h4.951a.619.619,0,0,0,.619-.619V12.771A.619.619,0,0,0,14.234,12.152Zm4.951-9.9h-9.9a.619.619,0,0,0-.619.619V4.107a.619.619,0,0,0,.619.619h9.9a.619.619,0,0,0,.619-.619V2.869A.619.619,0,0,0,19.185,2.25Z" transform="translate(0 -2.25)" fill="#87bbf1" opacity="0.62"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 996 B |
@ -0,0 +1,3 @@
|
||||
$(function () {
|
||||
$('[data-toggle="tooltip"]').tooltip()
|
||||
})
|
||||
@ -211,6 +211,7 @@ return [
|
||||
'featured_ads' => "Featured Ads",
|
||||
'trending_ads' => 'Trendind Ads',
|
||||
'search_ad_result_prefix' => 'on',
|
||||
'search_ad_result_text' => '<strong>:count</strong> ads were found in your <strong>:name</strong> search',
|
||||
'search_ads_result_message' => [
|
||||
'name' => ':count ads found for :name search',
|
||||
],
|
||||
|
||||
@ -1,55 +1,52 @@
|
||||
{% extends "visiosoft.module.advs::list/list" %}
|
||||
{% block listContent %}
|
||||
{{ addBlock('ad-list/partials/gallery',{'featured_advs':featured_advs})|raw }}
|
||||
{% for adv in advs %}
|
||||
<div class="col-sm-6 col-md-4 col-lg-4 d-flex align-items-stretch">
|
||||
<div class="card mb-4 box-shadow {% if adv.doping != null %} doping_type4 {% endif %} w-100">
|
||||
<div class="row p-2" style="min-height: 150px;">
|
||||
<a href="{{ adv.detail_url }}" class="w-100">
|
||||
<div class="col-md-12 justify-content-center align-self-center">
|
||||
<img class="card-img-top img-fluid img-thumbnail gallery-tn"
|
||||
src="{{ adv.cover_photo }}"
|
||||
style="height: 150px">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="card-body pt-0">
|
||||
{% if setting_value('visiosoft.theme.base::price_fields') %}
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<b>{{ adv.price != '0'
|
||||
? currency_format(adv.price,adv.currency)
|
||||
: trans('visiosoft.module.advs::field.free') }}</b>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="d-flex justify-content-between align-items-center text-truncate">
|
||||
<a href="{{ adv.detail_url }}">
|
||||
<p class="card-title d-inline-block mb-1">{{ adv.name }}</p>
|
||||
</a>
|
||||
{% block listContent %}
|
||||
{% set showPrice = setting_value('visiosoft.theme.base::price_fields') %}
|
||||
{% set showLocation = setting_value('visiosoft.module.location::home_page_location') %}
|
||||
{% set showDate = setting_value('visiosoft.theme.base::date_fields') %}
|
||||
|
||||
<div id="gallerying" class="d-flex flex-wrap">
|
||||
|
||||
{{ addBlock('ad-list/partials/gallery',{'featured_advs':featured_advs})|raw }}
|
||||
|
||||
{% for adv in advs %}
|
||||
<div class="w-50 gallery-item-wrapper mb-1{{ adv.doping != null ? ' doping_type4' }}">
|
||||
<div class="gallery-item rounded p-3 d-flex h-100">
|
||||
<div>
|
||||
<a href="{{ adv.detail_url }}">
|
||||
<img src="{{ adv.cover_photo }}" alt="{{ adv.name }}" class="rounded">
|
||||
</a>
|
||||
<div class="action-data-wrapper d-flex justify-content-center">
|
||||
<div class="action-data d-flex flex-column">
|
||||
|
||||
{{ addBlock('list/extra-actions', {'ad': adv, 'vars': _context})|raw }}
|
||||
|
||||
</div>
|
||||
{% if setting_value('visiosoft.module.location::home_page_location') %}
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<span>
|
||||
<i class="fas fa-location-arrow text-primary"></i>
|
||||
{{ adv.city_name }}, {{ adv.country_name }}
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if setting_value('visiosoft.theme.base::date_fields') %}
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<span>
|
||||
<i class="far fa-clock text-dark"></i>
|
||||
{{ adv.created_at|date('d/m/Y') }}
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="ml-4 mt-1">
|
||||
<p class="id-data">#{{ adv.id }}</p>
|
||||
<h6 class="mb-1">
|
||||
<a href="{{ adv.detail_url }}">{{ adv.name }}</a>
|
||||
</h6>
|
||||
<p class="cat-data mb-1">{{ adv.cat1_name }} /{{ adv.cat2_name }}</p>
|
||||
{% if showPrice %}
|
||||
<p class="price-data mb-1">
|
||||
{{ adv.price != '0' ? currency_format(adv.price,adv.currency) : trans('visiosoft.module.advs::field.free') }}
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if showLocation %}
|
||||
<p class="location-data">{{ adv.country_name}} / {{ adv.city_name }}</p>
|
||||
{% endif %}
|
||||
<p class="date-data">{{ adv.publish_at.value|date('d F Y') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block customjs %}
|
||||
{{ asset_add("scripts.js", "visiosoft.module.advs::js/list-table.js") }}
|
||||
{% include "theme::scroll-modal" %}
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
@ -1,18 +1,19 @@
|
||||
<nav aria-label="breadcrumb" class="d-none d-sm-block">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ url('') }}" class="text-dark">
|
||||
<i class="fas fa-home"></i>
|
||||
<div id="breadcrumb" class="border-bottom border-right border-left d-flex justify-content-between">
|
||||
<div class="overflow-hidden d-flex align-items-center">
|
||||
<span class="text-truncate">
|
||||
<a href="{{ url('/') }}" data-toggle="tooltip" data-placement="bottom"
|
||||
title="{{ trans("visiosoft.module.advs::field.home") }}">
|
||||
{{ trans("visiosoft.module.advs::field.home") }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ url_route('visiosoft.module.advs::list') }}" class="text-dark">
|
||||
{{ trans("visiosoft.module.advs::field.list") }}
|
||||
</a>
|
||||
</li>
|
||||
</span>
|
||||
|
||||
{{ addBlock('ads-list/partials/breadcrumb',{'mainCats': mainCats, 'category': categoryId})|raw }}
|
||||
{{ addBlock('ads-list/partials/breadcrumb', {'mainCats': mainCats, 'category': categoryId})|raw }}
|
||||
|
||||
</ol>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class="text-nowrap ml-3">
|
||||
|
||||
{{ addBlock('ads-list/partials/breadcrumb/action')|raw }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
<div id="breadcrumb">
|
||||
<ul class="d-flex overflow-auto text-nowrap">
|
||||
<li>
|
||||
<a href="{{ url('/') }}">{{ trans("visiosoft.module.advs::field.home") }}</a>
|
||||
</li>
|
||||
|
||||
{{ addBlock('ads-list/partials/breadcrumb-mobile', {'mainCats': mainCats, 'category': categoryId})|raw }}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
@ -1,3 +1,3 @@
|
||||
<div class="d-flex justify-content-center">
|
||||
<div class="d-flex justify-content-center mt-3">
|
||||
{{ advs.appends(request_query()).links()|raw }}
|
||||
</div>
|
||||
@ -1,5 +1,3 @@
|
||||
{% set hidePriceCats = setting_value('visiosoft.module.advs::hide_price_categories') %}
|
||||
{% set cats = entries('cats','category').whereIn('id', hidePriceCats).get() %}
|
||||
{% set isHidden = false %}
|
||||
|
||||
{% for cat in cats %}
|
||||
@ -9,45 +7,36 @@
|
||||
{% endfor %}
|
||||
|
||||
{% if setting_value('visiosoft.module.advs::hide_price_filter') == false and not isHidden%}
|
||||
<div class="card mb-3">
|
||||
<div class="card-header breadcrumb mb-0" id="priceHeading">
|
||||
<h5 class="mb-0">
|
||||
<button class="btn btn-link text-dark d-flex align-items-center" data-toggle="collapse"
|
||||
data-target="#price"
|
||||
aria-expanded="true" aria-controls="price">
|
||||
{# <img src="{{ img('visiosoft.module.advs::images/price-icon.svg').url }}" alt="price icon"#}
|
||||
{# class="mr-2">#}
|
||||
<span>{{ trans("visiosoft.module.advs::field.price.name") }}</span>
|
||||
</button>
|
||||
</h5>
|
||||
{% set hidePriceCats = setting_value('visiosoft.module.advs::hide_price_categories') %}
|
||||
{% set cats = entries('cats','category').whereIn('id', hidePriceCats).get() %}
|
||||
{% set active_currencies = setting_value('visiosoft.module.advs::enabled_currencies') %}
|
||||
|
||||
<div id="price" class="border rounded filter-box p-3 mb-3">
|
||||
<div class="d-flex align-items-center justify-content-between px-2 border-bottom mb-3 pb-1">
|
||||
<p>{{ trans("visiosoft.module.advs::field.price.name") }}</p>
|
||||
{{ img('visiosoft.module.advs::images/listing/filter-arrow.svg').data|raw }}
|
||||
</div>
|
||||
<div id="price" class="collapse show overflow-auto" aria-labelledby="priceHeading"
|
||||
style="max-height: 300px;">
|
||||
<div class="row p-0 m-0">
|
||||
{% set active_currencies = setting_value('visiosoft.module.advs::enabled_currencies') %}
|
||||
<div class="col-md-4 p-1 m-0">
|
||||
<input type="number" class="price-input form-control w-100"
|
||||
value="{{ app.request.get('min_price') }}"
|
||||
name="min_price" min="0"
|
||||
placeholder="{{ trans('visiosoft.module.advs::field.min.name') }}">
|
||||
</div>
|
||||
<div class="col-md-4 p-1 pr-0 m-0">
|
||||
<input class="price-input form-control w-100" type="number"
|
||||
value="{{ app.request.get('max_price') }}"
|
||||
name="max_price"
|
||||
placeholder="{{ trans('visiosoft.module.advs::field.max.name') }}">
|
||||
|
||||
</div>
|
||||
<div class="col-md-4 py-1 px-0">
|
||||
<select name="currency" id="currency" class="form-control">
|
||||
{% for currency in active_currencies %}
|
||||
<option {{ app.request.get('currency') == currency ? 'selected' }} value="{{ currency }}">
|
||||
{{ currency_symbol(currency) }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div class="px-3 mb-1">
|
||||
<ul class="w-100 d-flex flex-wrap justify-content-center">
|
||||
{% for currency in active_currencies %}
|
||||
<li class="w-25">
|
||||
<input type="radio" id="{{ currency }}" name="currency"
|
||||
value="{{ currency }}" {{ app.request.get('currency') == currency ? 'checked' }}>
|
||||
<label for="{{ currency }}" class="mb-0 w-100 px-2 py-1 text-center">
|
||||
{{ currency }}
|
||||
</label>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<div id="priceInputWrapper" class="d-flex justify-content-around mt-3">
|
||||
<input type="number" class="border-0 shadow-sm rounded px-3 py-1" name="min_price" min="0"
|
||||
placeholder="{{ trans('visiosoft.module.advs::field.min.name') }}"
|
||||
value="{{ app.request.get('min_price') }}">
|
||||
<input type="number" class="border-0 shadow-sm rounded px-3 py-1" name="max_price"
|
||||
placeholder="{{ trans('visiosoft.module.advs::field.max.name') }}"
|
||||
value="{{ app.request.get('max_price') }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -0,0 +1,9 @@
|
||||
{% if params.category %}
|
||||
{% for category_breadcrumbs in params.mainCats %}
|
||||
<li>
|
||||
<a href="{{ url_route('adv_list_seo', [category_breadcrumbs['slug']]) }}">
|
||||
{{ category_breadcrumbs['val'] }}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
@ -1,9 +1,10 @@
|
||||
{% if params.category %}
|
||||
{% for category_breadcrumbs in params.mainCats %}
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ url_route('adv_list_seo', [category_breadcrumbs['slug']]) }}"
|
||||
class="text-dark font-weight-bold">{{ category_breadcrumbs['val'] }}
|
||||
<span class="text-truncate">
|
||||
<a href="{{ url_route('adv_list_seo', [category_breadcrumbs['slug']]) }}" data-toggle="tooltip"
|
||||
data-placement="bottom" title="{{ category_breadcrumbs['val'] }}">
|
||||
{{ category_breadcrumbs['val'] }}
|
||||
</a>
|
||||
</li>
|
||||
</span>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
@ -1,55 +0,0 @@
|
||||
<div class="card mb-3 d-none d-sm-flex">
|
||||
<div class="card-header breadcrumb mb-0" id="categoryHeading">
|
||||
<h5 class="mb-0">
|
||||
<button class="btn btn-link text-dark" data-toggle="collapse" data-target="#category"
|
||||
aria-expanded="true" aria-controls="category">
|
||||
<i class="fas fa-stream"></i>
|
||||
{{ trans("visiosoft.module.cats::addon.title") }}
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="category" class="collapse show overflow-auto" aria-labelledby="categoryHeading" style="max-height: 300px;">
|
||||
<div class="list-group">
|
||||
{% for maincat in params.mainCats %}
|
||||
{% set name = maincat['val'] %}
|
||||
{% set id = maincat['id'] %}
|
||||
{% set parent_category = true %}
|
||||
{% if app.request.get('cat') is null or app.request.get('cat') == "" %}
|
||||
{% if params.categoryId is null %}
|
||||
{% set name = maincat.name %}
|
||||
{% set id = maincat.id %}
|
||||
{% set parent_category = false %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% set catId = entries('cats', 'category').find(id) %}
|
||||
{% set citySlug = null %}
|
||||
{% set pathInfo = app.request.pathinfo|split('/') %}
|
||||
{% if pathInfo|length is same as(4) %}
|
||||
{% set citySlug = pathInfo[3] %}
|
||||
{% endif %}
|
||||
<a href="{% if(viewType != "map") %}
|
||||
{{ appendRequestURL(request_query(),url_route('adv_list_seo', [catId.slug, citySlug]),{},['page']) }}
|
||||
{% else %}
|
||||
{{ appendRequestURL(request_query(),url_route('advs_map_list'),{'cat':id},['page']) }}
|
||||
{% endif %}" class="list-group-item list-group-item-action text-truncate">
|
||||
<i class="fas fa-dot-circle"></i>
|
||||
{{ name }}
|
||||
</a>
|
||||
{% for subcat in params.subCats %}
|
||||
<div class="list-group pl-3 bg-light">
|
||||
{% if subcat.parent_category_id == maincat['id'] %}
|
||||
{% set subCatId = entries('cats', 'category').find(subcat.id) %}
|
||||
<a href="{% if(viewType != "map") %}
|
||||
{{ appendRequestURL(request_query(),url_route('adv_list_seo', [subCatId.slug, citySlug]),{},['page']) }}
|
||||
{% else %}
|
||||
{{ appendRequestURL(request_query(),url_route('advs_map_list'),{'cat':subcat.id},['page']) }}
|
||||
{% endif %}" class="list-group-item list-group-item-action text-truncate">
|
||||
{{ subcat.name }}
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -33,7 +33,6 @@ span.flag {
|
||||
height: 14px;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
img.flag {
|
||||
|
||||
@ -198,7 +198,7 @@ function SelectOnClick() {
|
||||
|
||||
var input = $('input[name="' + $(this).attr('data-field') + '[]"]');
|
||||
var input_text = $(this).parent().find('small').html();
|
||||
var text_html = $('.selected-' + $(this).attr('data-field') + ' small');
|
||||
var text_html = $('.selected-' + $(this).attr('data-field'));
|
||||
var text = "";
|
||||
var input_val = input.val();
|
||||
var id = $(this).attr('data-id');
|
||||
@ -225,7 +225,7 @@ function SelectOnClick() {
|
||||
text.splice($.inArray(input_text, text), 1);
|
||||
}
|
||||
input.val(input_val.join(','))
|
||||
text_html.html(text.join(','))
|
||||
text_html.html(text.join(', '))
|
||||
});
|
||||
}
|
||||
|
||||
@ -249,19 +249,19 @@ function item(field_name, id, value, abv = '') {
|
||||
if (field_name === 'country') {
|
||||
return `
|
||||
<li class="px-2" data-id="${id}">
|
||||
<label class="w-100">
|
||||
<label class="w-100 d-flex align-items-center">
|
||||
<input type="checkbox" data-field="${field_name}" data-id="${id}" ${selected}>
|
||||
<span class="flag ml-1 flag-${abv}"></span>
|
||||
<small>${value}</small>
|
||||
<span class="flag ml-2 flag-${abv}"></span>
|
||||
<small class="ml-2">${value}</small>
|
||||
</label>
|
||||
</li>
|
||||
`;
|
||||
} else {
|
||||
return `
|
||||
<li class="px-2" data-id="${id}">
|
||||
<label class="w-100">
|
||||
<label class="w-100 d-flex align-items-center">
|
||||
<input type="checkbox" data-field="${field_name}" data-id="${id}">
|
||||
<small>${value}</small>
|
||||
<small class="ml-2">${value}</small>
|
||||
</label>
|
||||
</li>
|
||||
`;
|
||||
|
||||
@ -1,24 +1,18 @@
|
||||
{% if setting_value('visiosoft.module.location::hide_location_filter') == false %}
|
||||
{% if setting_value('visiosoft.module.location::list_page_location') %}
|
||||
<div class="card mb-3">
|
||||
<div class="card-header breadcrumb mb-0" id="locationHeading">
|
||||
<h5 class="mb-0">
|
||||
<button class="btn btn-link text-dark d-flex align-items-center" data-toggle="collapse"
|
||||
data-target="#location" aria-expanded="true" aria-controls="location">
|
||||
{# <img src="{{ img('visiosoft.module.location::images/location-icon.svg').url }}" class="mr-2"#}
|
||||
{# alt="location icon">#}
|
||||
<span>{{ trans("visiosoft.module.location::addon.title") }}</span>
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="location" class="collapse show overflow-auto" aria-labelledby="locationHeading">
|
||||
{% include "visiosoft.module.location::ads-list/partials/location-fields" %}
|
||||
</div>
|
||||
{% if setting_value('visiosoft.module.location::hide_location_filter') == false and setting_value('visiosoft.module.location::list_page_location') %}
|
||||
<div id="location" class="border rounded filter-box p-3 mb-3 position-relative">
|
||||
<div class="d-flex align-items-center justify-content-between px-2 border-bottom mb-3 pb-1">
|
||||
<p>{{ trans("visiosoft.module.location::addon.title") }}</p>
|
||||
{{ img('visiosoft.module.advs::images/listing/filter-arrow.svg').data|raw }}
|
||||
</div>
|
||||
<script>
|
||||
var select_trans = "{{ trans('visiosoft.module.location::field.pick_option.name') }}";
|
||||
</script>
|
||||
{{ asset_add("scripts.js", "visiosoft.module.location::js/filterLocation.js") }}
|
||||
{{ asset_add("styles.css", "visiosoft.module.location::css/filterLocation.css") }}
|
||||
{% endif %}
|
||||
|
||||
{% include "visiosoft.module.location::ads-list/partials/location-fields" %}
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var select_trans = "{{ trans('visiosoft.module.location::field.pick_option.name') }}";
|
||||
</script>
|
||||
|
||||
{{ asset_add("scripts.js", "visiosoft.module.location::js/filterLocation.js") }}
|
||||
{{ asset_add("styles.css", "visiosoft.module.location::css/filterLocation.css") }}
|
||||
{% endif %}
|
||||
@ -1,109 +1,112 @@
|
||||
<div class="row w-100 px-2 m-0">
|
||||
{% set defaultCountry = setting_value('visiosoft.module.location::default_country') %}
|
||||
{% set selectedCountry = app.request.get('country') %}
|
||||
{% set defaultCountry = setting_value('visiosoft.module.location::default_country') %}
|
||||
{% set selectedCountry = app.request.get('country') %}
|
||||
|
||||
{% if selectedCountry %}
|
||||
{% set countryName = getCountry(selectedCountry).name %}
|
||||
{% set countryValue = defaultCountry == selectedCountry ? '' : selectedCountry %}
|
||||
{% set selected_countries_name = [] %}
|
||||
{% for selectedCountry in selectedCountry[0]|split(',') %}
|
||||
{% set selected_countries_name = selected_countries_name|merge([getCountry(selectedCountry|trim(',')).name]) %}
|
||||
{% endfor %}
|
||||
{% elseif defaultCountry %}
|
||||
{% set countryName = getCountry(defaultCountry).name %}
|
||||
{% set countryValue = defaultCountry %}
|
||||
{% else %}
|
||||
{% set countryName = trans("visiosoft.module.location::field.country.name") %}
|
||||
{% set countryValue = '' %}
|
||||
{% if selectedCountry %}
|
||||
{% set countryName = getCountry(selectedCountry).name %}
|
||||
{% set countryValue = defaultCountry == selectedCountry ? '' : selectedCountry %}
|
||||
{% set selected_countries_name = [] %}
|
||||
{% for selectedCountry in selectedCountry[0]|split(',') %}
|
||||
{% set selected_countries_name = selected_countries_name|merge([getCountry(selectedCountry|trim(',')).name]) %}
|
||||
{% endfor %}
|
||||
{% elseif defaultCountry %}
|
||||
{% set countryName = getCountry(defaultCountry).name %}
|
||||
{% set countryValue = defaultCountry %}
|
||||
{% else %}
|
||||
{% set countryName = trans("visiosoft.module.location::field.country.name") %}
|
||||
{% endif %}
|
||||
<div class="col-12 px-0 py-1">
|
||||
<button type="button" class="btn btn-default border border-1 w-100 selected-country filter-country-btn"
|
||||
data-toggle="modal">
|
||||
<span class="float-left">
|
||||
{{ trans("visiosoft.module.location::field.country.name") }}
|
||||
<small class="text-muted selected-country">{{ countryName }} {{ selected_countries_name|join(',') }}</small>
|
||||
</span>
|
||||
<i class="fas fa-sort-down float-right"></i>
|
||||
</button>
|
||||
<input name="country[]" id="listCountryFilter" type="hidden" multiple
|
||||
value="{% if countrySlug %}{{ countrySlug.id }}{% else %}{{ params.param['country']|join(',') }}{% endif %}">
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="col-12 px-0 py-1">
|
||||
<button type="button" class="btn btn-default border border-1 w-100 filter-city-btn" data-toggle="modal"
|
||||
data-parent="">
|
||||
<span class="float-left">{{ trans("visiosoft.module.location::field.city.name") }}</span>
|
||||
<i class="fas fa-sort-down float-right"></i>
|
||||
</button>
|
||||
{% set citySlug = null %}
|
||||
{% set pathInfo = app.request.pathinfo|split('/') %}
|
||||
{% if pathInfo|length is same as(4) %}
|
||||
{% set citySlug = entries('location', 'cities').findBy('slug', pathInfo[3]) %}
|
||||
{% set selected_cities_name = [getCity(citySlug.id).name] %}
|
||||
{% else %}
|
||||
{% set selected_cities = params.param['city'] %}
|
||||
{% set selected_cities_name = [] %}
|
||||
{% for selected_city in selected_cities[0]|split(',') %}
|
||||
{% set selected_cities_name = selected_cities_name|merge([getCity(selected_city|trim(',')).name]) %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<div class="text-muted selected-city">
|
||||
<small>{{ selected_cities_name|join(',') }}</small>
|
||||
</div>
|
||||
<input name="city[]" id="listCityFilter" type="hidden"
|
||||
value="{% if citySlug %}{{ citySlug.id }}{% else %}{{ params.param['city']|join(',') }}{% endif %}">
|
||||
</div>
|
||||
<div class="col-12 px-0 py-1">
|
||||
<button type="button" class="btn btn-default border border-1 w-100 filter-district-btn" data-toggle="modal"
|
||||
data-parent="">
|
||||
<span class="float-left">{{ trans("visiosoft.module.location::field.district.name") }}</span>
|
||||
<i class="fas fa-sort-down float-right"></i>
|
||||
</button>
|
||||
{% set selected_districts = app.request.get('district') %}
|
||||
{% set selected_districts_name = [] %}
|
||||
{% for selected_district in selected_districts[0]|split(',') %}
|
||||
{% set selected_districts_name = selected_districts_name|merge([getDistrict(selected_district|trim(',')).name]) %}
|
||||
{% endfor %}
|
||||
<div class="text-muted selected-district">
|
||||
<small>{{ selected_districts_name|join(',') }}</small>
|
||||
</div>
|
||||
<input name="district[]" value="{{ app.request.get('district')|join(',') }}" type="hidden">
|
||||
</div>
|
||||
<div class="col-12 px-0 py-1">
|
||||
<button type="button" class="btn btn-default border border-1 w-100 filter-neighborhood-btn" data-toggle="modal"
|
||||
data-parent="">
|
||||
<span class="float-left">{{ trans("visiosoft.module.location::field.neighborhood.name") }}</span>
|
||||
<i class="fas fa-sort-down float-right"></i>
|
||||
</button>
|
||||
{% set selected_neighborhoods = app.request.get('neighborhood') %}
|
||||
{% set selected_neighborhoods_name = [] %}
|
||||
{% for selected_neighborhood in selected_neighborhoods[0]|split(',') %}
|
||||
{% set selected_neighborhoods_name = selected_neighborhoods_name|merge([getNeighborhood(selected_neighborhood|trim(',')).name]) %}
|
||||
{% endfor %}
|
||||
<div class="text-muted selected-neighborhood">
|
||||
<small>{{ selected_neighborhoods_name|join(',') }}</small>
|
||||
</div>
|
||||
<input name="neighborhood[]" value="{{ app.request.get('neighborhood')|join(',') }}" type="hidden">
|
||||
</div>
|
||||
<div class="col-12 px-0 py-1">
|
||||
<button type="button" class="btn btn-default border border-1 w-100 filter-village-btn" data-toggle="modal"
|
||||
data-parent="">
|
||||
<span class="float-left">{{ trans("visiosoft.module.location::field.village.name") }}</span>
|
||||
<i class="fas fa-sort-down float-right"></i>
|
||||
</button>
|
||||
{% set selected_villages = app.request.get('village') %}
|
||||
{% set selected_villages_name = [] %}
|
||||
{% for selected_village in selected_villages[0]|split(',') %}
|
||||
{% set selected_villages_name = selected_villages_name|merge([getVillage(selected_village|trim(',')).name]) %}
|
||||
{% endfor %}
|
||||
<div class="text-muted selected-village">
|
||||
<small>{{ selected_villages_name|join(',') }}</small>
|
||||
</div>
|
||||
<input name="village[]" value="{{ app.request.get('village')|join(',') }}" type="hidden">
|
||||
</div>
|
||||
{% set citySlug = null %}
|
||||
{% set pathInfo = app.request.pathinfo|split('/') %}
|
||||
{% if pathInfo|length is same as(4) %}
|
||||
{% set citySlug = entries('location', 'cities').findBy('slug', pathInfo[3]) %}
|
||||
{% set selected_cities_name = [getCity(citySlug.id).name] %}
|
||||
{% else %}
|
||||
{% set selected_cities = params.param['city'] %}
|
||||
{% set selected_cities_name = [] %}
|
||||
{% for selected_city in selected_cities[0]|split(',') %}
|
||||
{% set selected_cities_name = selected_cities_name|merge([getCity(selected_city|trim(',')).name]) %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% set selected_districts = app.request.get('district') %}
|
||||
{% set selected_districts_name = [] %}
|
||||
{% for selected_district in selected_districts[0]|split(',') %}
|
||||
{% set selected_districts_name = selected_districts_name|merge([getDistrict(selected_district|trim(',')).name]) %}
|
||||
{% endfor %}
|
||||
|
||||
{% set selected_neighborhoods = app.request.get('neighborhood') %}
|
||||
{% set selected_neighborhoods_name = [] %}
|
||||
{% for selected_neighborhood in selected_neighborhoods[0]|split(',') %}
|
||||
{% set selected_neighborhoods_name = selected_neighborhoods_name|merge([getNeighborhood(selected_neighborhood|trim(',')).name]) %}
|
||||
{% endfor %}
|
||||
|
||||
{% set selected_villages = app.request.get('village') %}
|
||||
{% set selected_villages_name = [] %}
|
||||
{% for selected_village in selected_villages[0]|split(',') %}
|
||||
{% set selected_villages_name = selected_villages_name|merge([getVillage(selected_village|trim(',')).name]) %}
|
||||
{% endfor %}
|
||||
|
||||
<div class="px-2 mb-3">
|
||||
<!-- Start country filter -->
|
||||
<button class="d-flex align-items-center justify-content-between w-100 border-0 mb-1 rounded shadow-sm filter-country-btn"
|
||||
type="button" data-toggle="modal">
|
||||
<p class="selected-country mr-2 text-truncate">
|
||||
{{ selected_countries_name ? selected_countries_name|join(', ') : countryName }}
|
||||
</p>
|
||||
{{ img('visiosoft.module.advs::images/listing/filter-arrow.svg').data|raw }}
|
||||
</button>
|
||||
<input name="country[]" id="listCountryFilter" type="hidden" multiple
|
||||
value="{{ countrySlug ? countrySlug.id : params.param['country']|join(',') }}">
|
||||
<!-- End country filter -->
|
||||
|
||||
<!-- Start city filter -->
|
||||
<button class="d-flex align-items-center justify-content-between w-100 border-0 mb-1 rounded shadow-sm filter-city-btn"
|
||||
type="button" data-toggle="modal">
|
||||
<p class="selected-city mr-2 text-truncate">
|
||||
{{ selected_cities_name[0] ? selected_cities_name|join(', ') : trans("visiosoft.module.location::field.city.name") }}
|
||||
</p>
|
||||
{{ img('visiosoft.module.advs::images/listing/filter-arrow.svg').data|raw }}
|
||||
</button>
|
||||
<input name="city[]" id="listCityFilter" type="hidden"
|
||||
value="{{ citySlug ? citySlug.id : params.param['city']|join(',') }}">
|
||||
<!-- End city filter -->
|
||||
|
||||
<!-- Start district filter -->
|
||||
<button class="d-flex align-items-center justify-content-between w-100 border-0 mb-1 rounded shadow-sm filter-district-btn"
|
||||
type="button" data-toggle="modal">
|
||||
<p class="selected-district mr-2 text-truncate">
|
||||
{{ selected_districts_name[0] ? selected_districts_name|join(', ') : trans("visiosoft.module.location::field.district.name") }}
|
||||
</p>
|
||||
{{ img('visiosoft.module.advs::images/listing/filter-arrow.svg').data|raw }}
|
||||
</button>
|
||||
<input name="district[]" value="{{ app.request.get('district')|join(',') }}" type="hidden">
|
||||
<!-- End district filter -->
|
||||
|
||||
<!-- Start neighborhood filter -->
|
||||
<button class="d-flex align-items-center justify-content-between w-100 border-0 mb-1 rounded shadow-sm filter-neighborhood-btn"
|
||||
type="button" data-toggle="modal">
|
||||
<p class="selected-neighborhood mr-2 text-truncate">
|
||||
{{ selected_neighborhoods_name[0] ? selected_neighborhoods_name|join(', ') : trans("visiosoft.module.location::field.neighborhood.name") }}
|
||||
</p>
|
||||
{{ img('visiosoft.module.advs::images/listing/filter-arrow.svg').data|raw }}
|
||||
</button>
|
||||
<input name="neighborhood[]" value="{{ app.request.get('neighborhood')|join(',') }}" type="hidden">
|
||||
<!-- End neighborhood filter -->
|
||||
|
||||
<!-- Start village filter -->
|
||||
<button class="d-flex align-items-center justify-content-between w-100 border-0 mb-1 rounded shadow-sm filter-village-btn"
|
||||
type="button" data-toggle="modal">
|
||||
<p class="selected-village mr-2 text-truncate">
|
||||
{{ selected_villages_name[0] ? selected_villages_name|join(', ') : trans("visiosoft.module.location::field.village.name") }}
|
||||
</p>
|
||||
{{ img('visiosoft.module.advs::images/listing/filter-arrow.svg').data|raw }}
|
||||
</button>
|
||||
<input name="village[]" value="{{ app.request.get('village')|join(',') }}" type="hidden">
|
||||
<!-- End village filter -->
|
||||
</div>
|
||||
|
||||
<div class="modal-content position-absolute filter-location-modal" style="z-index: 9999;display: none">
|
||||
<div class="modal-content position-absolute filter-location-modal" style="z-index: 9999; left: 0; display: none">
|
||||
<div class="modal-header">
|
||||
<input type="text" id="searchLocation" class="form-control"
|
||||
placeholder="{{ trans('visiosoft.module.location::message.placeholder') }}">
|
||||
|
||||