1x Samsung Galaxy Buds2 Right Ear Replacement (Standard size ear-tip). No other accessories included.
Orders ship same or next business day. Estimated delivery: 3-5 Business Days via USPS First Class.
We offer returns if you are dissatisfied or unable to pair the device. Contact us first for assistance.
This is a genuine Samsung replacement part and will sound the same as your original piece.
Yes! You can purchase just the right earbud. Availability may varyβorder from a trusted supplier like ReCellExchange.
document.addEventListener("DOMContentLoaded", function() {
// Accordion functionality
var accordions = document.querySelectorAll(".accordion");
accordions.forEach(function(acc) {
acc.addEventListener("click", function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.display === "block") {
panel.style.display = "none";
} else {
panel.style.display = "block";
}
});
});
// Bundle popup functionality
// Show popup after 10 seconds
setTimeout(function() {
showBundlePopup();
}, 10000);
// Close popup with Escape key
document.addEventListener('keydown', function(e) {
if (e.key === 'Escape') {
hideBundlePopup();
}
});
});
function checkMatchingStock(currentVariantId) {
// Map current variant to matching variant
const variantMap = {
'42793576988833': '42793547694241', // Graphite Right β Left
'42793577087137': '42793547825313', // White Right β Left
'42793577021601': '42793547759777', // Violet Right β Left
'42793577054369': '42793547792545', // Olive Right β Left
'42795590942881': '42795590549665' // Phantom Black Right β Left
};
const matchingVariantId = variantMap[currentVariantId];
if (!matchingVariantId) {
console.log('No matching variant found for:', currentVariantId);
return false;
}
// Since we can't easily check cross-product inventory,
// let's use a simpler approach: only hide popup for specific known out-of-stock combinations
// List of variant combinations that should NOT show popup (both current β matching)
const outOfStockCombinations = [
// Add pairs here when you know both are out of stock
// Format: 'currentVariantId:matchingVariantId'
// Example: '42795590942881:42795590549665', // Phantom Black pair both out of stock
];
const combination = `${currentVariantId}:${matchingVariantId}`;
if (outOfStockCombinations.includes(combination)) {
console.log('Bundle combination is out of stock:', combination);
return false;
}
// For most cases, show the popup and let Shopify handle stock at checkout
console.log('Bundle available for:', currentVariantId, 'β', matchingVariantId);
return true;
}
function showBundlePopup() {
// Get current selected variant
let currentVariantId = null;
const variantSelect = document.querySelector('select[name="id"]');
const variantInput = document.querySelector('input[name="id"]');
const variantRadio = document.querySelector('input[name="id"]:checked');
if (variantSelect) currentVariantId = variantSelect.value;
else if (variantInput) currentVariantId = variantInput.value;
else if (variantRadio) currentVariantId = variantRadio.value;
// Check URL for variant parameter as fallback
const urlParams = new URLSearchParams(window.location.search);
const urlVariant = urlParams.get('variant');
if (urlVariant) currentVariantId = urlVariant;
console.log('Checking stock for current variant:', currentVariantId);
// Only show popup if matching piece is in stock
if (!currentVariantId || !checkMatchingStock(currentVariantId)) {
console.log('Bundle popup not shown - matching variant out of stock or not found');
return;
}
const overlay = document.getElementById('bundlePopupOverlay');
if (overlay) {
// Update images based on selected variant before showing popup
updatePopupImages();
overlay.classList.add('active');
document.body.style.overflow = 'hidden';
}
}
function updatePopupImages() {
// Get current selected variant ID (same logic as addBundleToCart)
let currentVariantId = null;
const variantSelect = document.querySelector('select[name="id"]');
const variantInput = document.querySelector('input[name="id"]');
const variantRadio = document.querySelector('input[name="id"]:checked');
if (variantSelect) currentVariantId = variantSelect.value;
else if (variantInput) currentVariantId = variantInput.value;
else if (variantRadio) currentVariantId = variantRadio.value;
// Check URL for variant parameter
const urlParams = new URLSearchParams(window.location.search);
const urlVariant = urlParams.get('variant');
if (urlVariant) currentVariantId = urlVariant;
// Determine color and set images
const leftImage = document.querySelector('.bundle-ear-circle.bundle-left img');
const rightImage = document.querySelector('.bundle-ear-circle.bundle-right img');
console.log('Current variant for images:', currentVariantId);
// Determine which color to show based on variant ID or URL
if (currentVariantId === '42793577087137' || // White Right Ear
window.location.href.toLowerCase().includes('white')) {
// Set white Buds2 images
leftImage.src = 'https://cdn.shopify.com/s/files/1/0525/8982/2113/files/ChatGPT_Image_Jul_2_2025_11_24_20_AM.png?v=1751480674';
leftImage.alt = 'Galaxy Buds2 White Left Ear';
rightImage.src = 'https://cdn.shopify.com/s/files/1/0525/8982/2113/files/ChatGPT_Image_Jul_2_2025_09_52_57_AM.png?v=1751475423';
rightImage.alt = 'Galaxy Buds2 White Right Ear';
} else if (currentVariantId === '42795590942881' || // Phantom Black Right Ear
window.location.href.toLowerCase().includes('phantom') || window.location.href.toLowerCase().includes('black')) {
// Set phantom black Buds2 images
leftImage.src = 'https://cdn.shopify.com/s/files/1/0525/8982/2113/files/BLACKLEFTEAR_e6da1c73-3c2c-4878-9060-6b959818e2a3.png?v=1751480179';
leftImage.alt = 'Galaxy Buds2 Phantom Black Left Ear';
rightImage.src = 'https://cdn.shopify.com/s/files/1/0525/8982/2113/files/ChatGPT_Image_Jul_2_2025_09_38_36_AM.png?v=1751474358';
rightImage.alt = 'Galaxy Buds2 Phantom Black Right Ear';
} else if (currentVariantId === '42793577021601' || // Violet Right Ear
window.location.href.toLowerCase().includes('violet')) {
// Set violet Buds2 images
leftImage.src = 'https://cdn.shopify.com/s/files/1/0525/8982/2113/files/ChatGPT_Image_Jul_2_2025_11_15_09_AM.png?v=1751480179';
leftImage.alt = 'Galaxy Buds2 Violet Left Ear';
rightImage.src = 'https://cdn.shopify.com/s/files/1/0525/8982/2113/files/ChatGPT_Image_Jul_2_2025_09_48_53_AM.png?v=1751474963';
rightImage.alt = 'Galaxy Buds2 Violet Right Ear';
} else if (currentVariantId === '42793577054369' || // Olive Right Ear
window.location.href.toLowerCase().includes('olive')) {
// Set olive Buds2 images
leftImage.src = 'https://cdn.shopify.com/s/files/1/0525/8982/2113/files/OLIVELEFTEAR_27b41937-233f-42a7-a2c4-df3b7e0b3d2d.png?v=1751480179';
leftImage.alt = 'Galaxy Buds2 Olive Left Ear';
rightImage.src = 'https://cdn.shopify.com/s/files/1/0525/8982/2113/files/ChatGPT_Image_Jul_2_2025_09_56_07_AM.png?v=1751475423';
rightImage.alt = 'Galaxy Buds2 Olive Right Ear';
} else {
// Set graphite Buds2 images (default) - includes graphite variant ID check
leftImage.src = 'https://cdn.shopify.com/s/files/1/0525/8982/2113/files/ChatGPT_Image_Jul_2_2025_09_22_53_AM.png?v=1751473452';
leftImage.alt = 'Galaxy Buds2 Graphite Left Ear';
rightImage.src = 'https://cdn.shopify.com/s/files/1/0525/8982/2113/files/ChatGPT_Image_Jul_2_2025_09_46_12_AM_c6e44c61-6bda-4fb9-8bf3-0c2ec7cb9bb1.png?v=1751475423';
rightImage.alt = 'Galaxy Buds2 Graphite Right Ear';
}
}
function hideBundlePopup() {
const overlay = document.getElementById('bundlePopupOverlay');
if (overlay) {
overlay.classList.remove('active');
document.body.style.overflow = 'auto';
}
}
function addBundleToCart() {
// Method 1: Check for Shopify's current variant (most reliable)
let currentVariantId = null;
// Try to get from common Shopify variant selectors
const variantSelect = document.querySelector('select[name="id"]');
const variantInput = document.querySelector('input[name="id"]');
const variantRadio = document.querySelector('input[name="id"]:checked');
if (variantSelect) {
currentVariantId = variantSelect.value;
} else if (variantInput) {
currentVariantId = variantInput.value;
} else if (variantRadio) {
currentVariantId = variantRadio.value;
}
// Method 2: Check URL parameters for variant
const urlParams = new URLSearchParams(window.location.search);
const urlVariant = urlParams.get('variant');
if (urlVariant) {
currentVariantId = urlVariant;
}
// Method 3: Check page content and URL for color keywords
const pageUrl = window.location.href.toLowerCase();
// Method 4: Check for selected color option text
const selectedOptions = document.querySelectorAll('.product-form__input:checked, .swatch-element.color input:checked, .variant-input:checked');
let selectedColorText = '';
selectedOptions.forEach(option => {
const label = document.querySelector(`label[for="${option.id}"]`);
if (label) selectedColorText += label.textContent.toLowerCase() + ' ';
});
console.log('Current variant ID:', currentVariantId);
console.log('Selected color text:', selectedColorText);
console.log('Page URL:', pageUrl);
// Check for Galaxy Buds2 color variants
const isGraphite = selectedColorText.includes('graphite') || pageUrl.includes('graphite') ||
currentVariantId === '42793576988833'; // Graphite Right Ear
const isWhite = selectedColorText.includes('white') || pageUrl.includes('white') ||
currentVariantId === '42793577087137'; // White Right Ear
const isPhantomBlack = selectedColorText.includes('phantom') || selectedColorText.includes('black') ||
pageUrl.includes('phantom') || pageUrl.includes('black') ||
currentVariantId === '42795590942881'; // Phantom Black Right Ear
const isViolet = selectedColorText.includes('violet') || pageUrl.includes('violet') ||
currentVariantId === '42793577021601'; // Violet Right Ear
const isOlive = selectedColorText.includes('olive') || pageUrl.includes('olive') ||
currentVariantId === '42793577054369'; // Olive Right Ear
// Set appropriate variant IDs based on color for Galaxy Buds2
let leftEarVariantId, rightEarVariantId;
let colorName;
// First try to map directly from current variant ID if we have it
if (currentVariantId) {
// Map known right ear variants to their corresponding left ear variants
const variantMap = {
'42793576988833': { left: '42793547694241', color: 'Graphite' },
'42793577087137': { left: '42793547825313', color: 'White' },
'42795590942881': { left: '42795590549665', color: 'Phantom Black' },
'42793577021601': { left: '42793547759777', color: 'Violet' },
'42793577054369': { left: '42793547792545', color: 'Olive' }
};
const mappedVariant = variantMap[currentVariantId];
if (mappedVariant) {
rightEarVariantId = currentVariantId;
leftEarVariantId = mappedVariant.left;
colorName = mappedVariant.color;
}
}
// Fallback to color detection if variant mapping didn't work
if (!leftEarVariantId) {
if (isGraphite) {
leftEarVariantId = '42793547694241'; // Graphite Left Ear
rightEarVariantId = '42793576988833'; // Graphite Right Ear
colorName = 'Graphite';
} else if (isWhite) {
leftEarVariantId = '42793547825313'; // White Left Ear
rightEarVariantId = '42793577087137'; // White Right Ear
colorName = 'White';
} else if (isPhantomBlack) {
leftEarVariantId = '42795590549665'; // Phantom Black Left Ear
rightEarVariantId = '42795590942881'; // Phantom Black Right Ear
colorName = 'Phantom Black';
} else if (isViolet) {
leftEarVariantId = '42793547759777'; // Violet Left Ear
rightEarVariantId = '42793577021601'; // Violet Right Ear
colorName = 'Violet';
} else if (isOlive) {
leftEarVariantId = '42793547792545'; // Olive Left Ear
rightEarVariantId = '42793577054369'; // Olive Right Ear
colorName = 'Olive';
} else {
// Default to Graphite if we can't detect color
leftEarVariantId = '42793547694241';
rightEarVariantId = '42793576988833';
colorName = 'Graphite';
}
}
console.log('Adding ' + colorName + ' Galaxy Buds2 complete set to cart');
console.log('Right Ear Variant ID: ' + rightEarVariantId);
console.log('Left Ear Variant ID: ' + leftEarVariantId);
// Add both ears to cart (right ear first since they're on right ear page)
fetch('/cart/add.js', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
items: [
{
id: rightEarVariantId,
quantity: 1
},
{
id: leftEarVariantId,
quantity: 1
}
]
})
})
.then(response => response.json())
.then(data => {
if (data.items && data.items.length > 0) {
// Success! Redirect to cart
hideBundlePopup();
window.location.href = '/cart';
} else {
throw new Error('Failed to add items to cart');
}
})
.catch(error => {
console.error('Error:', error);
alert('Sorry, the matching ear piece is currently out of stock. You can still purchase this single ear or check back later for the bundle deal!');
});
}
Choosing a selection results in a full page refresh.