To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)
To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)

To Granddaughter -925 Sterling Silver Hug Ring (Adjustable - One Size Fits All)

Color — Silver
Please select a color
Select Card (Names for Grandma)
Please select a select card (names for grandma)
Ring+Card+Packing💝
Please select a ring+card+packing💝
Price
$39.98
$19.89
Save  $20.09
Quantity
Add Gift Packing

PE Film Box - $3.99

Ring Box - $5.99

LED Ring Box - $9.99

Free worldwide shipping
Sustainably made
Secure payments

To my granddaughter, as you grow older, my wish for you is that this life becomes all that you want it to be. Your dream stays big, your worries stay small, so stand tall, even if you fall. Never forget that you are not alone, for this hug ring is a reminder that  i am always here for you. Always believe deep in your heart that you are capable of achieving amazing things. Just go forth and chase your dreams, you can be anything you want in this world, but you’re always gonna be my beautiful granddaughter.  My love for you is forever! Love, grandma.

 

 

HUG RING IS A SYMBOL OF ETERNITY AND NEVER-ENDING LOVE, IT HELPS BOOST HAPPINESS AND REDUCE FEELINGS OF LONELINESS AND ISOLATION. THE RING WILL REMIND YOUR LOVED ONES HOW MUCH THEY MEAN TO YOU AND GIVE THEM THAT HUG THEY NEED DURING THE DAY EVEN WHEN YOU’RE NOT THERE

  • ORDER INCLUDES: ADJUSTABLE ( ONE SIZE FITS ALL ) HUG RING, PERSONALIZED MESSAGE CARD, AND FREE GIFT BOX
  • 925 STERLING SILVER ( SAFE FOR ALL AGES )

Package Content: 

  • 1*HUG RING, 1*Full-designed Gift Card,1*Gift Box

undefined

THOUSANDS OF HAPPY CUSTOMERS 🕊

 

undefined

undefined

undefined

 

  • 🌎Worldwide Shipping: Each order includes real-time tracking details and insurance coverage in the unlikely event that a package gets lost or stolen in transit.

    💰 Money-Back Guarantee:If you bought it and felt that it is not for you, don't worry. Just shoot us a message at contact 📪support@glamourgemstone.com, and we will make it right by offering you a replacement or refund. 100% Simple & Risk-Free process.

    ✉️ 24/7 Customer Support: We have a team of live reps ready to help and answer any questions you have within a 24-hour time frame, 7 days a week.

    🔒 Safe & Secure Checkouts: We use state-of-the-art SSL Secure encryption to keep your personal and financial information 100% protected.

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.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.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.SHOPLAZZA.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() { console.log('appzebu smart mounted'); const that = this; const themeName = window.SHOPLAZZA.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'); 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; 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; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.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); }); } } }); } 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 (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.SHOPLAZZA.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.SHOPLAZZA.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.SHOPLAZZA.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.SHOPLAZZA.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.SHOPLAZZA.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.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.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);