Viking Style Celtic Ringed Serpent Wristguard

$49.99
Type:  A
Quantity

Description

Item Details:
Material: PU embossed + hardware fasteners + rivet decoration
Weight: 100g/pc

🌿 PU Leather Craftsmanship: Echoes of Viking Resilience

Crafted from PU leather, this belt mirrors the rugged essence of Viking gear. Its texture, honed to mimic aged leather, carries the spirit of Nordic warriors—durable yet rich with character. Every crease and shade tells a story of resilience, blending modern practicality with the timeless toughness Vikings embodied. It’s not just an accessory; it’s a testament to enduring strength, ready to accompany you through every adventure.

 Viking Totems Engraved: Whispers of Ancient Legends

The centerpiece of the belt - intricate Viking runes and swirling Celtic knots - embodies Norse mythology. Symbolizing wisdom and protection, the runes exude mystical power, while the Celtic knot represents the eternal cycle of life. Surrounded by gold rivets, these engravings replicate the armor of the Viking elite, connecting you to a legacy of courage and exploration. Each motif is a portal to an ancient legend where gods and warriors made history.

🔥 Wearable Saga: Awaken Your Inner Viking

Fasten this belt, and instantly step into a Viking narrative. Whether paired with historical reenactment attire or modern outfits, it transforms you into a bearer of Nordic spirit. Feel the weight of tradition, the thrill of adventure etched in its design. It’s a reminder of fearless voyages, of embracing life with the boldness of Vikings. Every wear is a declaration: to live boldly, explore unapologetically, and carry forward a legacy of indomitable spirit.



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 = "a435f5d6-eda0-443a-a0fe-8a55814814f9"; // 促销活动数据 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 == '99ecf95e-da7c-4bda-aa9f-21988b39b177' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "99ecf95e-da7c-4bda-aa9f-21988b39b177", 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);