async function go() { try { 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 Christmas Multi-Colour Christmas Tree CZ (S) Charm

Harmony Christmas Multi-Colour Christmas Tree CZ (S) Charm

The Finer Details...

 

Add a touch of elegance to your jewellery collection with this stunning Harmony charm. Crafted with intricate detail, it's the perfect accessory to personalise your bracelet or necklace, adding a unique flair to any look.

 

  • Stone is cubic zirconia
  • Made from high quality 925 sterling silver
  • Charm size is 1.3cm x 0.9cm, Aperture 0.45cm
  • Charm is hypoallergenic, tarnish & water resistant
  • 1 year warranty
Ā£21.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