Login to compare
';
document.getElementById('compareFooter').style.display = 'none';
updateCompareBadge(0);
return;
}
var items = d.comparison || [];
updateCompareBadge(items.length);
if (items.length === 0) {
document.getElementById('compareList').innerHTML = '
No products to compareAdd products from the same category
';
document.getElementById('compareFooter').style.display = 'none';
document.getElementById('compareCatName').textContent = 'Compare Products';
return;
}
// Category name
var catName = items[0].category_name || 'Products';
document.getElementById('compareCatName').innerHTML = '
' + catName + '
(' + items.length + ') ';
var html = '';
items.forEach(function(p) {
var img = p.image_url || '/assets/images/no-image.png';
var price = p.lowest_price ? '£' + parseFloat(p.lowest_price).toFixed(2) : '';
var name = (p.product_name || '').substring(0, 45);
html += '
' +
'
' +
'
' +
'
' + name + '
' +
'
' + (p.brand || '') + (price ? ' · ' + price : '') + '
' +
'
' +
'
' +
' ' +
' ' +
'
';
});
document.getElementById('compareList').innerHTML = html;
document.getElementById('compareFooter').style.display = '';
})
.catch(function() {
document.getElementById('compareList').innerHTML = '
Login to compare
';
});
}
function removeFromCompare(sku, event) {
event.stopPropagation();
fetch('/api/comparison.php', {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: 'action=remove&sku=' + encodeURIComponent(sku)
})
.then(function(r) { return r.json(); })
.then(function(d) {
if (d.success) loadCompareList();
});
}
function clearCompareList() {
fetch('/api/comparison.php', {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: 'action=clear'
})
.then(function(r) { return r.json(); })
.then(function(d) {
if (d.success) loadCompareList();
});
}
function updateCompareBadge(count) {
var badge = document.getElementById('compareCount');
if (count > 0) {
badge.textContent = count;
badge.style.display = '';
} else {
badge.style.display = 'none';
}
}
// Load compare count on page load
function refreshCompareBadge() {
fetch('/api/compare.php?action=count', {credentials: 'same-origin'})
.then(function(r) { return r.json(); })
.then(function(d) {
if (d.success) updateCompareBadge(d.count || 0);
}).catch(function() {});
}
refreshCompareBadge();
// Listen for compare updates from anywhere on the page
document.addEventListener('compareUpdated', function() { refreshCompareBadge(); });
// Also poll every 5 seconds in case event was missed
setInterval(refreshCompareBadge, 5000);
function toggleDarkMode() {
var html = document.documentElement;
var isDark = html.getAttribute('data-theme') === 'dark';
if (isDark) {
html.removeAttribute('data-theme');
localStorage.setItem('dside-theme', 'light');
} else {
html.setAttribute('data-theme', 'dark');
localStorage.setItem('dside-theme', 'dark');
}
// Update mobile icon label
var mLabel = document.querySelector('#mobileDarkIcon');
if (mLabel) {
var parent = mLabel.closest('.dside-topicon');
if (parent) parent.querySelector('small').textContent = isDark ? 'DARK' : 'LIGHT';
}
}
// Update mobile label on load
(function(){
var isDark = document.documentElement.getAttribute('data-theme') === 'dark';
if (isDark) {
var mi = document.getElementById('mobileDarkIcon');
if (mi) { mi.closest('.dside-topicon').querySelector('small').textContent = 'LIGHT'; }
}
})();
// Close all mobile panels
function closeAllPanels() {
// Close menu
var menu = document.getElementById('dsideMobileMenu');
var menuBtn = document.getElementById('menuToggleBtn');
if (menu.classList.contains('open')) {
menu.classList.remove('open');
menuBtn.classList.remove('active');
}
// Close account
closeAccountPanel();
document.body.style.overflow = '';
}
// Toggle mobile menu
function toggleDsideMenu() {
var btn = document.getElementById('menuToggleBtn');
var menu = document.getElementById('dsideMobileMenu');
var isOpen = menu.classList.contains('open');
closeAccountPanel();
if (isOpen) {
menu.classList.remove('open');
btn.classList.remove('active');
document.body.style.overflow = '';
} else {
menu.classList.add('open');
btn.classList.add('active');
document.body.style.overflow = 'hidden';
}
}
// Toggle account panel
function toggleAccountPanel() {
var panel = document.getElementById('mobileAccountPanel');
var backdrop = document.getElementById('mobileAccountBackdrop');
var isOpen = panel.classList.contains('open');
// Close menu if open
var menu = document.getElementById('dsideMobileMenu');
var menuBtn = document.getElementById('menuToggleBtn');
if (menu.classList.contains('open')) {
menu.classList.remove('open');
menuBtn.classList.remove('active');
document.body.style.overflow = '';
}
if (isOpen) {
closeAccountPanel();
} else {
panel.classList.add('open');
backdrop.classList.add('open');
}
}
function closeAccountPanel() {
var panel = document.getElementById('mobileAccountPanel');
var backdrop = document.getElementById('mobileAccountBackdrop');
if (panel) panel.classList.remove('open');
if (backdrop) backdrop.classList.remove('open');
}
function toggleMobileSub(e, el) {
e.preventDefault();
var li = el.parentElement;
li.classList.toggle('open');
}
// Mobile search bar (always visible)
var mobileBarTimer = null;
function performMobileBarSearch() {
var q = document.getElementById('mobileSearchInputBar').value.trim();
if (q) window.location.href = '/?q=' + encodeURIComponent(q);
}
function mobileBarLiveSearch(q) {
clearTimeout(mobileBarTimer);
var resultsDiv = document.getElementById('mobileBarSearchResults');
if (q.trim().length < 2) { resultsDiv.style.display = 'none'; resultsDiv.innerHTML = ''; return; }
mobileBarTimer = setTimeout(function() {
fetch('/api/search_products.php?q=' + encodeURIComponent(q.trim()) + '&limit=6')
.then(function(r) { return r.json(); })
.then(function(data) {
if (!data.success || !data.products || data.products.length === 0) {
resultsDiv.innerHTML = '
No results found
';
resultsDiv.style.display = 'block';
return;
}
var html = '';
data.products.forEach(function(p) {
var url = p.url_slug ? '/product/' + p.url_slug : '/product.php?sku=' + encodeURIComponent(p.sku);
var img = p.image_url || '';
html += '
';
if (img) html += ' ';
html += '' + (p.name || '') + '
';
if (p.brand) html += '
' + p.brand + '
';
html += '
';
if (p.lowest_price) {
html += '\u00A3' + parseFloat(p.lowest_price).toFixed(2) + '
';
if (p.cheapest_seller) html += '
' + p.cheapest_seller + '
';
html += '
';
}
html += ' ';
});
resultsDiv.innerHTML = html;
resultsDiv.style.display = 'block';
})
.catch(function() { resultsDiv.style.display = 'none'; });
}, 300);
}
// Close search results on outside click
document.addEventListener('click', function(e) {
var resultsDiv = document.getElementById('mobileBarSearchResults');
var searchBar = document.querySelector('.dside-mobile-search');
if (resultsDiv && searchBar && !searchBar.contains(e.target)) {
resultsDiv.style.display = 'none';
}
});
Pro RTX Short Sleeve T-Shirt Sky Blue Small 35 / 37" Chest
SKU: 260223155520501
EAN: 5056715518915
Compare 1 price for Pro RTX Short Sleeve T-Shirt Sky Blue Small 35 / 37" Chest — from £15.99
across 1 UK seller including
Screwfix.
Favourite
Compare
Price Alert
Specs
Features
What's Included
No specifications available
No reviews yet
Be the first to share your experience
Write the First Review
Compare prices from 220+ trusted UK sellers. Find the best deals on 200,000+ products and save money on every purchase.
How It Works
1
Search for any product by name or SKU
2
Compare prices from multiple UK sellers
3
Click through to buy at the best price
© 2026 DSIDE.CO.UK - All Rights Reserved
Your Trusted UK Price Comparison Platform