const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '60b8c469-c519-4d37-bf28-0fa458c47f7a'; this.isRTL = SPZ.win.document.dir === 'rtl'; this.isAddingToCart_ = false; // 加购中状态 } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const data = await this.getDiscountList(); this.renderApiData_(data); } async getDiscountList() { const productId = '33089d2e-2cfb-4df0-b0c2-d7a8540570d4'; const variantId = this.variant_id; const productType = 'default'; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if (parentDiv) { parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } else { console.log('automatic_discount_container is null'); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container_outer'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == '33089d2e-2cfb-4df0-b0c2-d7a8540570d4' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); // 加购事件 this.registerAction('handleAddToCart', (invocation) => { // 阻止事件冒泡 const event = invocation.event; if (event) { event.stopPropagation(); event.preventDefault(); } // 如果正在加购中,直接返回 if (this.isAddingToCart_) { return; } const quantity = invocation.args.quantity || 1; this.addToCart(quantity); }); } // 加购方法 async addToCart(quantity) { // 设置加购中状态 this.isAddingToCart_ = true; const productId = '33089d2e-2cfb-4df0-b0c2-d7a8540570d4'; const variantId = this.variant_id; const url = '/api/cart'; const reqBody = { product_id: productId, variant_id: variantId, quantity: quantity }; try { const data = await this.xhr_.fetchJson(url, { method: 'POST', body: reqBody }); // 触发加购成功提示 this.triggerAddToCartToast_(); return data; } catch (error) { error.then(err=>{ this.showToast_(err?.message || err?.errors?.[0] || 'Unknown error'); }) } finally { // 无论成功失败,都重置加购状态 this.isAddingToCart_ = false; } } showToast_(message) { const toastEl = document.querySelector("#apps-match-drawer-add_to_cart_toast"); if (toastEl) { SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast(message); }); } } // 触发加购成功提示 triggerAddToCartToast_() { // 如果主题有自己的加购提示,则不显示 const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy'); if (themeAddToCartToastEl) return; // 显示应用的加购成功提示 this.showToast_("Added successfully"); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomProductAutomatic);
class SpzCustomDiscountBundle extends SPZ.BaseElement { constructor(element) { super(element); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } mountCallback() {} unmountCallback() {} setupAction_() { this.registerAction('showAddToCartToast', () => { const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy') if(themeAddToCartToastEl) return const toastEl = document.querySelector('#apps-match-drawer-add_to_cart_toast') SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast("Added successfully"); }); }); } buildCallback() { this.setupAction_(); }; } SPZ.defineElement('spz-custom-discount-toast', SpzCustomDiscountBundle);

Sweet High BUSH Northern BLUEBERRY Heirloom NON-GMO USA SELLER!

$19.99  - $25.99
Qunatity:  100 Seeds
Quantity

Description

🫐Welcome to the Blueberry Seeds landing page, where we present to you an extraordinary experience of taste and well-being. Our blueberry seeds are a treasure trove of nature, offering a delightful combination of delectable flavor, abundant vitamins, and potent antioxidants – anthocyanins. They not only indulge your palate with sweetness but also cater to your body's needs.

🫐Why Choose Blueberry Seeds?

  1. Irresistible Flavor: These blueberries are renowned for their sweet, succulent taste. Each berry bursts with flavor, making them a delightful addition to your garden and your daily diet.

  2. Nutrient-Rich: Blueberries are a natural source of essential vitamins and minerals, including Vitamin C and Vitamin K, offering a boost to your overall health.

  3. Powerful Antioxidants: Packed with anthocyanins, blueberries are known for their strong antioxidant properties, helping combat free radicals and promoting well-being.

  4. High Germination Rate: Our blueberry seeds boast a high germination rate, ensuring that your garden flourishes with these luscious gems.

🫐Perfect for All Skill Levels

Whether you're a seasoned DIY enthusiast or just starting your gardening journey, these blueberry seeds are easy to cultivate. With the right guidance and a little TLC, you'll have a bountiful blueberry harvest to savor.

🫐Item specifics

  • Season of Interest:summer spring fall autumn
  • USDA Hardiness Zone (°F):3 (-40 to -30 °F)
  • Fruit Type:Blueberry
  • Country/Region of Manufacture:United States
  • Foliage: Semi-evergreen
  • Aspect: South-facing
  • Life Cycle:Perennial
  • Soil pH: Acidic
  • Sunlight:Partial Shade
  • Climate: Cold
  • Type:Fruit Seeds
  • Soil Type:Loam, Sand
  • Watering:Light
  • Plant Type:Bush/Shru

    🫐Make Your Seed to Garden

    1. Choose the right containers

    You can start seeds in almost any type of container, as long as it’s at least 2-3 ” deep and has some drainage holes. If you love to DIY by yourself, you might start growing seedlings in yogurt cups, milk cartons or even a paper cup.

    2. The “potting soil”

    Choose the potting soil that’s made for growing seedlings.

    NOTE: Do not use soil from your garden or re-use potting soil from your houseplants. Start with a fresh, sterile mix that will ensure healthy, disease-free seedlings.

    3. Planting

    Some of the small ones can be sprinkled right on the soil surface. Larger seeds will need to be buried. After planting seeds, you have to moisten the newly planted seeds. To speed up germination, cover the pots with wet paper or a plastic dome. This helps keep the seeds moist before they germinate. When you see the first signs of green, you have to remove the cover.

    4. Watering, feeding, repeating

    As the seedlings grow up, you have to keep the soil moist but not soggy. Let the soil dry slightly between waterings.  Remember to feed the seedlings regularly with liquid fertilizer.

    5. Light

    Seeds need a lot of light. Set the lights on a timer for 15 hours a day. If you’re growing in a window, choose a south-facing exposure. Rotate the pots regularly to keep plants from leaning into the light. If you’re growing under lights, adjust them so they’re just a few inches above the tops of the seedlings.  Keep in mind that seedlings need darkness, too, so they can rest. As the seedlings grow taller, raise the lights.

    6. Move to outdoors 

    It’s not a good idea to move your seedlings directly from the protected environment of your home into the garden. You’ve been coddling these seedlings for weeks, so they need a gradual transition to the great outdoors. About a week before you plan to set the seedlings into the garden, place them in a protected spot outdoors (partly shaded, out of the wind) for a few hours, bringing them in at night. Gradually, over the course of a week or 10 days, expose them to more and more sunshine and wind. A cold frame is a great place to harden off plants.

     

    🫐Don't miss this chance to embrace the extraordinary fusion of flavor and health. Blueberry Seeds - your pathway to the perfect garden and a healthier you.🌱


At LivelySeed, we believe in the extraordinary power of small actions. With our "Seeds of Hope" campaign, your shopping experience takes on a whole new meaning.

Embark on a shopping experience with purpose! For each purchase, $1 will be donated to UNICEF — an initiative that plants seeds of hope in the lives of children worldwide. Join us in cultivating positive change while enjoying quality products.

Your purchase not only brings you exceptional products but also contributes to essential programs that support children's health, education, and well-being. Together, we are sowing the seeds of a better future.

Make your shopping matter. Choose quality, choose compassion.

Thank you for being a part of our Seeds of Hope Campaign!