// Page Code for /checkout-link import { cart } from 'wix-stores'; import wixLocation from 'wix-location'; /** * Accepts `products` query parameter in Meta format: * - Encoded: products=112233%3A1%2C445566%3A2 * - Unencoded: products=112233:1,445566:2 (still works) * * Each entry is ID:QTY. Colons/commas may be RFC 3986-escaped. * Example final URL for Meta: * https://mysticalcrow.com/checkout-link?products=112233%3A1%2C445566%3A2 */ function parseProductsParam(rawParam) { if (!rawParam || typeof rawParam !== 'string') return []; // Try to decode once; if it throws or changes nothing, we still continue safely let decoded = rawParam; try { // decodeURIComponent will convert %3A -> ":", %2C -> "," decoded = decodeURIComponent(rawParam); } catch (_e) { // If decoding fails, we’ll proceed with the original string } // Split by commas (now that we normalized to ":" and ",") // Trim spaces just in case. return decoded .split(',') .map(s => s.trim()) .filter(Boolean) .map(pair => { const [id, qty] = pair.split(':').map(x => (x || '').trim()); const quantity = Number(qty); return (id && !Number.isNaN(quantity) && quantity > 0) ? { productId: id, quantity } : null; }) .filter(Boolean); } async function addAllToCart(items) { // Wix Stores cart.addProducts accepts an array of product objects. // We’ll add one by one to ensure each promise resolves, but you can batch if desired. for (const item of items) { // If a product has variants/options, you’ll need to pass the relevant // selection data here (e.g., options: [{ optionName, selection }]). // For simple products, productId + quantity is sufficient. await cart.addProducts([{ productId: item.productId, quantity: item.quantity }]); } } $w.onReady(async function () { const { products } = wixLocation.query; if (!products) { // No parameter present; go to cart so the user isn't stuck. wixLocation.to('/cart'); return; } const items = parseProductsParam(products); if (!items.length) { // Parameter present but invalid/empty after parsing wixLocation.to('/cart'); return; } try { await addAllToCart(items); // Success: go straight to checkout wixLocation.to('/checkout'); } catch (_err) { // If anything fails (bad ID, etc.), fall back to cart wixLocation.to('/cart'); } });
top of page

Moon Drops, I bring you these gorgeous  earrings.

3inches (large moons)

18k gold plated moon dangle earring and Swarovski crystal

 

HOW TO PREVENT 18K GOLD PLATED FROM TARNISHING:

 

Here are some tips to help prevent 18K gold-plated jewelry from tarnishing:

 

1) Avoid exposure to water and moisture: Moisture can cause the base metal to react with the gold plating and lead to tarnishing. So, avoid wearing your jewelry when you are swimming, showering, or doing any water-related activities.

 

2) Avoid exposure to chemicals: Harsh chemicals like perfumes, hairsprays, lotions, and cleaning agents can damage the gold plating and cause tarnishing. So, it’s best to apply these products before wearing your jewelry and allow them to dry completely before putting on your jewelry.

 

3) Clean your jewelry regularly: Clean your 18K gold-plated jewelry regularly with a soft cloth to remove any dirt or dust that may have accumulated on it. You can use a mild soap solution or a jewelry cleaning solution to clean your jewelry.

 

4) Avoid wearing your jewelry during physical activities: Physical activities such as exercising or sports can cause sweat and moisture to accumulate on your jewelry, leading to tarnishing. So, it’s best to remove your jewelry before engaging in any physical activities.

 

5) Have your jewelry re-plated: If your gold-plated jewelry starts to tarnish or wear off, consider having it professionally re-plated to restore its original shine and protect it from further tarnishing.

 

By following these tips, you can help prevent 18K gold-plated jewelry from tarnishing and keep it looking shiny and new for longer.

Moon Drops Gold Earrings

$29.99Price
0/500
Quantity
    bottom of page