JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
9/14
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)
9/14

JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. (3 Color)

$9.99
$9.99
Save $0.00
ColorGold+rose Gold
Please select a color
Quantity
Weight: 0kg
[Adjustable opening design]: This self-soothing beauty comes with an open-design that can be freely adjusted to your desired comfort fit. Great for most ladies and men!. [Moissanite Spinner Ring]: These metabolic fidget rings are perfect for people, elps with anxiety, depression and insomnia. Accelerate, and unclog lymph nodes. [Premium Material]: Adjustable Open Design Ring is Completely Hypoallergenic and is Gentle on All Skin-types. It Does Not Bend or Break Easily and Can Be Worn for a Long Years of Use Without Tarnishing. the Beads Can Be Moved and Spin Smoothly for a Perfect Relief. [Ease irritability]: These anti-anxiety and fidget rings help you relax when you play with it and spin it around, allowing you to get rid of all the tension and stressful emotions. [Self-Soothing Ring]: A Dainty Fidget Jewelry Featuring a Distinct Interwoven Silver Band Design with 7 Smart Movable Beads. Allowing It to Twist, Swipe or Roll Around by Your Fingers Perfect for Relieving Stress, Anxieties, Boredom, Panic Attacks and Improving Focus, Finger Picking, Scratching and Other Bad Habits.
JANSIO Threanic Triple-Spin Ring, Feelief Zirconica Triple Fidget Ring, Threanic Triple-Spin Ring, to My Daughter Fidget Anti Anxiety Ring, Self Soothing Ring. Feature? * Unclog Bloodstream and Lymph Nodes * Comfortable during sports * Accelerate Metabolism * Natural solution for lymphatic drainage and weight loss * Stylish Ring Design Specification? Name: Feelief Zirconica Triple Fidget Ring Function: Relieve Anxiety Color: Gold, Silver, Rose Gold Style: Adjustable Opening Package Includes? 1/2/3pcs * Feelief Zirconica Triple Fidget Ring
const isSpecialHeroTheme = window.SHOPLAZZA?.theme?.merchant_theme_name == 'Hero' && window.SHOPLAZZA?.theme?.merchant_theme_c_version == '2.2.19'; const specialHeroThemeClassName = 'hero_2_2_19_smart_recommend_block'; class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.C_SETTINGS.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.C_SETTINGS.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.C_SETTINGS.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.C_SETTINGS.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { const that = this; const themeName = window.C_SETTINGS.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); this.initBlockClass(blockEl); this.initItemClass(blockEl); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; if (rule.products && rule.products.length) { const modalRender = document.getElementById('smart_recommend_js_root'); const $dest = document.getElementById('cart'); const isLifeStyle = /Life.*Style/.test(window.C_SETTINGS.theme.merchant_theme_name); if (modalRender && isLifeStyle && $dest.clientWidth > 767) { modalRender.classList.add('zb-mt-[-180px]') } } const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }); if (isSpecialHeroTheme) { ruleEl.querySelectorAll(`.smart_recommend_title`).forEach(dom=>{ dom.classList.add('type-title-font-family'); }); document.querySelectorAll(`.${specialHeroThemeClassName} #smart_recommend_rule_ul_${rule.id} .zb-recommend-price-line-through .money`).forEach(dom=>{ dom.classList.add('type-body-font-family'); }); }; }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.C_SETTINGS.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } initBlockClass(blockEl) { if (!blockEl) return; if (blockEl.parentElement && blockEl.parentElement.offsetWidth === document.body.clientWidth) { blockEl.classList.add('smart_recommend_block_fullscreen'); }; if (isSpecialHeroTheme) { blockEl.classList.add(specialHeroThemeClassName); }; } initItemClass(blockEl) { if (blockEl) { const containerWidth = blockEl.offsetWidth; let itemWidth = ''; if (containerWidth > 780) { itemWidth = '16%'; } else if (containerWidth > 600) { itemWidth = '20%'; } else { itemWidth = '24%'; } const itemStyleEl = document.createElement('style'); itemStyleEl.innerHTML = `.zb-recommend-li-item{ width: ${itemWidth}; }`; document.body.appendChild(itemStyleEl); } } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (modalRender) { document.body.appendChild(modalRender); } if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.C_SETTINGS.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.C_SETTINGS.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.C_SETTINGS.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.C_SETTINGS.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.C_SETTINGS.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.C_SETTINGS.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.C_SETTINGS.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);