La Plage Metallic Tote
Color:
- {
const colors = [...$root.children].map(child => child.dataset.color);
let list = []
let labeledGroups = []
const labels = []
// parse the sequence of labels/colors into an array of objects
for (let i = 0; i < labels.length; i++) {
if (i%2) {
list.push({
title: labels[i],
value: labels[i-1]
})
}
}
// merge objects with same title
list.forEach(el => {
if (labeledGroups.some(g => g.title.toLowerCase() == el.title.toLowerCase())) {
labeledGroups.find(g => g.title.toLowerCase() == el.title.toLowerCase()).values.push(el.value)
} else {
labeledGroups.push({
title: el.title,
values: [el.value]
})
}
})
// if any of the title is 'sale colors', move it to the bottom
if (labeledGroups.some(g => g.title.toLowerCase() == 'sale colors')) {
const classicColors = labeledGroups.find(g => g.title.toLowerCase() == 'sale colors')
labeledGroups = labeledGroups.filter(g => g.title.toLowerCase() != 'sale colors')
labeledGroups.unshift(classicColors)
}
// if any of the title is 'classic colors', move it to the top
if (labeledGroups.some(g => g.title.toLowerCase() == 'classic colors')) {
const classicColors = labeledGroups.find(g => g.title.toLowerCase() == 'classic colors')
labeledGroups = labeledGroups.filter(g => g.title.toLowerCase() != 'classic colors')
labeledGroups.unshift(classicColors)
}
// if any of the title is 'new seasonal colors', move it to the top
if (labeledGroups.some(g => g.title.toLowerCase() == 'new seasonal colors')) {
const classicColors = labeledGroups.find(g => g.title.toLowerCase() == 'new seasonal colors')
labeledGroups = labeledGroups.filter(g => g.title.toLowerCase() != 'new seasonal colors')
labeledGroups.unshift(classicColors)
}
// if any of the title contains 'new!', move it to the top
if (labeledGroups.some(g => g.title.toLowerCase().includes('new!'))) {
const classicColors = labeledGroups.find(g => g.title.toLowerCase().includes('new!'))
labeledGroups = labeledGroups.filter(g => g.title.toLowerCase().includes('new!') - 1)
labeledGroups.unshift(classicColors)
}
// add all html elements matching the color value
labeledGroups.forEach(group => {
group.items = []
group.values.forEach(value => {
group.items.push([...$root.children].filter(child => child.dataset.color == value)[0])
})
});
labeledGroups.unshift(groups[0])
labeledGroups.forEach(group => {
const el = document.createElement('li');
if (group.title) {
el.innerHTML = '
' + group.title + '
'; el.querySelector('p').className = 'sm-feat-cap mb-[5px] mt-[10px]'; } if (group.title == 'SALE COLORS') { el.innerHTML = '' + group.title + '
'; el.querySelector('p').className = 'sm-feat-cap text-red mb-[5px] mt-[10px]'; } el.innerHTML += 'Bold and metallic! This tote is the perfect stylish addition to your outfit on the go. Keep your look elevated even when you’ve got a lot to carry and places to be. The straps on the outside of the bag are perfect for carrying your hat without crushing the top of it or bending your brim and the external pocket provides extra storage for anything you’ll need to grab quick. We love when utility pairs with style.
- Straps function as hat storage
- Made with 92% recycled polyester, 5% nylon, 3% spandex
- Spot clean only
- Imported
- 9.5" W x 8.5" H
Shipping:
For all US customers, we offer Expedited Shipping (2-business days) and Standard Shipping (2 - 5 business days). For international customers, we offer Standard Shipping (3 - 5 business days).
All orders are processed on the same day or the next business day (excluding weekends or holidays) from our Kansas warehouse. Please visit our shipping page for more details on tracking, import charges and more.
See all shipping details here.
Returns & exchanges:
Exchanges and returns for store credit are free and are honored for 30 days from the date of receipt. Returns for refunds are honored for 30 days from the date of receipt and have a $7.99 shipping label fee.