Goddess of Mara Wooden Wall Hanging Decoration

$49.99
Color:  Vintage color
Size:  10"
Quantity

Description

✨The Rhythm of Viking Culture: Mara Goddess Beech Carving, Two Sizes Interpreting Mysterious Charm

This Mara Goddess beech carving, with high - quality beech as the carrier, deeply integrates the essence of Viking culture. It is a perfect blend of the beauty of nature and mysterious culture. In the overall shape, the Mara Goddess is gracefully posed, integrated with natural elements, showing the awe and respect of Viking culture for nature and the divine.

🎨In the details of the carving, the ingenuity is evident. The goddess wears a flower crown, with long hair like a waterfall, and the texture of the hair is clearly distinguishable. She has a graceful posture, with natural - falling clothing patterns, and her hands gently touch the tree trunk, as if perceiving the mysterious power of nature. The Viking - style Celtic knot patterns surrounding the edge, paired with the powerful animal head carvings on both sides, each line tells the roughness and depth of Viking culture. The craftsmanship is exquisite and amazing.

📏Two sizes are available to meet different needs. The 250*244*25mm specification is small and exquisite. Whether placed on a desktop or as a personal collection, you can always feel the mysterious charm of Viking culture. The 350*342*30mm size is more majestic. Whether hung on a wall or displayed on a showcase, it can become the focus of the space, showing a unique taste and profound cultural connotation. Choose this Mara Goddess beech carving and let the mysterious charm of Viking culture integrate into every part of life
class SpzCustomDiscountFlashsale extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.getFlashSaleApi = "\/api\/storefront\/promotion\/flashsale\/display_setting\/product_setting"; this.timer = null; this.variantId = "86409b18-48f7-4d29-b6bc-4ab114a1c328"; // 促销活动数据 this.flashsaleData = {} } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(); this.viewport_ = this.getViewport(); // 挂载bind函数 解决this指向问题 this.render = this.render.bind(this); this.resize = this.resize.bind(this); this.switchVariant = this.switchVariant.bind(this); } mountCallback() { // 获取数据 this.getData(); this.element.onclick = (e) => { const cur = this.win.document.querySelector(".app_discount_flashsale_desc"); if (this.flashsaleData.product_setting.is_redirection && appDiscountUtils.inProductBody(this.element) && e.target !== cur) { this.win.open(`/promotions/discount-default/${this.flashsaleData.discount_info.id}`); } } // 绑定 this.viewport_.onResize(this.resize); // 监听子款式切换,重新渲染 this.win.document.addEventListener('dj.variantChange', this.switchVariant); } unmountCallback() { // 解绑 this.viewport_.removeResize(this.resize); this.win.document.removeEventListener('dj.variantChange', this.switchVariant); // 清除定时器 if (this.timer) { clearTimeout(this.timer); this.timer = null; } } resize() { if (this.timer) { clearTimeout(this.timer) this.timer = null; } this.timer = setTimeout(() => { this.render(); }, 200) } switchVariant(event) { const variant = event.detail.selected; if (variant.product_id == '0b12824f-b327-458f-9169-ce84f14d840f' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "0b12824f-b327-458f-9169-ce84f14d840f", product_type: "default", variant_id: this.variantId } this.flashsaleData = {}; this.win.fetch(this.getFlashSaleApi, { method: "POST", body: JSON.stringify(reqBody), headers: { "Content-Type": "application/json" } }).then(async (response) => { if (response.ok) { this.flashsaleData = await response.json(); this.render(); } else { this.clearDom(); } }).catch(err => { this.clearDom(); }); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } render() { this.templates_ .findAndRenderTemplate(this.element, { isMobile: appDiscountUtils.judgeMobile(), isRTL: appDiscountUtils.judgeRTL(), inProductDetail: appDiscountUtils.inProductBody(this.element), flashsaleData: this.flashsaleData, image_domain: this.win.SHOPLAZZA.image_domain, }) .then((el) => { this.clearDom(); this.element.appendChild(el); }) } } SPZ.defineElement('spz-custom-discount-flashsale', SpzCustomDiscountFlashsale);