www.peggybuy.com
Open in
urlscan Pro
2606:4700::6812:e82a
Public Scan
Submitted URL: https://trk.klclick3.com/ls/click?upn=ER-2BOizxEwQzU61nCUtAH-2BsX8j3qq9FDcCsf-2BP2Wk1gF1iPuQcMQz-2BfZBKUPPs4Z9DRa9A7EDuqm...
Effective URL: https://www.peggybuy.com//products/5d-diy-diamond-painting-full-drill-cross-stitch-kit-wall-art-mushroom06-779394?currenc...
Submission: On December 11 via api from BE — Scanned from DE
Effective URL: https://www.peggybuy.com//products/5d-diy-diamond-painting-full-drill-cross-stitch-kit-wall-art-mushroom06-779394?currenc...
Submission: On December 11 via api from BE — Scanned from DE
Form analysis
7 forms found in the DOMGET /search
<form action="/search" method="get">
<div tabindex="-1" class="header__icon d-none d-lg-flex flex-row-reverse align-items-center header__search">
<button type="submit" class="sep-font sep-font-search-thin header__search-icon dj_skin_link logo-icon-color" tabindex="-1"></button>
<input style="background-color: #FFFFFF !important;" name="q" id="searchheader" type="text" class="form-control header__search-input " placeholder="Search for...">
<label for="searchheader" class="header__search-label" tabindex="1"></label>
</div>
</form>
<form class="product-info product-info-5e4f54ee-f6b4-4bd6-a435-9928b10f1983 col-12 col-md-6 properties">
<div class="product-info__header">
<div class="product-info__vendor dj_skin_product_list_title">Peggybuy</div>
<h1 class="product-info__header_title dj_skin_product_title">(Multi-Size) Purple Mushroom - Square Drill Diamond Painting</h1>
<p class="product-info__header-sku">779394.01</p>
<div class="product-info__header_price-wrapper">
<div class="product-info__header_price-wrapper-left">
<span class="product-info__header_price dj_skin_product_detail_price money notranslate">$3.99</span>
</div>
<span class="product-info__header_sales "> 2 sold </span>
</div>
<div id="pp-pay-later-message" style="display: block;" data-pp-id="1"><span id="zoid-paypal-message-uid_d004f9e015_mdg6nte6ndy">
<style nonce="">
#zoid-paypal-message-uid_d004f9e015_mdg6nte6ndy>iframe {
width: 100%;
height: 0;
}
#zoid-paypal-message-uid_d004f9e015_mdg6nte6ndy>iframe:nth-of-type(2) {
display: none;
}
#zoid-paypal-message-uid_d004f9e015_mdg6nte6ndy {
display: block;
width: 100%;
min-width: 250px;
max-width: 768px;
box-sizing: border-box;
position: relative;
}
#zoid-paypal-message-uid_d004f9e015_mdg6nte6ndy::before {
padding-top: 16.666666666666664%;
content: '';
display: block;
}
#zoid-paypal-message-uid_d004f9e015_mdg6nte6ndy iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
@media (min-width: 768px) {
#zoid-paypal-message-uid_d004f9e015_mdg6nte6ndy::before {
padding-top: 12.5%;
}
}
</style><iframe allowtransparency="true"
name="__zoid__paypal_message__eyJzZW5kZXIiOnsiZG9tYWluIjoiaHR0cHM6Ly93d3cucGVnZ3lidXkuY29tIn0sIm1ldGFEYXRhIjp7IndpbmRvd1JlZiI6eyJ0eXBlIjoicGFyZW50IiwiZGlzdGFuY2UiOjB9fSwicmVmZXJlbmNlIjp7InR5cGUiOiJyYXciLCJ2YWwiOiJ7XCJ1aWRcIjpcInpvaWQtcGF5cGFsLW1lc3NhZ2UtdWlkX2QwMDRmOWUwMTVfbWRnNm50ZTZuZHlcIixcImNvbnRleHRcIjpcImlmcmFtZVwiLFwidGFnXCI6XCJwYXlwYWwtbWVzc2FnZVwiLFwiY2hpbGREb21haW5NYXRjaFwiOntcIl9fdHlwZV9fXCI6XCJyZWdleFwiLFwiX192YWxfX1wiOlwiXFxcXC5wYXlwYWxcXFxcLmNvbSg6XFxcXGQrKT8kXCJ9LFwidmVyc2lvblwiOlwiMTBfM18zXCIsXCJwcm9wc1wiOntcImFjY291bnRcIjpcImNsaWVudC1pZDpBZHdsalR6RlRVckR4a2Z2REdtQ0RXWm1jem5YZkh6bjFwYWRaVmgyaG9yMXE5eXhYZVMzZmlIRDNDcVo4UGg3b1BISkJxcGtvN1d2bVlnWlwiLFwibWVyY2hhbnRJZFwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJjdXN0b21lcklkXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcImN1cnJlbmN5XCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcImFtb3VudFwiOjMuOTksXCJidXllckNvdW50cnlcIjpcIkRFXCIsXCJpZ25vcmVDYWNoZVwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJjaGFubmVsXCI6XCJVUFNUUkVBTVwiLFwiZWNUb2tlblwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJjc3BOb25jZVwiOlwiXCIsXCJpbmRleFwiOlwiMVwiLFwicGxhY2VtZW50XCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcInN0eWxlXCI6e1wibGF5b3V0XCI6XCJmbGV4XCIsXCJyYXRpb1wiOlwiOHgxXCIsXCJjb2xvclwiOlwiZ3JheVwifSxcIm9mZmVyXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcIm9uQ2xpY2tcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF8wYTk5MzY1MTllX21kZzZudGU2bmR5XCIsXCJuYW1lXCI6XCJvbkNsaWNrXCJ9fSxcIm9uQXBwbHlcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwib25SZWFkeVwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkXzU2OWQ2MWM5NWZfbWRnNm50ZTZuZHlcIixcIm5hbWVcIjpcIm9uUmVhZHlcIn19LFwiZ2V0Q29udGFpbmVyXCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfMTRhYjcxYjU0Zl9tZGc2bnRlNm5keVwiLFwibmFtZVwiOlwiZ2V0Q29udGFpbmVyXCJ9fSxcIm1vZGFsXCI6e1wicmVuZGVyXCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfZjMyNWY2OGJiZF9tZGc2bnRlNm5keVwiLFwibmFtZVwiOlwiX1wifX0sXCJzaG93XCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfMDIyOTU0Nzg3NF9tZGc2bnRlNm5keVwiLFwibmFtZVwiOlwiU1wifX0sXCJoaWRlXCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfN2YwMGY3NDk0NF9tZGc2bnRlNm5keVwiLFwibmFtZVwiOlwiYlwifX0sXCJ1cGRhdGVQcm9wc1wiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkXzc0NWZhMDYxM2FfbWRnNm50ZTZuZHlcIixcIm5hbWVcIjpcInVwZGF0ZVByb3BzXCJ9fX0sXCJvbkRlc3Ryb3lcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF83ZTM0NmFkZTk2X21kZzZudGU2bmR5XCIsXCJuYW1lXCI6XCJvbkRlc3Ryb3lcIn19LFwib25Ib3ZlclwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkXzQ0MjQ2MzM4NTBfbWRnNm50ZTZuZHlcIixcIm5hbWVcIjpcIm9uSG92ZXJcIn19LFwib25NYXJrdXBcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF83ODUwN2M2OTVmX21kZzZudGU2bmR5XCIsXCJuYW1lXCI6XCJvbk1hcmt1cFwifX0sXCJwYXllcklkXCI6bnVsbCxcImNsaWVudElkXCI6XCJBZHdsalR6RlRVckR4a2Z2REdtQ0RXWm1jem5YZkh6bjFwYWRaVmgyaG9yMXE5eXhYZVMzZmlIRDNDcVo4UGg3b1BISkJxcGtvN1d2bVlnWlwiLFwibWVyY2hhbnRDb25maWdIYXNoXCI6XCJmNjU4ZTg2NzZkNDMyZDE1MzhlZWUzYWVmMTMzM2Q5M2RjOWY4MzQxXCIsXCJ0cmVhdG1lbnRzSGFzaFwiOlwiOTczZDVhNGFhNDI4ODdiM2MyZmFmMTRjMjRjYzk3ZDQwMTkzZjc5YVwiLFwiZW52XCI6XCJwcm9kdWN0aW9uXCIsXCJ2ZXJzaW9uXCI6XCIxLjUxLjBcIixcImludGVncmF0aW9uVHlwZVwiOlwiU0RLXCIsXCJkZXZpY2VJRFwiOlwidWlkX2Q1YzMyYjk2NDdfbWRnNm50ZTZuZHlcIixcInNlc3Npb25JRFwiOlwidWlkX2I2ZGNjZmE2YmJfbWRnNm50ZTZuZHlcIixcInNjcmlwdFVJRFwiOlwidWlkX2h0amFzcmRrd2ltdnJvZ2lzbGhwbGxyZGpycmR0Y1wiLFwibWVzc2FnZVJlcXVlc3RJZFwiOlwidWlkXzkzMTg5NDYyNjdfbWRnNm50ZTZuZHlcIixcImRlYnVnXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcIm1lc3NhZ2VMb2NhdGlvblwiOlwiaHR0cHM6Ly93d3cucGVnZ3lidXkuY29tLy9wcm9kdWN0cy81ZC1kaXktZGlhbW9uZC1wYWludGluZy1mdWxsLWRyaWxsLWNyb3NzLXN0aXRjaC1raXQtd2FsbC1hcnQtbXVzaHJvb20wNi03NzkzOTQ/Y3VycmVuY3k9VVNEJnV0bV9zb3VyY2U9S2xhdml5byZ1dG1fbWVkaXVtPWVtYWlsJnV0bV9jYW1wYWlnbj0xMTI1UEItVVMmdXRtX3Rlcm09UEItVVNFUiZfa3g9eVlhUWYteVVtXy1kYURsWUFfYnZYSjlQZUY1UHN0NFJQMnp4MVZWQmhkYyUzRC5WNnRNazlcIixcInN0YWdlVGFnXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcInBhcnRuZXJBdHRyaWJ1dGlvbklkXCI6bnVsbCxcImRldlRvdWNocG9pbnRcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwiZGlzYWJsZVNldENvb2tpZVwiOnRydWUsXCJmZWF0dXJlc1wiOlwiZGlzYWJsZS1zZXQtY29va2llXCJ9LFwiZXhwb3J0c1wiOntcImluaXRcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF82YWZjZmU1OTE4X21kZzZudGU2bmR5XCIsXCJuYW1lXCI6XCJpbml0XCJ9fSxcImNsb3NlXCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfZmQ3YzExNzFjZF9tZGc2bnRlNm5keVwiLFwibmFtZVwiOlwiY2xvc2U6Om1lbW9pemVkXCJ9fSxcImNoZWNrQ2xvc2VcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF9mOTg2OTFiNDRhX21kZzZudGU2bmR5XCIsXCJuYW1lXCI6XCJjaGVja0Nsb3NlXCJ9fSxcInJlc2l6ZVwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkX2UxM2QxMDZlYjFfbWRnNm50ZTZuZHlcIixcIm5hbWVcIjpcIkhlXCJ9fSxcIm9uRXJyb3JcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF81YWUzNGQ5ZTdlX21kZzZudGU2bmR5XCIsXCJuYW1lXCI6XCJxZVwifX0sXCJzaG93XCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfMGM3OWU0N2IyOF9tZGc2bnRlNm5keVwiLFwibmFtZVwiOlwidmVcIn19LFwiaGlkZVwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkX2M5NjY5ZTNjOGJfbWRnNm50ZTZuZHlcIixcIm5hbWVcIjpcIm1lXCJ9fSxcImV4cG9ydFwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkX2FhMDM1YzRmODRfbWRnNm50ZTZuZHlcIixcIm5hbWVcIjpcInplXCJ9fX19In19__"
title="PayPal Message 1" scrolling="no" id="jsx-iframe-496261c4b2" data-width="0" data-height="0" style="background-color: transparent; border: none; opacity: 1;"></iframe><iframe name="__detect_close_uid_75772966eb_mdg6nte6ndy__"
style="display: none;"></iframe>
</span></div>
<div class="bootstrap">
<div class="plugin__wrappers d-flex flex-column">
<div class="plugin_modals position-relative plugin_modals-discount_gifts" id="Modal037911" style="order: 9">
<style>
#Modal037911 {
--modal_background: linear-gradient(0deg, #ebc19e, #fff3e8 100%);
--modal_caret_background: #fff2e9;
--modal_title_color: #B83D07;
--modal_close_color: #FFFFFF;
--modal_close_background_color: #F03010;
--list_border_color: #dddddd;
}
@media (max-width: 767.98px) {
#Modal037911 .coupon_plugin__coupon:last-child {
padding-bottom: 0;
}
}
#Modal037911 .modal-footer {
position: relative;
margin-top: -30px;
}
#Modal037911 .modal-footer::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 150%;
background-image: url(//img.fantaskycdn.com/oss/operation/e8ebb03dbb710457ca3b4b6a70898ab2.svg);
background-repeat: no-repeat;
background-size: 100%;
pointer-events: none;
}
@media (max-width: 767.98px) {
#Modal037911 .discount-present-item:last-child {
padding-bottom: 40px;
}
#Modal037911 .plugin_modals__wrapper-list>a:last-child {
padding-bottom: 14px;
}
}
</style>
<!-- 入口 -->
<div class="plugin_modals__list" data-toggle="modal" data-target="#target_Modal037911" impr="1" imprevt="1" imprsd="true">
<div class="plugin_modals__list-name"><a class="product_detail_discount_list">
<i>
<svg width="16" height="14" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.31421 2.57895C4.31421 2.03589 4.82263 1.47368 5.61842 1.47368C6.39063 1.47368 7.26158 2.11474 7.26158 3.19274V3.68421H6.63821C6.04505 3.68421 5.418 3.6761 4.93905 3.5C4.71653 3.41747 4.57211 3.31358 4.48148 3.19568C4.39674 3.08516 4.31421 2.90316 4.31421 2.57895ZM9.35863 3.68421H8.73526V3.19274C8.73526 2.11474 9.60547 1.47368 10.3784 1.47368C11.1742 1.47368 11.6826 2.03589 11.6826 2.57895C11.6826 2.90316 11.6001 3.08442 11.5154 3.19568C11.4247 3.31358 11.2803 3.41674 11.0578 3.49926C10.5788 3.6761 9.95252 3.68421 9.35863 3.68421ZM13.1563 2.57895C13.1563 2.9901 13.0804 3.36 12.9308 3.68421H14.2616C14.5547 3.68421 14.8358 3.80066 15.0431 4.00793C15.2504 4.21521 15.3668 4.49634 15.3668 4.78947V6.63158H0.630005V4.78947C0.630005 4.49634 0.746452 4.21521 0.953729 4.00793C1.16101 3.80066 1.44213 3.68421 1.73527 3.68421H3.066C2.91128 3.3366 2.83434 2.95939 2.84053 2.57895C2.84053 1.08316 4.15432 0 5.61842 0C6.47684 0 7.38537 0.402317 7.99842 1.12663C8.61147 0.402317 9.52 0 10.3784 0C11.8433 0 13.1563 1.08316 13.1563 2.57895ZM7.26158 14V8.10526H1.36685V12.8947C1.36685 13.5063 1.86053 14 2.47211 14H7.26158ZM8.73526 14V8.10526H14.63V12.8947C14.63 13.5063 14.1363 14 13.5247 14H8.73526Z" fill="#EB391B"></path>
</svg>
</i>
<ol>
<li>Buy <span>4</span> Get <span>1</span> Free ( Add <span>5</span> To Cart )</li>
</ol>
</a>
</div>
<div class="plugin_modals__list-labels text-right"></div>
</div>
</div>
</div>
</div>
</div>
<input type="hidden" name="product_id" value="5e4f54ee-f6b4-4bd6-a435-9928b10f1983">
<input type="hidden" name="variant_id" id="selected_variant_id_5e4f54ee-f6b4-4bd6-a435-9928b10f1983" value="1094a934-42b6-4679-9cbc-70a46f23217a">
<div class="product-info__body">
<div class="product-info__variants ">
<div class="product-info__variants_items">
<div class="product-info__variants_title">Model</div>
<div class="product-info__variants_value-wrapper">
<span class="btn product-info__variants_value notranslate">
<input type="radio" class="d-none product-info__variants_radio" name="option1-5e4f54ee-f6b4-4bd6-a435-9928b10f1983" id="option1-0-5e4f54ee-f6b4-4bd6-a435-9928b10f1983" checked="" value="20*30CM">
<label for="option1-0-5e4f54ee-f6b4-4bd6-a435-9928b10f1983" data-variants-value="20*30CM" class="mb-0" data-options-order="0" data-click="select"> 20*30CM </label>
</span>
</div>
</div>
</div>
<div class="product-info__qty_container">
<div class="qty-title product-info__qty_title">Qty <span class="product-info__qty_stock" style="display: inline;"> (3 in stock) </span>
</div>
<div class="product-info__qty notranslate">
<button type="button" class="btn product-info__qty_btn product-info__qty_decr" data-click="decrease" disabled=""> - </button>
<input id="product_quantity_5e4f54ee-f6b4-4bd6-a435-9928b10f1983" class="form-control product-info__qty_num" type="text" value="1" name="quantity">
<button type="button" class="btn product-info__qty_btn product-info__qty_incr" data-click="increase"> + </button>
</div>
</div>
</div>
<div class="product-info__btn product-info__btn_2">
<div data-wishlist="product-cart-love" class="p-flex p-justify-content p-items-center product-detail-love-cart md:p-w-[48%]"><button type="button" class="btn btn-secondary p-flex-1" data-click="addToCart" data-track="click"
data-track-content="add_to_cart" data-track-source="add_to_cart"> Add to Cart </button>
<div
class="wishlist-add-to-cart-love-icon p-flex p-cursor-pointer p-justify-center p-items-center p-rounded-full p-ml-2 p-mb-[15px] p-relative md:p-min-w-[36px] md:p-w-[36px] md:p-h-[36px] p-min-w-[44px] p-w-[44px] p-h-[44px] md:after:p-content-[''] md:after:p-absolute md:after:p-inset-[-7px] md:after:p-left-[-8px] md:after:p-border md:after:p-border-solid md:after:p-border-l-0"
data-wishlist="product-love" style="background: rgb(245, 245, 245);">
<span class=" p-w-[26px] p-h-[26px] p-flex p-justify-center p-items-center detail-love-icon">
<svg width="24" height="23" fill="transparent" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path
d="M21.3965 12.7653L12 22L2.60345 12.7653C1.51072 11.517 0.939777 9.91013 1.00504 8.26674C1.07029 6.62334 1.76693 5.06481 2.95535 3.90346C4.14377 2.74211 5.73618 2.06373 7.41347 2.00427C9.09077 1.9448 10.729 2.50864 12 3.5828C13.271 2.50864 14.9092 1.9448 16.5865 2.00427C18.2638 2.06373 19.8562 2.74211 21.0446 3.90346C22.2331 5.06481 22.9297 6.62334 22.995 8.26674C23.0602 9.91013 22.4893 11.517 21.3965 12.7653Z"
stroke="currentColor" stroke-width="1"></path>
</svg>
</span>
</div>
</div><button type="button" class="btn btn-primary " data-click="submit" data-track="click" data-track-content="checkout" data-track-source="buy_now">Buy Now</button>
</div>
<div class="product-info__additional">
<div class="common__img-wrapper_lazy d-none d-md-block" style="padding-bottom: 4.80000000768%;">
<img class="w-100 lazyloaded" data-src="//img.fantaskycdn.com/e7d47f1333437421c0927d194dc60100.png" src="//img.fantaskycdn.com/e7d47f1333437421c0927d194dc60100.png">
</div>
<div class="common__img-wrapper_lazy d-md-none" style="padding-bottom: 4.80000000768%;">
<img class="lazyload w-100" data-src="//img.fantaskycdn.com/e7d47f1333437421c0927d194dc60100.png"
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAABlBMVEXx8fH///8wmV1OAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAACklEQVQImWNgAAAAAgAB9HFkpgAAAABJRU5ErkJggg==">
</div>
</div>
<div class="col-12 px-0 product-info__desc-tab product-info__desc side">
<div class="product-info__label_tabs">
<label class="dj_skin_text product-info__desc-tab-header product-info__label_tabs_checked" for="r-1539149753700-1"> Product Description </label>
<label data-position="side" class="dj_skin_text product-info__desc-tab-header product_detail_reviews_label d-none" for="r-1539149753700-5"> Reviews </label>
<label class="dj_skin_text product-info__desc-tab-header" for="r-1539149753700-3"> Wholesale Discount </label>
</div>
<input type="checkbox" name="r-1539149753700-1" class="d-none product-info__desc-tab-cb" id="r-1539149753700-1" checked="">
<label class="dj_skin_text product-info__desc-tab-header" for="r-1539149753700-1"> Product Description <i class="sep-font sep-font-angle-down-strong"></i>
</label>
<div class="product-info__desc-tab-content"><strong>Specification:</strong><br> Material: rhinestones + canvas<br> Project type: 5D diamond painting <br> Color: as shown<br> Diamond type: Full Square Drill<br> Canvas size:
Approx.20x30CM/7.87x11.81\'\'; 30x40CM/11.81x15.75\'\', 40x50CM/15.75x19.69\'\'; 45x60CM/17.72x23.62\'\'; 50x70CM/19.69x27.56\'\'(1CM=0.39in)<br> Space: living room / bedroom / classroom / entrance<br>
<br>
<strong>DIY diamond painting steps:</strong><br> 1. Open the box, check the kits whether complete;<br> 2. According to the color code, choose a color into the plate;If you paste the same color at the same time, you can increase the speed;<br>
3. Find the symbols in picture, beginning paste until finish it;<br> 4. When you finish it,put some books on top, let it more firmly;<br> 5. Congratulations, you can go framed up and decorate your home now!<br>
<br>
<strong>Preventive measures of DIY diamond painting:</strong><br> 1. Refer to the previous operation steps.<br> 2. If you don\'t know what the color, please refer to the color chart.<br>
<br>
<strong>Tips:</strong><br> We sell the resin diamonds, semi-finished products, not including frames! Diamond painting, only needs DIY sticking diamond.<br> This is DIY diamond painting. It\'s not finished. You need to do it yourself.<br>
<br>
<strong>Note:</strong><br> 1. 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!<br> 2. Please allow 1-2CM measuring deviation due to manual
measurement.<br><br><strong>Package Content:</strong><br>1 X Diamond Painting (rhinestone need to be pasted)<br> 1set X Diamond Painting Tools (no frame)<br> 1set X Drill Bags
</div>
<input type="checkbox" name="r-1539149753700-5" class="d-none product-info__desc-tab-cb" id="r-1539149753700-5">
<label data-position="side" class="dj_skin_text product-info__desc-tab-header product_detail_reviews_label d-none" for="r-1539149753700-5"> Reviews <i class="sep-font sep-font-angle-down-strong"></i>
</label>
<div class="product-info__desc-tab-content product_detail_reviews_content"></div>
<input type="checkbox" name="r-1539149753700-3" class="d-none product-info__desc-tab-cb" id="r-1539149753700-3">
<label class="dj_skin_text product-info__desc-tab-header" for="r-1539149753700-3"> Wholesale Discount <i class="sep-font sep-font-angle-down-strong"></i>
</label>
<div class="product-info__desc-tab-content">
<p><img src="https://cdn.shoplazza.com/65edce6dbe213b317d0de9a583b3fddd.jpg" alt="" height="400" width="1920"></p>
<p>If you have more detailed plan consultation, please contact us: <span style="color: #000000;"><a href="mailto:service@peggybuy.com" style="color: #000000;">service@peggybuy.com</a></span></p>
<p></p>
</div>
</div>
<div class="product-info__social-sharing notranslate">
<a target="_blank" href="//www.facebook.com/sharer.php?u=https://www.peggybuy.com/products/5d-diy-diamond-painting-full-drill-cross-stitch-kit-wall-art-mushroom06-779394" class="share-facebook dj_skin_text">
<i class="sep-font sep-font-facebook"></i>
<span class="share-title" aria-hidden="true">Share</span>
</a>
<a target="_blank" href="//twitter.com/share?text=%28Multi-Size%29%20Purple%20Mushroom%20-%20Square%20Drill%20Diamond%20Painting&url=https://www.peggybuy.com/products/5d-diy-diamond-painting-full-drill-cross-stitch-kit-wall-art-mushroom06-779394" class="share-twitter dj_skin_text">
<i class="sep-font sep-font-twitter"></i>
<span class="share-title" aria-hidden="true">Tweet</span>
</a>
<a target="_blank" href="//pinterest.com/pin/create/button/?url=https://www.peggybuy.com/products/5d-diy-diamond-painting-full-drill-cross-stitch-kit-wall-art-mushroom06-779394&media=//img.fantaskycdn.com/2157e965d934dc8c3f91a98dd375e27d_1024x1024.jpeg&description=%28Multi-Size%29%20Purple%20Mushroom%20-%20Square%20Drill%20Diamond%20Painting" class="share-pinterest dj_skin_text">
<i class="sep-font sep-font-pinterest"></i>
<span class="share-title" aria-hidden="true">Pin it</span>
</a>
</div>
</form>
<form class="zb-flex zb-flex-col zb-relative zb-w-full">
<div class="zb-overflow-y-auto zb-pb-[100px]">
<div class="zb-flex zb-items-center zb-pb-4 zb-border-b zb-border-t-0 zb-border-l-0 zb-border-r-0 zb-border-solid zb-border-[#eee] md:zb-border-none">
<ljs-render layout="container" class="zb-flex-shrink-0 zb-w-[66px] zb-mr-4 rtl:zb-ml-4 rtl:zb-mr-0 zb-h-[70px] md:zb-hidden" id="smart_recommend_product_image" manual="" template="smart_recommend_product_image_template"></ljs-render>
<div class="zb-w-full">
<div class="zb-line-clamp-2 zb-mb-2 zb-text-sm md:zb-text-base">${product.title}</div>
<div class="zb-flex zb-justify-between zb-items-center">
<spz-render layout="container" template="smart_recommend_price_template" id="smart_recommend_modal_price" manual="">
<div class="zb-flex zb-items-center">
<ljs-currency class="zb-font-semibold zb-text-[22px] zb-text-[#CD201A] zb-mr-2" layout="container" value="${product.min_price_variant.price}"></ljs-currency>
<ljs-currency class="zb-text-[#93989D] zb-text-xs zb-line-through" layout="container" value="${product.min_price_variant.compare_at_price}"
spz-if="${product.min_price_variant.compare_at_price > product.min_price_variant.price ? true : false}"></ljs-currency>
</div>
</spz-render>
<a class="zb-flex zb-items-center zb-cursor-pointer zb-text-[#212B36] zb-no-underline" href="${product.url}?${toQuery({ aid: 'smart_recommend.' + data.show_type + '.' + data.rule_id, ifb: product.ifb || '', cfb: product.cfb || '', scm: data.scm || '', ssp: data.ssp || '' })}">
<span class="zb-text-[13px]">See detail</span>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><path d="M13.1714 12.0007L8.22168 7.05093L9.63589 5.63672L15.9999 12.0007L9.63589 18.3646L8.22168 16.9504L13.1714 12.0007Z" fill="#93989D"></path></svg>
</a>
</div>
</div>
</div>
<ljs-variants id="smart_recommend_product_variants" layout="container" template="smart_recommend_product_variant_template" slide="smart_recommend_carousel" disabled-dj-event="" interference="">
</ljs-variants>
<div class="zb-text-sm zb-mb-2">Quantity</div>
<ljs-quantity disabled-dj-event="" layout="fixed" width="150" height="52" min="1" max="999999" value="1" input-class="!zb-text-base" icon-class="!zb-p-3"></ljs-quantity>
</div>
<div class="zb-absolute zb-bottom-0 zb-flex md:zb-flex-col zb-w-full zb-bg-white">
<button class="zb-flex zb-items-center zb-mr-2 rtl:zb-ml-2 rtl:zb-mr-0 md:zb-mb-2 zb-justify-center zb-cursor-pointer zb-w-full zb-border zb-border-solid zb-border-[#313131] zb-bg-white zb-rounded zb-h-[42px]" role="addToCart" type="button"
@tap="smart_recommend_func.addATCHook(rule_id='${data.rule_id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${data.scm}',ssp='${data.ssp}',spmIndex='${data.productIndex}');">
<span>Add To Cart</span>
</button>
<button class="zb-flex zb-items-center zb-justify-center zb-cursor-pointer zb-w-full zb-bg-[#292929] zb-text-white zb-rounded zb-h-[42px] zb-border-none" type="button" role="buyNow"
@tap="smart_recommend_loading.showLoading;smart_recommend_func.addATCHook(rule_id='${data.rule_id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${data.scm}',ssp='${data.ssp}',spmIndex='${data.productIndex}');">
<span>Buy Now</span>
</button>
</div>
</form>
<form action="" id="UCD_TEXT_FORM">
<div class="UCD_FORM_FIELD">
<div style="position: relative">
<select id="fontSelect" name="font">
<option value="arial" selected="" style="font-family: 'Arial';">Arial</option>
<option value="baloo" class="font-baloo">Baloo</option>
<option value="pacifico" class="font-pacifico">Pacifico</option>
<option value="helvetica" style="font-family: 'Helvetica';">Helvetica</option>
<option value="impact" style="font-family: 'Impact';">Impact</option>
</select>
<div class="picker" id="color-picker" style="background-color: rgb(1, 1, 1);"></div>
</div>
<div class="align_select">
<input type="hidden" name="align" value="center">
<a class="align_left" data-value="left"></a>
<a class="align_center align_active" data-value="center"></a>
<a class="align_right" data-value="right"></a>
</div>
<div class="clear">
<label class="select_float size13">Font Size</label>
<label class="select_float size13">Line Height</label>
<label class="select_float size13">Spacing</label>
<div class="clear"></div>
</div>
<div style="margin-top: 10px">
<div class="select_float">
<select id="sizeSelect" name="size" class="SPIN">
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="24">24</option>
<option value="30">30</option>
<option value="36">36</option>
<option value="48">48</option>
<option value="50">50</option>
<option value="60">60</option>
<option value="72">72</option>
</select>
</div>
<div class="select_float">
<select id="leadingSelect" name="leading" class="SPIN">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="8">8</option>
<option value="10">10</option>
<option value="15">15</option>
<option value="20">20</option>
</select>
</div>
<div class="select_float">
<select id="kerningSelect" name="kerning" class="SPIN">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="8">8</option>
<option value="10">10</option>
</select>
</div>
</div>
</div>
</form>
<form class="">
<div class="zb-flex">
<a href="${product.url}?${toQuery({ aid: 'smart_recommend.2.' + data.id, ifb: product.ifb || '', cfb: product.cfb || '', scm: product.scm || data.scm || '', ssp: data.ssp || '' })}" impr="1" imprevt="1" class="zb-w-[132px] zb-mr-4 rtl:zb-ml-4 rtl:zb-mr-0" data-prdct="${product.id}" data-ifb="${product.ifb || ''}" data-cfb="${product.cfb || ''}" data-scm="${product.scm || data.scm || ''}" data-spm="${productIndex}"> <ljs-render layout="container" id="smart_cart_pop_image_${product.id}" template="smart_cart_pop_image_template" manual=""></ljs-render> </a>
<div class="zb-flex zb-flex-col zb-flex-grow zb-justify-between">
<div>
<div class="zb-line-clamp-2 zb-text-sm zb-mb-2">${product.title}</div> <ljs-render layout="container" id="smart_cart_pop_price_${product.id}" template="smart_cart_pop_price_template" manual=""></ljs-render>
</div>
<div>
<div class="zb-relative zb-w-full zb-cursor-pointer">
<div class="zb-border zb-border-solid zb-border-[#eee] zb-px-3 zb-py-[10px] zb-flex zb-items-center zb-justify-between zb-font-semibold zb-text-sm zb-rounded-sm"
@tap="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);smart_cart_pop_variant_${product.id}_mobile.toggleClass(class=zb-hidden);smart_cart_pop_variant_${product.id}_pc.toggleClass(class=smart_cart_pop_variant_pc_show,force=true);smart_cart_pop_variant_modal_${product.id}.open"
spz-if="${!!(product.options && product.options.length && product.options.length > 0) && data.config.variant_select_visible}"> <ljs-render manual="" layout="container" id="smart_cart_pop_variant_text_${product.id}"
template="smart_cart_pop_variant_text_template"></ljs-render> <svg id="smart_pop_variant-select-${product.id}" width="12" height="8" class="zb-ml-2" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M6.00002 7.06738C6.19244 7.06775 6.38498 6.99453 6.5318 6.84772C6.54504 6.83447 6.55769 6.82086 6.56973 6.8069L11.1251 2.25152C11.418 1.95863 11.418 1.48375 11.1251 1.19086C10.8322 0.897968 10.3573 0.897968 10.0645 1.19086L6.00003 5.25529L1.9356 1.19086C1.64271 0.897968 1.16784 0.897968 0.874943 1.19086C0.58205 1.48375 0.58205 1.95863 0.874943 2.25152L5.43033 6.8069C5.44237 6.82086 5.45502 6.83447 5.46826 6.84772C5.61507 6.99453 5.8076 7.06775 6.00002 7.06738Z"
fill="#0A1533"></path>
</svg> </div> <ljs-lightbox layout="nodisplay" disable-unmount="" class="smart_cart_pop_lightbox_pc" id="smart_cart_pop_variant_modal_${product.id}" @close="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);">
<div id="smart_cart_pop_variant_${product.id}_pc" class="zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template"
onclick="event.stopPropagation()" disabled-dj-event="" interference=""> </ljs-variants></div>
</ljs-lightbox>
</div>
<div class="zb-mt-3"> <button product-id="${product.id}" id="smart_cart_pop_atc_btn_${product.id}"
class="zb-flex zb-items-center zb-justify-center zb-w-full zb-text-white zb-py-[10px] zb-h-9 zb-text-xs zb-font-normal zb-border-none zb-rounded-[4px] smart_cart_pop_atc_btn_bg" type="button" role="addToCart"
@tap="smart_cart_pop_loading_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_btn_${product.id}.toggleClass(class=zb-pointer-events-none);custom-func.addATCHook(activity_id='${data.id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${product.scm || data.scm}',ssp='${data.ssp}',spm='${data.spmBase}.${productIndex}')">
<ljs-render layout="container" id="smart_cart_pop_atc_${product.id}" template="smart_cart_pop_atc_template" mamual="" class="notranslate"> </ljs-render>
<div id="smart_cart_pop_added_${product.id}" class="zb-hidden"><span class="zb-flex zb-justify-center zb-gap-1"><svg width="14" height="15" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M8 16.5006C3.58171 16.5006 0 12.9183 0 8.5C0 4.08171 3.58171 0.5 8 0.5C12.4183 0.5 16 4.08171 16 8.5C16 12.9183 12.4183 16.5006 8 16.5006ZM8 2.04344C4.21314 2.04344 1.54287 4.71371 1.54287 8.50057C1.54287 12.2874 4.21314 14.9577 8 14.9577C11.7869 14.9577 14.4571 12.2874 14.4571 8.50057C14.4571 4.71371 11.7869 2.04344 8 2.04344ZM7.26057 11.1909L7.12229 11.3286L7.09543 11.3017C7.02286 11.336 6.94286 11.3577 6.85714 11.3577C6.73543 11.3577 6.62857 11.3109 6.536 11.2463L6.52229 11.2594L6.45371 11.1909C6.45314 11.1903 6.45314 11.1903 6.45257 11.1897L4.09771 8.83486L4.90629 8.02686L6.85714 9.97771L11.1629 5.67143L11.9714 6.48L7.26171 11.1897C7.26114 11.1903 7.26114 11.1903 7.26057 11.1909Z"
fill="white"></path>
</svg>Added</span></div>
<div id="smart_cart_pop_loading_${product.id}" class="zb-hidden">
<div class="smart_cart_pop_loading"></div>
</div>
</button> </div>
</div>
</div>
</div>
<div id="smart_cart_pop_variant_${product.id}_mobile" class="zb-hidden md:zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template" onclick="event.stopPropagation()"
disabled-dj-event="" interference=""> </ljs-variants></div>
</form>
<form class="buffalo-get-form">
<input type="email" name="email" class="buffalo-input buffalo-input-get-email " placeholder="Email address" value="" required="">
<p class="buffalo-error buffalo-get-error"></p>
<button type="submit" class="buffalo-button buffalo-button_block buffalo-button-get">Send</button>
</form>
POST //translate.googleapis.com/translate_voting?client=te
<form id="goog-gt-votingForm" action="//translate.googleapis.com/translate_voting?client=te" method="post" target="votingFrame" class="VIpgJd-yAWNEb-hvhgNd-aXYTce"><input type="text" name="sl" id="goog-gt-votingInputSrcLang"><input type="text"
name="tl" id="goog-gt-votingInputTrgLang"><input type="text" name="query" id="goog-gt-votingInputSrcText"><input type="text" name="gtrans" id="goog-gt-votingInputTrgText"><input type="text" name="vote" id="goog-gt-votingInputVote"></form>
Text Content
Year-end Extra 7% Off -- Code: PBWE88 / Free Shipping on Orders Over $69 0 * NEW * [For All New] * New 5D DIY Craft * New Diamond Painting * New Special Shaped * New Big Size * New Christmas * TOP * From $0.99 * Flash Deals * $3.99 Zone * $4.99 Zone * $5.99 Zone * $6.99 Zone * $7.99 Zone * Customized * Diamond Painting * Popular Collection * Animal * Character * Flower * Abstract * Landscape * Cartoon * Festival * Lettering * 5D DIY Craft * [All 5D DIY Craft] * DIY Sticker * DIY Keychain * DIY Pendant * DIY Coaster * DIY Ornaments * DIY Mirror * DIY Bookmark * DIY Bag * DIY Fashion Accessories * DIY Greeting Card * DIY Clock * DIY Lamp * DIY Notebook * DIY Storage Box * DIY Travel Storage * Big Size * [All Big Size] * Square Drill * Multi-picture * Over 60CM * Over 70CM * Over 80CM * Over 85CM * Over 90CM * Over 100CM * Tools * [All Tools] * DIY Frame * Point Drill Pen * Glue & Tape * Tray * Round Beads Stone * Storage Handbag * Oil Paint & Thread * Paint By Numbers * Cross Stitch * More Menu>> * Home Decor * Wholesale * Blog * FAQs * NEW New [For All New] New 5D DIY Craft New Diamond Painting New Special Shaped New Big Size New Christmas * TOP * From $0.99 Flash Deals $3.99 Zone $4.99 Zone $5.99 Zone $6.99 Zone $7.99 Zone * Customized AB Drill * Diamond Painting Popular Collection Round Drill Square Drill HOT Special Shaped HOT AB Drill Crystal Drill Christmas HOT Hot Series Stained Glass DIY Coaster Precious Moments Disney Gnome Anime Doll NFL Tractor Bicycle Bus Animal Bear Bird Butterfly Cardinal Cat Cattle Chicken Deer & Elk Dog Dinosaur Dragon Elephant Fish Horse Owl Peacock Sea Animal Tiger Wolf Character Horror Figure Angel Buddha Religion Beauty Celebrity Couple Dress Lady Elegant Lady Fat Lady Fairy Harry Potter Native American Kid Witch Oil Painting Girl Flower Cactus Dandelion Lotus Mandala Rose Sunflower Tree Quilling Paper Vase Red Pink Purple Color Abstract Skull Dreamcatcher Retro Poster Abstract Pattern Constellation Cross Food Dreamlike Game Heart Luminous Music Wing Landscape Bridge Castle Garden House Lighthouse Sea Waterfall Famous Attractions Mountain Cartoon Disney Cartoon Figure Doll Gnome Goblin Paw Patrol Anime Betty Teddy Festival Christmas HOT Easter Halloween Mother's Day Valentine's Day Independence Day Father's Day Lettering HOME LOVE Family Blackboard Alphabet Welcome * 5D DIY Craft [All 5D DIY Craft] DIY Sticker DIY Keychain DIY Pendant DIY Coaster DIY Ornaments DIY Mirror DIY Bookmark DIY Bag DIY Fashion Accessories DIY Greeting Card DIY Clock DIY Lamp DIY Notebook DIY Storage Box DIY Travel Storage * Big Size [All Big Size] Square Drill HOT Multi-picture Over 60CM Over 70CM Over 80CM Over 85CM Over 90CM Over 100CM * Tools [All Tools] DIY Frame Point Drill Pen Glue & Tape Tray Round Beads Stone Storage Handbag * Oil Paint & Thread Paint By Numbers Under $10 Big Size Scenery Animal Character Flower Cartoon Abstract O-Festival Accessories Cross Stitch 11CT Stamped 14CT Stamped 11CT Counted 14CT Counted Big Size 3D Embroidery Craft Accessories * More Menu>> Home Decor [All Home Decor] Orgonite Pyramid Crystal Suncatcher Ornaments Pendant Stickers Wholesale Blog FAQs USD * United States Dollars (USD) * Euro (EUR) * United Kingdom Pounds (GBP) * Canadian Dollars (CAD) * Australian Dollars (AUD) * New Zealand Dollars (NZD) * Icelandic Kronur (ISK) * Polish Zlotych (PLN) * Swiss Francs (CHF) * Mexican Pesos (MXN) Powered by Google Übersetzer English,Français,Deutsch,Italiano,Português,Español,Nederlands 0 * Login * Register Login Register USD * United States Dollars (USD) * Euro (EUR) * United Kingdom Pounds (GBP) * Canadian Dollars (CAD) * Australian Dollars (AUD) * New Zealand Dollars (NZD) * Icelandic Kronur (ISK) * Polish Zlotych (PLN) * Swiss Francs (CHF) * Mexican Pesos (MXN) English,Français,Deutsch,Italiano,Português,Español,Nederlands 1 / 8 You may also like Don't Like These? 33% OFF Auto-rotate Diamond Painting Point Drill Pen with Mud (23) Peggybuy $3.99 $5.99 Shower Elephant - Round Drill Diamond Painting - 25*20CM Peggybuy $3.99 14% OFF Curly Black Girl - Round Drill Diamond Painting - 30*30CM Peggybuy $5.99 $6.99 Ocean Dolphin - Round Drill Diamond Painting - 90*30CM (Big Size) Peggybuy $17.99 0% OFF Peggybuy (MULTI-SIZE) PURPLE MUSHROOM - SQUARE DRILL DIAMOND PAINTING 779394.01 $3.99 2 sold 1. Buy 4 Get 1 Free ( Add 5 To Cart ) Model 20*30CM Qty (3 in stock) - + Add to Cart Buy Now Product Description Reviews Wholesale Discount Product Description Specification: Material: rhinestones + canvas Project type: 5D diamond painting Color: as shown Diamond type: Full Square Drill Canvas size: Approx.20x30CM/7.87x11.81\'\'; 30x40CM/11.81x15.75\'\', 40x50CM/15.75x19.69\'\'; 45x60CM/17.72x23.62\'\'; 50x70CM/19.69x27.56\'\'(1CM=0.39in) Space: living room / bedroom / classroom / entrance DIY diamond painting steps: 1. Open the box, check the kits whether complete; 2. According to the color code, choose a color into the plate;If you paste the same color at the same time, you can increase the speed; 3. Find the symbols in picture, beginning paste until finish it; 4. When you finish it,put some books on top, let it more firmly; 5. Congratulations, you can go framed up and decorate your home now! Preventive measures of DIY diamond painting: 1. Refer to the previous operation steps. 2. If you don\'t know what the color, please refer to the color chart. Tips: We sell the resin diamonds, semi-finished products, not including frames! Diamond painting, only needs DIY sticking diamond. This is DIY diamond painting. It\'s not finished. You need to do it yourself. Note: 1. 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! 2. Please allow 1-2CM measuring deviation due to manual measurement. Package Content: 1 X Diamond Painting (rhinestone need to be pasted) 1set X Diamond Painting Tools (no frame) 1set X Drill Bags Reviews Wholesale Discount If you have more detailed plan consultation, please contact us: service@peggybuy.com Share Tweet Pin it You may also like Don't Like These? 33% OFF Auto-rotate Diamond Painting Point Drill Pen with Mud (23) Peggybuy $3.99 $5.99 Shower Elephant - Round Drill Diamond Painting - 25*20CM Peggybuy $3.99 14% OFF Curly Black Girl - Round Drill Diamond Painting - 30*30CM Peggybuy $5.99 $6.99 Ocean Dolphin - Round Drill Diamond Painting - 90*30CM (Big Size) Peggybuy $17.99 ${function(){ const rules = data.data.rules; return ` ` }()} ${function(){ const isCart = data.data.isCart; const isCollection = data.data.isCollection; const isProduct = data.data.isProduct; const isIndex = data.data.isIndex; return ` ${isCart ? 'The items in the shopping cart do not participate in any recommendation rule. Add the participating items to your shopping cart to check the design.' : ''} ${isProduct ? 'This product did not participated in any recommendation rule. Switch to another product to check the design.' : ''} ${isCollection ? 'The items in this collection do not participate in any recommendation rule. Switch the participating items to check the design.' : ''} ${isIndex ? 'The home page do not participate in any recommendation rule.' : ''} (This prompt would not display on client-side) Recommended Products ` }()} ${function(){ const rule = data.data; const getImageHeight = function(image){ const image_size = rule.config.image_size || 0; const imageWidth = image.width || 600; const imageHeight = image.height || 800; let ratio = 0; if(image_size == 0){ ratio = (imageHeight / imageWidth).toFixed(2); }else if(image_size == 1){ ratio = 1.5; }else if(image_size == 2){ ratio = 1; }else if(image_size == 3){ ratio = 0.75; } return imageWidth * ratio; }; const toQuery = obj => Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v => `${k}[]=${encodeURIComponent(v)}`).join('&') : `${k}=${encodeURIComponent(obj[k])}` ) .join('&'); return ` ${rule.config.title} * ${product.title} ${rule.config.quick_shop_button_text} ` }()} 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('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 }, true); }); }); 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); ${(function(){ const product = data.product; const toQuery = obj => Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v => `${k}[]=${encodeURIComponent(v)}`).join('&') : `${k}=${encodeURIComponent(obj[k])}` ) .join('&'); return ` ${product.images.map((image) => { return `` }).join('')} ${product.title} See detail Quantity Add To Cart Buy Now `; })()} ${(function(){ const product = data.product; const avail_variants = product.variants.filter(function(variant){ return variant.available; }); const selected_variant = product.min_price_variant.available ? product.min_price_variant : avail_variants.length && avail_variants[0]; return ` ${option.name} ${ option.values.map(function(value, index){ const checked = selected_variant["option"+option.position] == value ? "checked": ""; return ` ${value} ` }).join("") } ` })()} Customer Reviews Here are what our customers say. Write a Review Write a Review Reviews With Photos Newest Newest Most liked Highest ratings Lowest ratings No reviews yet, why don't you leave the first review? Write review Customer Reviews Reviews With Photos Newest Most liked Highest ratings Lowest ratings Submit Comments Anonymously The review would not show in product details on storefront since it does not support to. SUPPORT Contact Us Order Tracking Shipping Policy FAQ Return Policy Trustpilot Reviews Company Info About us Privacy Policy Terms of Service Affiliate Program FOLLOW US Get $5 Coupon Subscribe to get special offers. * © 2023 Peggybuy 0 Add Image Text × Add Text Save Arial Baloo Pacifico Helvetica Impact Font Size Line Height Spacing 12 13 14 15 16 17 18 24 30 36 48 50 60 72 0 1 2 3 4 5 8 10 15 20 0 1 2 3 4 5 8 10 111 GIFTS POINTS Buy 4 Get 1 Free ( Add 5 To Cart ) 111 $0.00 1 Item has been added ${(function(){ const products = data.products; const getDefaultVariant = function(product){ if (product.min_price_variant.available){ return product.min_price_variant; }else { const avail_variants = product.variants.filter(function(variant){ return variant.available; }); if (avail_variants.length) { return avail_variants[0]; } } }; const toQuery = obj => Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v => `${k}[]=${encodeURIComponent(v)}`).join('&') : `${k}=${encodeURIComponent(obj[k])}` ) .join('&'); const getDefaultTrackParams = function(product, index){ const variant = getDefaultVariant(product); const params = { aid: 'smart_recommend.2.' + data.id, scm: product.scm || data.scm || '', spm: data.spmBase + '.' + index, ssp: data.ssp || '', }; const trackParams = Object.keys(params).map(function(key){ return params[key]; }).join('__'); return trackParams; }; const hasMore = (data.products.length - data.target_top_product_num - data.page * data.limit) === 0; return ` ${(function(){ return ` ${data.config.pop_title} ${data.rebate_tips || ''} `; })()} ${product.title} Added `; })()} class SpzCustomComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this._atcLineItem = {}; this.cart_ = {}; this.top_product_ids_ = []; this.products_ = []; this.activityId_ = null; this.rendered_ = false; this.myInterceptor_ = null; this.i18n_ = {}; this.config_ = {}; this.page_ = 1; this.limit_ = 10; this.loading_ = false; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('pop mounted'); this.i18n_ = window.smartRecommendI18n && window.smartRecommendI18n[document.documentElement.lang || 'en-US'] || {}; const cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const modalEl = document.getElementById("smart_cart_pop_modal"); const spmBase = `smart_recommend_2`; const extra = { spmBase: spmBase, i18n: this.i18n_, }; const that = this; document.addEventListener('dj.addToCart', (event) => { try { const e = event.detail; if (e.source === 'buy_now' || window.__upsell_block || this.rendered_) return; that.fetchActivityData({product_id: e.product_id, variant_id: e.variant_id}).then(data => { if (!data || !data.products || !data.products.length) return; that.config_ = data.config; const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` #plugin_recommend_atc_pop { display: none !important; } `; document.head.appendChild(recommendStyle); if (data.config.pop_frequency === 'once' && window.sessionStorage.getItem('smart_pop_times') > 0) return; SPZ.whenApiDefined(cartPopRenderEl).then(function(api){ api.render(Object.assign({}, data, extra), true).then(function() { that.rendered_ = true; if (data.products.length) { const headEl = document.getElementById("smart_cart_pop_head_render"); if (headEl) { SPZ.whenApiDefined(headEl).then(function(head){ head.render({ data: data }); }); } SPZ.whenApiDefined(modalEl).then(function(api){ that.impressListen('#smart_cart_pop_activity', function(){ that.trackPluginImpression_(data); }); api.open(); const intersectionObserver = new IntersectionObserver( function (entries) { if (entries[0].intersectionRatio > 0){ !that.loading_ && (that.products_.length - that.target_top_product_num_) === that.page_ * that.limit_ && that.viewMore(); } }, { threshold: [0.1] } ); intersectionObserver.observe( document.querySelector('#smart_cart_pop_view_more_text') ); }); } }) }); }) } catch (e) { console.error(e); } }); } unmountCallback() { } viewMore () { const cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const that = this; const data = {}; SPZ.whenApiDefined(cartPopRenderEl).then(function(api){ that.fetchActivityData({ page: that.page_ + 1, limit: that.limit_ }).then(function(data) { data.products = that.products_; data.target_top_product_num = that.target_top_product_num_; data.i18n = that.i18n_; data.spmBase = `smart_recommend_2`; api.render(data); }) }) } fetchActivityData(data) { const that = this; if (data.product_id) { that._atcLineItem = data; } that.loading_ = true; return that.getCart().then(cart => { that.cart_ = cart.cart; return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_activities", { method: "POST", headers: { "Content-Type": "application/json", "store-id": window.SHOPLAZZA.shop.shop_id, }, body: JSON.stringify({ "show_type": 2, "line_item": { "product_id": that._atcLineItem.product_id, "variant_id": that._atcLineItem.variant_id, }, line_items: cart.cart.line_items, "page": data.page || 1, "limit": data.limit || 10, }) }).then(function(res){ if(res.ok){ return res.json(); } }).then(function(data){ data.cart = cart.cart; if (data.page === 1) { that.target_top_product_num_ = data.target_top_product_num || 0; } that.products_ = that.products_.concat(data.products || []); that.page_ = data.page || 1; that.limit_ = data.limit || 10; return data; }).catch(function(e){ console.log(e); }).finally(function(){ that.loading_ = false; }) }); }; setAction_() { this.registerAction('changeBannerColor', (data) => { if (!data.args.data || !data.args.data.data || !data.args.data.data.data) return false; const config = data.args.data.data.data.config; const bannerBgEl = document.querySelector('.smart_cart_pop_banner_bg'); if (bannerBgEl && config) { bannerBgEl.style.background = config.banner_bg_color; bannerBgEl.style.color = config.banner_text_color; } }); this.registerAction('handleProductChange', (data) => { const that = this; const imageEl = document.getElementById(`smart_cart_pop_image_${data.args.data.product_id}`); SPZ.whenApiDefined(imageEl).then(function(api){ api.render({ data: data.args.data, config: that.config_ }); }); const atcTextEl = document.getElementById(`smart_cart_pop_atc_${data.args.data.product_id}`); SPZ.whenApiDefined(atcTextEl).then(function(api){ api.render({ data: data.args.data, defaultText: data.args.defaultText, soldOutText: that.i18n_.sold_out }); }); if (data.args.data.variant.available) { document.getElementById(`smart_cart_pop_atc_btn_${data.args.data.product_id}`).classList.remove('zb-pointer-events-none'); } else { document.getElementById(`smart_cart_pop_atc_btn_${data.args.data.product_id}`).classList.add('zb-pointer-events-none'); } }); this.registerAction('handleProduct', (detail) => { const that = this; this.renderProductsForm_(detail.args.data.data); }); this.registerAction('addATCHook', (data) => { const params = data.args; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: 'smart_recommend.2.' + params.activity_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${params.spm}`, }, once: true }); }); this.registerAction('handleAtcSuccess', (detail) => { detail.args.data.product = detail.args.data.product || {}; detail.args.data.variant = detail.args.data.variant || {}; const defParams = detail.args.product.split('__'); const product_id = detail.args.data.product.id; const product_title = detail.args.data.product.title; const variant_id = detail.args.data.variant.id; const price = detail.args.data.variant.price; const aid = defParams[0]; const ifb = detail.args.data.product.ifb; const cfb = detail.args.data.product.cfb; const scm = defParams[1]; const spm = defParams[2]; const ssp = defParams[3]; 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, } }; const activity_id = `${detail.args.activity_id}`; const target_drive_way = detail.args.target_drive_way; document.getElementById(`smart_cart_pop_loading_${product_id}`).classList.add('zb-hidden'); document.getElementById(`smart_cart_pop_added_${product_id}`).classList.remove('zb-hidden'); setTimeout(() => { document.getElementById(`smart_cart_pop_added_${product_id}`).classList.add('zb-hidden'); document.getElementById(`smart_cart_pop_atc_${product_id}`).classList.remove('zb-hidden'); document.getElementById(`smart_cart_pop_atc_btn_${product_id}`).classList.remove('zb-pointer-events-none'); }, 1000); this.tranckAddToCart(params); if (target_drive_way === 'rebate') { const bannerEl = document.getElementById(`smart_cart_pop_banner`); this.getRecommendInfo(activity_id).then(res => { if (res && res.rebate_tips) { bannerEl.innerHTML = res.rebate_tips; } }) } }); this.registerAction('handleCartSummary', (event) => { this.onBuyNowClick(); const tipEl = document.getElementById("smart_cart_pop_tip_info"); const cart = event && event.args && event.args.data && event.args.data.data; if (!tipEl || !cart) return; const that = this; let total_price = cart.total_price; if (!total_price) { SPZ.whenApiDefined(tipEl).then(function(api){ api.render({ total_price: total_price, i18n: that.i18n_ }, false); }); } else { this.getBindDiscount_(cart.line_items).then(res => { if (res && res.discount_code){ const total = cart.line_price - cart.total_discount - res.bundle_discount_value; if (total > 0) { total_price = total; } else { total_price = 0; } } SPZ.whenApiDefined(tipEl).then(function(api){ api.render({ total_price: total_price, i18n: that.i18n_ }, false); }); }) } }); this.registerAction('open', () => { window.sessionStorage.setItem('smart_pop_times', Number(window.sessionStorage.getItem('smart_pop_times')) + 1); }); this.registerAction('close', () => { this.rendered_ = false; this.products_ = []; window.djInterceptors && window.djInterceptors.track.eject(this.myInterceptor_); }); } getCart() { return fetch(`${window.SHOPLAZZA.routes.root || ''}/api/cart`, { method: 'GET', headers: { 'Content-Type': 'application/json; charset=UTF-8', }, }).then(res => res.json()) } getRecommendInfo (activity_id) { return this.getCart().then(cart => { this.cart_ = cart.cart; return fetch(`${window.SHOPLAZZA.routes.root || ''}/api/possum/recommend_info`, { method: 'POST', headers: { 'Content-Type': 'application/json; charset=UTF-8', }, body: JSON.stringify({ show_type: 2, rule_id: `${activity_id}`, line_items: cart.cart.line_items, line_item: this._atcLineItem, }) }).then(res => res.json()) }) } renderProductsForm_(data) { const products = data.products; const listPopRenderEl = document.getElementById("smart_cart_pop_render"); if (!listPopRenderEl) return; listPopRenderEl.querySelectorAll('.smart_cart_pop_atc_btn_bg').forEach(function(el){ el.style.background = data.config.add_to_cart_button_color; }); products.forEach(function(product){ const productId = product.id; const productFormEls = listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"]`); let variantsEl = listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"] #smart_cart_pop_variant_${productId}_mobile ljs-variants`); if (window.innerWidth > 768) { variantsEl = listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"] #smart_cart_pop_variant_${productId}_pc ljs-variants`); } productFormEls.forEach(function(el){ SPZ.whenApiDefined(el).then(function(api){ api.setProduct(product); }); }); variantsEl.forEach(function(el){ SPZ.whenApiDefined(el).then(function(api){ api.handleRender(product); }); }) }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } trackPluginImpression_(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: 2 }); window.sa.track("module_impressions", { aid: `smart_recommend.2.${rule.id}` }); } } onBuyNowClick() { const checkoutEl = document.getElementById("smart_cart_pop_checkout"); if (!checkoutEl) return; checkoutEl.addEventListener('click', function(e) { const trackData = { plugin_name: "upsell", event_type: "checkout_submit", rule_id: `${this.activityId_}`, show_type: 2 }; window.sa && window.sa.track("plugin_common", trackData); }); } getBindDiscount_(carts) { let bundle_sale_ids = []; try { bundle_sale_ids = sessionStorage['bundle_sale_ids'] && JSON.parse(sessionStorage['bundle_sale_ids']).filter((item, index, arr) => arr.indexOf(item, 0) === index).slice(-5); } catch (err) { console.error(err); } if (!carts.length) { Promise.resolve(); } return fetch(`${window.SHOPLAZZA.routes.root || ''}/api/bundle-sales/cart`, { method: 'POST', headers: { 'Content-Type': 'application/json; charset=UTF-8', 'store-id': window.SHOPLAZZA.shop.shop_id, }, body: JSON.stringify({ cart: carts, action_type: 'cart', bundle_sale_ids }) }).then(res => res.json()) } 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', SpzCustomComponent); ${function(){ return ` ${data.data.rebate_tips || ''} `; }()} ${function(){ const getImageHeight = function(image){ const width = image.width || 500; const height = image.height || 500; const image_size = data.config.image_size || 0; let ratio = 0; if(image_size == 0){ ratio = (height / width).toFixed(2); }else if(image_size == 1){ ratio = 1.5; } return 132 * ratio; }; const image = data.data.variant.image || data.data.product.image; return ` `; }()} ${(function(){ const product = data.product; const avail_variants = product.variants.filter(function(variant){ return variant.available; }); const selected_variant = product.min_price_variant.available ? product.min_price_variant : avail_variants.length && avail_variants[0]; return ` ${option.name} ${ option.values.map(function(value, index){ const checked = selected_variant["option"+option.position] == value ? "checked": ""; return ` ${value} ` }).join("") } ` })()} ${(function(){ const variant = data.variant; return ` `; })()} ${(function(){ const variant = data.variant; return ` ${ variant.options.map(function(option){ return option.value; }).join("/") || 'Not exist' } `; })()} ${(function(){ const variant = data.data && data.data.variant; const defaultText = data.defaultText || 'Add To Cart'; const text = (!variant || variant.available) ? defaultText: data.soldOutText; return ` ${text} `; })()} ${(function(){ let cart = data; if(data.data) { cart = data.data; } return ` ${cart.item_count >=0 ? cart.item_count : '..'} Checkout `; })()} (Multi-Size) Purple Mushroom - Square Drill Diamond Painting $3.99 $3.99 20*30CM Add to Cart (Multi-Size) Purple Mushroom - Square Drill Diamond Painting $3.99 $3.99 20*30CM 20*30CM 20*30CM Add to Cart Become a member Welcome Join us Already have an account? Sign in Points Earn more Points for different actions, and turn those Points into awesome rewards! Earn your points Order reward: $1 = 1 point(s) Place an order Get your points Spend your points $3 off Cost 60 point(s) $5 off Cost 100 point(s) $1 off Get coupon code Send copy to clipboard Originaltext Diese Übersetzung bewerten Mit deinem Feedback können wir Google Übersetzer weiter verbessern