Make it stand out.
Our Services
<script>
document.addEventListener('DOMContentLoaded', function() {
const filters = {
category: 'all',
size: [],
color: [],
price: 100
};
const filterItems = document.querySelectorAll('.custom-sidebar-filters .filter-item');
const slider = document.getElementById('priceRange');
const priceValue = document.getElementById('priceValue');
const products = document.querySelectorAll('.sqs-block.products-block .sqs-block-content .sqs-product');
// Update price label
slider.addEventListener('input', function() {
filters.price = parseInt(this.value);
priceValue.textContent = `$0 - $${this.value}`;
applyFilters();
});
// Handle click filters
filterItems.forEach(btn => {
btn.addEventListener('click', function(e){
e.preventDefault();
// Determine filter type
const type = this.classList.contains('category') ? 'category' :
this.classList.contains('size') ? 'size' :
this.classList.contains('color-swatch') ? 'color' : null;
if(!type) return;
// Toggle active
if(this.classList.contains('active')){
if(type !== 'category') this.classList.remove('active');
} else {
if(type === 'category'){
// Only one category active at a time
filterItems.forEach(f => f.classList.remove('active'));
this.classList.add('active');
} else {
this.classList.add('active');
}
}
// Update filters object
filters[type] = (type === 'category') ? this.dataset.filter :
Array.from(document.querySelectorAll(`.custom-sidebar-filters .${type}.active`)).map(b=>b.dataset.filter);
applyFilters();
});
});
function applyFilters() {
products.forEach(p => {
const cat = p.dataset.category;
const size = p.dataset.size ? p.dataset.size.split(',') : [];
const color = p.dataset.color ? p.dataset.color.split(',') : [];
const price = parseInt(p.dataset.price);
let visible = true;
// Category filter
if(filters.category !== 'all' && cat !== filters.category) visible = false;
// Size filter
if(filters.size.length > 0 && !filters.size.some(f => size.includes(f))) visible = false;
// Color filter
if(filters.color.length > 0 && !filters.color.some(f => color.includes(f))) visible = false;
// Price filter
if(price > filters.price) visible = false;
p.style.display = visible ? '' : 'none';
});
}
});
</script>
About our offering
-
✺
It all begins with an idea. Maybe you want to launch a business. Maybe you want to turn a hobby into something more.
-
✺
It all begins with an idea. Maybe you want to launch a business. Maybe you want to turn a hobby into something more.
-
✺
It all begins with an idea. Maybe you want to launch a business. Maybe you want to turn a hobby into something more.