Scandinavian Viking Style Embossed Wide Belt

$39.99
Color:  Brown
Quantity

Description

Item Details:
Length: 97-132cm
Width: 10cm
Weight: 340g
Material: PU + hardware fastener + rivet decoration


🌌 Viking Leather Belt Collection: Where Ancient Legends Meet Modern Style

PU Material: Tactile Tales of Valhalla
🌿 Premium PU leather embossed with intricate Viking motifs—Celtic knots for eternal bonds, Yggdrasil’s roots for wisdom, and cryptic Runes whispering ancient secrets. The supple texture mirrors the craftsmanship of Norse artisans, blending durability with mythic allure.

Hardware: Forge of the Gods
⚒️ Aged metal buckles inspired by Viking shield fastenings, featuring battle-worn patina and dual-locking security. Every "click" channels the strength of Thor’s hammer, securing your adventures with legendary reliability.

Rivets: Tribal Armor of the North
🛡️ Irregular rivets pay homage to Viking chainmail, their oxidized finish echoing centuries of conquest. More than mere accents—they’re bold declarations of freedom, transforming your waist into a canvas of warrior pride.

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 = "42a4e9e6-9dd5-41d3-a32a-641fee865860"; // 促销活动数据 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 == '40e82e7c-c521-46cc-a1aa-b2b73886b0d5' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "40e82e7c-c521-46cc-a1aa-b2b73886b0d5", 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);