news

Saturday, February 6, 2021

Victoria Myers

Good morning lovely knitters!  I am so happy to see the sun this morning!  I tell yuh - that snow wrecked me and made me so sleepy and stupid this week.  I was telling someone that I feared today's newsletter would only say, "Sorry, the snow made my brain non-functional, and I got nothing!"  BUT, then the sun came out and the NEW Noro Magazine came!!

The new magazine is fantastic , though the new yarns, that are heavily featured, are not in yet.  BUT - there are some great patterns for existing yarns - like delicious Sonata!!  Here's a NEW kit that includes a full copy of the magazine!

There's only a few more days (deadline is 2/10) to sign up for the Save Our Sanity Box to make sure you get February's box!  I love the new pattern that is coming - a total delight to knit!  And, I have to tell you - the little extra in this box - is something I made for you all, and will only come in the box, and will possibly make you giggle your face off.  Ha!  PLEASE, please make sure you pick the correct shipping option - pick up or shipped.  I've been having such a time with that!

The Heart Scarf Kits are back to shipping pretty quickly (except for Version A - waiting for the restock on that one), so if you delayed on ordering, grab one now!

And I managed to get the Painted Sky online!  (Though it still has to find its shelf in the shop!)  And a few new things found their way to the "sale bin".  Check them out for some great deals!


Leave a Comment

Please note, comments must be approved before they are published

const selectVariantByClickingImage = { // Create variant images from productJson object _createVariantImage: function (product) { const variantImageObject = {}; product.variants.forEach((variant) => { if ( typeof variant.featured_image !== 'undefined' && variant.featured_image !== null ) { const variantImage = variant.featured_image.src .split('?')[0] .replace(/http(s)?:/, ''); variantImageObject[variantImage] = variantImageObject[variantImage] || {}; product.options.forEach((option, index) => { const optionValue = variant.options[index]; const optionKey = `option-${index}`; if ( typeof variantImageObject[variantImage][optionKey] === 'undefined' ) { variantImageObject[variantImage][optionKey] = optionValue; } else { const oldValue = variantImageObject[variantImage][optionKey]; if (oldValue !== null && oldValue !== optionValue) { variantImageObject[variantImage][optionKey] = null; } } }); } }); return variantImageObject; }, _updateVariant: function (event, id, product, variantImages) { const arrImage = event.target.src .split('?')[0] .replace(/http(s)?:/, '') .split('.'); const strExtention = arrImage.pop(); const strRemaining = arrImage.pop().replace(/_[a-zA-Z0-9@]+$/, ''); const strNewImage = `${arrImage.join('.')}.${strRemaining}.${strExtention}`; if (typeof variantImages[strNewImage] !== 'undefined') { product.variants.forEach((option, index) => { const optionValue = variantImages[strNewImage][`option-${index}`]; if (optionValue !== null && optionValue !== undefined) { const selects = document.querySelectorAll('#'+ id + ' [class*=single-option-selector]'); const options = selects[index].options; for (let option, n = 0; (option = options[n]); n += 1) { if (option.value === optionValue) { selects[index].selectedIndex = n; selects[index].dispatchEvent(new Event('change')); break; } } } }); } }, _selectVariant: function() { const productJson = document.querySelectorAll('[id^=ProductJson-'); if (productJson.length > 0) { productJson.forEach((product) => { const sectionId = product.id.replace("ProductJson-", "shopify-section-"); const thumbnails = document.querySelectorAll('#'+ sectionId + ' img[src*="/products/"]'); if (thumbnails.length > 1) { const productObject = JSON.parse(product.innerHTML); const variantImages = this._createVariantImage(productObject); // need to check variants > 1 if (productObject.variants.length > 1) { thumbnails.forEach((thumbnail) => { thumbnail.addEventListener('click', (e) => this._updateVariant(e, sectionId, productObject, variantImages), ); }); } } }); } }, }; if (document.readyState !== 'loading') { selectVariantByClickingImage._selectVariant(); } else { document.addEventListener( 'DOMContentLoaded', selectVariantByClickingImage._selectVariant(), ); }