DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
1 / 10
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
DIY Unicorn Suncatcher Diamond Painting Hanging Pendant
0% OFF

DIY Unicorn Suncatcher Diamond Painting Hanging Pendant

1356582.09

$33.99
0 sold
Qty 4 in stock

Specification:
Origin: Mainland China
Product Size: 230.00x230.00x10.00mm/9.06x9.06x0.39inch
Product material: Crystal+PVC Diamond
Style: Classic
DIY point drill production steps.
1. Open the package, check whether the diamond painting tools are complete;
2. According to the resin diamond colour , choose a colour on the plate, if you paste the same colour at a time, you can improve the speed;
3. Find the corresponding colour on the plate and start to paste until finished;
4. Finished, in order to be able to make the diamond solid, you can take some book pressure on top of the acrylic plate for a while;
5. Finally finished, you can put your results to decorate up, enjoy decorating your home, add life to your home.

Note:
Due to the different monitor and light effect, the actual color of the item might be slightly different from the color showed on the pictures. Thank you!
Please allow 1-2cm measuring deviation due to manual measurement.



1 x Crystal Pendant
1 Set x Diamond Bags
1 x Point Drill Pen
1 x Point Drill Disc
1 x Point Drilling Mud

/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1736477762476').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);