Viking Spear Pendant with Odin's Image: Stainless Steel, Nordic Divinity

$39.99
Color:  Gold
Quantity

Description

Comes with a 70 cm black cord

Product details:
Material: stainless steel
Size: 4.3 x 2.3 cm
Weight: 20 g

๐ŸŒŸ Material & Craftsmanship

  • 316L Stainless Steel: Durable, corrosion-resistant, embodying Odin's timeless might. "Metal as a vessel for Nordic divinity, enduring like the gods."
  • Engraving:
    • Odin’s Head (Spear Tip): Single-eyed, bearded – symbolizing wisdom, war, protection.
    • Valknut/Runes: Mystical patterns, weaving Norse myths into design. "Every detail whispers ancient Nordic power."

๐Ÿ”ฑ Design & Culture

  • Spearhead Shape: Sharp, warrior-inspired, with Odin atop – "A modern Viking’s amulet, merging myth and style."
  • Symbolism:
    • Odin Elements: One eye (sacrifice for wisdom), spear (eternal battle) – "Carry Nordic gods’ essence daily."
    • Nautical Textures: Mimic Viking ship carvings, "Honor heritage, from battlefield to streetwear."

๐Ÿ‘• Style & Wearability

  • Chains:
    • Black Wax Cord: Rugged, for outdoor/utility looks – "Roam like a Viking, fearless."
    • Stainless Steel Chain: Sleek, for urban/dark aesthetics – "Command respect with divine subtlety."
  • Use Cases:
    • Daily: "Odin’s gaze fuels confidence, wisdom in every moment."
    • Adventure/Work: "Channel warrior spirit, conquer challenges."

๐Ÿ’Ž Maintenance & Meaning

  • Care: Easy to clean, retains shine – "Odin’s image, always vivid, a Nordic legacy on your chest."
  • Resonance:
    • Culture Lovers: "Wear Norse mythology, connect to ancient roots."
    • Trendsetters: "Edgy design + divine symbols = a standout piece, sparking Nordic culture conversations."
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 = "388d3df5-5a77-4df5-ba8b-4a750a15bff1"; // ไฟƒ้”€ๆดปๅŠจๆ•ฐๆฎ 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 == '55ca4b7b-31ed-4cb0-8fc1-399ccc4b171b' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "55ca4b7b-31ed-4cb0-8fc1-399ccc4b171b", 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);