‹
Outerwear โข Water Resistant
Measure Twice. Cuss Once.
Men's Weather-Resistant Soft Shell Jacket
Men's Weather-Resistant Soft Shell Jacket
๐๏ธ Shop on Spreadshop →
Gaming Desk Mat โข Precision Surface
Measure Twice. Cuss Once.
Large Extended Gaming Desk Mat
Large Extended Gaming Desk Mat
๐๏ธ Shop on Spreadshop →
Snapback โข Contrast Underbill
Measure Twice. Cuss Once.
Classic Structured Snapback Cap
Classic Structured Snapback Cap
๐๏ธ Shop on Spreadshop →
Trucker Hat โข Mesh Back
Measure Twice. Cuss Once.
Breathable 5-Panel Mesh Trucker Hat
Breathable 5-Panel Mesh Trucker Hat
๐๏ธ Shop on Spreadshop →
Long Sleeve โข Ribbed Cuffs
Measure Twice. Cuss Once.
Heavyweight 100% Cotton Long Sleeve
Heavyweight 100% Cotton Long Sleeve
๐๏ธ Shop on Spreadshop →
Retro Ringer โข Contrast Rib
Measure Twice. Cuss Once.
Vintage Contrast Collar & Sleeve Ringer Tee
Vintage Contrast Collar & Sleeve Ringer Tee
๐๏ธ Shop on Spreadshop →
Premium Fleece โข 15+ Colors
Measure Twice. Cuss Once.
Plush Brushed Interior Heavy Pullover Hoodie
Plush Brushed Interior Heavy Pullover Hoodie
๐๏ธ Shop on Spreadshop →
Full Zip Hoodie โข Double Pouch
Measure Twice. Cuss Once.
Heavy Metal Zipper Organic Cotton Zip Hoodie
Heavy Metal Zipper Organic Cotton Zip Hoodie
๐๏ธ Shop on Spreadshop →
Two-Tone Ceramic โข Dishwasher Safe
Measure Twice. Cuss Once.
Vibrant Colored Handle & Rim Ceramic Mug
Vibrant Colored Handle & Rim Ceramic Mug
๐๏ธ Shop on Spreadshop →
40oz Tumbler โข All-Day Cold
Measure Twice. Cuss Once.
Double-Wall Vacuum Insulated 40oz Tumbler with Handle
Double-Wall Vacuum Insulated 40oz Tumbler with Handle
๐๏ธ Shop on Spreadshop →
`).join('');
// Handle Load More
if (visibleCount < totalMatches) {
const remaining = totalMatches - visibleCount;
loadMoreCount.textContent = remaining;
loadMoreContainer.style.display = 'block';
} else {
loadMoreContainer.style.display = 'none';
}
}
function openProductModal(id) {
const p = ALL_PRODUCTS.find(item => item.id === id);
if (!p) return;
modalProductTitle.textContent = p.title;
modalProceedBtn.href = p.url;
if (p.isLive) {
modalProductBody.innerHTML = `
๐ข Live In-Stock Item on Fourthwall
You are proceeding to complete your order directly through our verified manufacturing and fulfillment partner, Fourthwall .
Fulfillment & Printing: Direct-to-garment & sublimation printing with tracked shipping.
Direct 1-Click Checkout: Proceeding will open the exact live product checkout page on Fourthwall for ${p.title} ($${p.price.toFixed(2)}).
Replacement Guarantee: 100% free replacement or refund for any defective delivery via aaahoneydo@gmail.com.
`;
modalProceedBtn.textContent = "๐๏ธ Open Fourthwall Checkout โ";
modalProceedBtn.style.background = "linear-gradient(135deg, #10b981, #059669)";
modalProceedBtn.style.color = "#fff";
} else {
modalProductBody.innerHTML = `
โจ Design Vault • Fast-Track Release Request
This design is complete in 3000ร3000px high-resolution print quality and currently queued in our vault for store publication.
Want us to list this on Fourthwall next?
Clicking below opens an instant 1-click email request to our production team (aaahoneydo@gmail.com).
We prioritize listings requested by customers and will publish the item and email you the direct checkout link!
๐ก Looking for ready-to-ship gear?
Check out our In-Stock Now filter tab to browse the 8 verified designs live right now for immediate checkout!
`;
modalProceedBtn.textContent = "๐ Send Fast-Track Drop Request โ";
modalProceedBtn.style.background = "linear-gradient(135deg, #8b5cf6, #6366f1)";
modalProceedBtn.style.color = "#fff";
}
modal.classList.add('active');
}
closeModal.addEventListener('click', () => modal.classList.remove('active'));
modalCancelBtn.addEventListener('click', () => modal.classList.remove('active'));
modalProceedBtn.addEventListener('click', () => modal.classList.remove('active'));
modal.addEventListener('click', (e) => {
if (e.target === modal) modal.classList.remove('active');
});
loadMoreBtn.addEventListener('click', () => {
currentPage++;
renderProducts();
});
searchInput.addEventListener('input', (e) => {
currentQuery = e.target.value.trim();
if (currentQuery && currentCategory !== 'all') {
currentCategory = 'all';
pills.forEach(p => {
if (p.dataset.cat === 'all') p.classList.add('active');
else p.classList.remove('active');
});
}
currentPage = 1;
renderProducts();
});
sortSelect.addEventListener('change', (e) => {
currentSort = e.target.value;
currentPage = 1;
renderProducts();
});
pills.forEach(pill => {
pill.addEventListener('click', () => {
pills.forEach(p => p.classList.remove('active'));
pill.classList.add('active');
currentCategory = pill.dataset.cat;
currentPage = 1;
renderProducts();
});
});
// Read URL query parameters for direct category or search links
const urlParams = new URLSearchParams(window.location.search);
const initialCat = urlParams.get('cat');
const initialQuery = urlParams.get('q');
if (initialCat) {
currentCategory = initialCat;
pills.forEach(p => {
if (p.dataset.cat === initialCat) p.classList.add('active');
else p.classList.remove('active');
});
}
if (initialQuery) {
currentQuery = initialQuery;
searchInput.value = initialQuery;
}
// Initial render with the 8 live products
renderProducts();
// Dynamically load the full catalog database in the background
fetch('products-catalog.json')
.then(res => res.json())
.then(catalog => {
if (Array.isArray(catalog) && catalog.length > 0) {
ALL_PRODUCTS = catalog;
const allPill = document.querySelector('.filter-pill[data-cat="all"]');
if (allPill) allPill.textContent = `All Catalog (${catalog.length.toLocaleString()})`;
const liveCount = catalog.filter(p => p.isLive).length;
const livePill = document.querySelector('.filter-pill[data-cat="live"]');
if (livePill) livePill.innerHTML = `
In-Stock Now (${liveCount} Live)`;
const vaultCount = catalog.filter(p => !p.isLive).length;
const vaultPill = document.querySelector('.filter-pill[data-cat="vault"]');
if (vaultPill) vaultPill.textContent = `โจ Design Vault (${vaultCount} Drops)`;
renderProducts();
}
})
.catch(err => console.log('Loaded baseline merchandise catalog:', err));