- THE RESORT SHOP
- Sunglasses
- Live Shopping
- Sign in
- Refer A Friend
- Login
SHOPPING BAG
FREE SHIPPING ON ALL ORDERS (USA) + FREE EXCHANGES
Shop Now. Pay Later. Interest-Free.
Filter & Sort
${dummyText}
` : ''); return window.spotDefault.createElement(`<${itemWrapper} ${href} class="product-card__link"> ${dummyMedia} ${itemWrapper}>
${dummyTextHTML}
${product_badge.value}
`; } const { options } = product; let color_position = ''; let color_array = options.reduce(function(colors, option) { if(option.name === "Color") { colors = colors.concat(option.values); color_position = `option${option.position}`; } return colors; }, []); const variant_color = productFilteredVariants[0][color_position]; const swatches = []; let index = 0; const swatch_color_images = []; const product_multi_swatch = product.metafields.find(metafield => { return metafield.key === "swatch_color"; }); const metafieldVariants = product.variants.filter(item => { const hidden = (productTags.includes("hide-"+item.option1.toLowerCase().replace(" ", ""))); return (!hidden) }); let variant_multi_swatches = metafieldVariants.filter(variant => { return variant.metafields.find(metafield => { return metafield.key === "swatch_color"; }); }).map(variant => { const variant_metafield = variant.metafields.find(metafield => { return metafield.key === "swatch_color"; }); if(variant_metafield) { return { "variant": variant, "color": variant_metafield } } }); const variant_color_index = color_array.indexOf(variant_color); if(variant_color_index > 3) { const start_position = variant_color_index - 3; color_array = color_array.slice(start_position); } color_array.forEach(function(color) {let lowercase_color = color.toLowerCase().replace(' ', '-'); let handleized_color = spotDOM.handleize(color);if (!productTags.map(x => x.toLocaleLowerCase().replace(" ", "")).includes("hide-"+lowercase_color) && !productTags.map(x => x.toLocaleLowerCase().replace(" ", "")).includes("hide-manual-"+lowercase_color)) {if(index == 4) { swatches.push(`+`); index++; } else if (index > 4) { return; } else { let has_image = false; const color_image = product.images.find(image => { if (image.alt === color && image.alt !== variant_color) { return true; } }); if(color_image) { swatch_color_images.push(color_image); has_image = true; } else if (color === variant_color) { has_image = true; } if(has_image) { let swatch_value = ''; if(product_multi_swatch || variant_multi_swatches.length > 0) { if(!!product_multi_swatch && color === "multi") { swatch_value = product_multi_swatch.value; } else if(variant_multi_swatches.length > 0) { variant_multi_swatches.forEach(item => { if(item.variant[color_position] === color) { swatch_value = item.color.value; } }); } } let lowercase_color = color.toLowerCase().replaceAll(' ', '-'); let handleized_color = spotDOM.handleize(color); const multi_swatch_image = `//cdn.shopify.com/s/files/1/0076/7075/9477/files/${swatch_value}.png`;const backup_swatch_image = `//cdn.shopify.com/s/files/1/0076/7075/9477/files/color-${handleized_color}.png`if (!productTags.map(x => x.toLocaleLowerCase().replace(" ", "")).includes("hide-"+lowercase_color) && !productTags.includes("hide-manual-"+lowercase_color)) {let varId = "";product.variants.some(obj => {if (obj.option1.toLowerCase() === color.toLowerCase()) {return (varId = obj.id)}}); swatches.push(``);} } index++; }} }); swatch_color_images.forEach(image => {if (hasVideoAndVideoTag(product, image.alt)) {optionImageHTML = optionImageHTML + videoHTML(product, image.alt, false);} else {addToImageHTML(image, mainImage = false);} }); if (product.tags.includes('pre-launch')) { var preLaunchClass = "pre-launch";} else { var preLaunchClass = '';}let linkUrl;if (product.metafields.find(m => m.key === "custom_redirect_url")) {linkUrl = correctUrl(product.metafields.find(m => m.key === "custom_redirect_url").value);} else {linkUrl = correctUrl(window.spotDOM.getProductURL(product));}let prodCard = window.spotDefault.createElement(`${product_badge_in_collection !== undefined ? `
${product_badge_in_collection.value}
` : ""}
${badgeHTML}
${productTitle}
${window.spotDOM.formatMoney(firstVariant.price)}
${(swatches.length > 0 ? '
' : '')}${swatches.join('')}${(swatches.length > 0 ? '
' : '')}