- 100% Genuine Samsung Earbud Replacement.
- Fully Functional. Tested, sanitized, and verified for authenticity.
- Compatible Model: Galaxy Buds2 (SM-R177.)
- Fast and Free Shipping.
- 30-Day Returns. 90-Day Warranty.
Like New |
Slightly Used |
Fair |
Excellent condition, with no wear or tear visible. |
Light to moderate scratches or marks on the case or earbuds. |
Visible scratches and/or dents. Fully functional. |
For additional questions on product conditions, please send us a message.
If you have any issues pairing your device, please message us! Serial numbers are recorded before shipment for easier processing.
Click Here for Syncing Instructions
1x Samsung Galaxy Buds2 Left 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 left 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) {
// First check if the CURRENT variant is available
const addToCartButton = document.querySelector('.btn-product-add, .product-add, [type="submit"], .add-to-cart, .btn[name="add"]');
if (addToCartButton && (
addToCartButton.disabled ||
addToCartButton.textContent.toLowerCase().includes('sold out') ||
addToCartButton.textContent.toLowerCase().includes('unavailable') ||
addToCartButton.classList.contains('disabled')
)) {
console.log('Current variant is sold out, hiding bundle popup');
return false;
}
// Map current variant to matching variant to check stock
const variantMap = {
'42793547694241': '42793576988833', // Graphite Left β Right
'42793547825313': '42793577087137', // White Left β Right
'42795590549665': '42795590942881', // Phantom Black Left β Right
'42793547759777': '42793577021601', // Violet Left β Right
'42793547792545': '42793577054369' // Olive Left β Right
};
const matchingVariantId = variantMap[currentVariantId];
if (!matchingVariantId) {
console.log('No matching variant found for:', currentVariantId);
return false;
}
// Method 1: Check Shopify product JSON (most themes include this)
if (window.product && window.product.variants) {
const matchingVariant = window.product.variants.find(v => v.id.toString() === matchingVariantId);
if (matchingVariant && (!matchingVariant.available || matchingVariant.inventory_quantity === 0)) {
console.log('Matching variant out of stock (product JSON):', matchingVariantId);
return false;
}
}
// Method 2: Check theme's variant data
if (window.variantInventory && window.variantInventory[matchingVariantId] === 0) {
console.log('Matching variant out of stock (variant inventory):', matchingVariantId);
return false;
}
// Method 3: Check for sold out in option elements
const optionElements = document.querySelectorAll('option, input[type="radio"], .variant-option');
for (let element of optionElements) {
if (element.value === matchingVariantId || element.dataset.variantId === matchingVariantId) {
if (element.disabled ||
element.classList.contains('disabled') ||
element.classList.contains('soldout') ||
element.classList.contains('sold-out') ||
element.classList.contains('unavailable') ||
element.textContent.toLowerCase().includes('sold out') ||
element.textContent.toLowerCase().includes('unavailable')) {
console.log('Matching variant out of stock (DOM check):', matchingVariantId);
return false;
}
}
}
console.log('Stock check passed for matching variant:', 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 === '42793547825313' || // White Left 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 === '42795590549665' || // Phantom Black Left 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 === '42793547759777' || // Violet Left 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 === '42793547792545' || // Olive Left 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 === '42793547694241'; // Graphite Left Ear
const isWhite = selectedColorText.includes('white') || pageUrl.includes('white') ||
currentVariantId === '42793547825313'; // White Left Ear
const isPhantomBlack = selectedColorText.includes('phantom') || selectedColorText.includes('black') ||
pageUrl.includes('phantom') || pageUrl.includes('black') ||
currentVariantId === '42795590549665'; // Phantom Black Left Ear
const isViolet = selectedColorText.includes('violet') || pageUrl.includes('violet') ||
currentVariantId === '42793547759777'; // Violet Left Ear
const isOlive = selectedColorText.includes('olive') || pageUrl.includes('olive') ||
currentVariantId === '42793547792545'; // Olive Left 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 left ear variants to their corresponding right ear variants
const variantMap = {
'42793547694241': { right: '42793576988833', color: 'Graphite' },
'42793547825313': { right: '42793577087137', color: 'White' },
'42795590549665': { right: '42795590942881', color: 'Phantom Black' },
'42793547759777': { right: '42793577021601', color: 'Violet' },
'42793547792545': { right: '42793577054369', color: 'Olive' }
};
const mappedVariant = variantMap[currentVariantId];
if (mappedVariant) {
leftEarVariantId = currentVariantId;
rightEarVariantId = mappedVariant.right;
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('Left Ear Variant ID: ' + leftEarVariantId);
console.log('Right Ear Variant ID: ' + rightEarVariantId);
// Add both ears to cart (left ear first since they're on left ear page)
fetch('/cart/add.js', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
items: [
{
id: leftEarVariantId,
quantity: 1
},
{
id: rightEarVariantId,
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!');
});
}