www.jessemade.fr
Open in
urlscan Pro
104.17.247.119
Public Scan
URL:
https://www.jessemade.fr/?spm=..checkout.0.1
Submission: On May 21 via api from CZ — Scanned from FR
Submission: On May 21 via api from CZ — Scanned from FR
Form analysis
3 forms found in the DOMGET /search
<form action="/search" method="get" class="">
<div tabindex="-1" class="tw-flex tw-relative header__search">
<input autocomplete="off" name="q" type="text"
class="tw-w-full tw-flex-1 tw-h-10 tw-py-0 tw-pl-[14px] tw-pr-13 tw-bg-header-search tw-text-current tw-text-sm tw-leading-none tw-rounded-global tw-border tw-border-solid tw-border-header tw-placeholder-current header__search-input"
placeholder="Rechercher...">
<button type="submit" class="tw-flex tw-items-center tw-px-[14px] tw-m-0 tw-bg-transparent tw-text-current tw-border-none tw-outline-none tw-cursor-pointer tw-h-full tw-absolute tw-right-0 header__search-icon" tabindex="-1"><svg class=""
width="24" height="24" xmlns="http://www.w3.org/2000/svg">
<path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path>
</svg></button>
<button type="button" class="tw-hidden tw-justify-center tw-items-center tw-pr-2 tw-pl-6 tw-m-0 tw-bg-transparent tw-text-header-color tw-border-none tw-outline-none tw-cursor-pointer header__search-close "><svg class="" width="14" height="14"
xmlns="http://www.w3.org/2000/svg">
<path d="m3 3 8.485 8.485m0-8.485L3 11.485" stroke="currentColor" stroke-width="1.6" stroke-linecap="square"></path>
</svg></button>
</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 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>
Text Content
Rechercher JESSEMADE FR Rechercher Rechercher Compte * Connectez-vous * CrĂ©er un compte 0 Panier Fermer * đFĂȘte des MĂšres * đșFĂȘte des PĂšres * Bestsellers * Destinataire * Destinataire * Mamie ou papi * Maman * Papa * Pour couples * Amie/sĆur * Mari * Fille * Fils * Marraine/Parrain * Belle-fille * Filleule/Filleul * Nounou * Amateurs d'animaux * InfirmiĂšre * Prof * CollĂšgue * Tata/Tonton * Bijoux * Bijoux * Bracelet * Bracelet * Pierre Naissance * Bracelet Couple * Bracelet Photo Projection * Collier * Collier * Pierre Naissance * Collier CĆur * Collier PrĂ©nom * Arbre GĂ©nĂ©alogique * Bague * Bague * Bague Cuople * Bague Pierre * Bague PrĂ©nom * Bague Precieuse * Alliance * ChevaliĂšre * Bracelet Cheville * Boucles d'Oreilles * Homme * Homme * Bracelet Homme * Collier Homme * Porte-clĂ©s * Bague Homme * Boutons Manchette * CatĂ©gories * CatĂ©gories * Porte-clĂ©s * Lampe * Cadre/Tableau Bois * Couverture/Plaid * Fournitures Scolaires * BoĂźte Ă Bijoux * Bougeoirs * DĂ©co Maison * Carte De Voeux * Plaque Acrylique * Coffret Cadeau * Portefeuille * Puzzles Enfant * Tapis d'EntrĂ©e * Tirelire * Montre * Tasse * Ornements * Ornements * Ornements Famille * Ornements CommĂ©moratifs * Ornements Couple * Ornements BĂ©bĂ© * Boule * NouveautĂ©s * NouveautĂ©s * NouveautĂ©s Mai * Occasions * Occasions * Saint-Valentin * PrĂ©senter vos excuses * Date Anniversaire * CommĂ©moration D'un dĂ©cĂšs * Naissance bĂ©bĂ© * RentrĂ©e Scolaire * Remise De DiplĂŽme * Mariage * BaptĂȘme * PACS * CrĂ©maillĂšre * Avis clients * Ma commande Connectez-vous * đFĂȘte des MĂšres * đșFĂȘte des PĂšres * Bestsellers * Destinataire Mamie ou papi Maman Papa Pour couples Amie/sĆur Mari Fille Fils Marraine/Parrain Belle-fille Filleule/Filleul Nounou Amateurs d'animaux InfirmiĂšre Prof CollĂšgue Tata/Tonton * Bijoux * Bracelet Pierre Naissance Bracelet Couple Bracelet Photo Projection * Collier Pierre Naissance Collier CĆur Collier PrĂ©nom Arbre GĂ©nĂ©alogique * Bague Bague Cuople Bague Pierre Bague PrĂ©nom Bague Precieuse Alliance ChevaliĂšre * Bracelet Cheville * Boucles d'Oreilles * Homme Bracelet Homme Collier Homme Porte-clĂ©s Bague Homme Boutons Manchette * CatĂ©gories * Porte-clĂ©s * Lampe * Cadre/Tableau Bois * Couverture/Plaid * Fournitures Scolaires * BoĂźte Ă Bijoux * Bougeoirs * DĂ©co Maison * Carte De Voeux * Plaque Acrylique * Coffret Cadeau * Portefeuille * Puzzles Enfant * Tapis d'EntrĂ©e * Tirelire * Montre * Tasse * Ornements Ornements Famille Ornements CommĂ©moratifs Ornements Couple Ornements BĂ©bĂ© Boule * NouveautĂ©s NouveautĂ©s Mai Ă MA FAMILLE-CADRE EN BOIS PUZZLE 4 PRĂNOMS PERSONNALISĂS AVEC TEXTE âŹ24.95 * Occasions Saint-Valentin PrĂ©senter vos excuses Date Anniversaire CommĂ©moration D'un dĂ©cĂšs Naissance bĂ©bĂ© RentrĂ©e Scolaire Remise De DiplĂŽme Mariage BaptĂȘme PACS CrĂ©maillĂšre * Avis clients * Ma commande * Plus de liens Occasions Avis clients Ma commande * 1 * 2 * 3 * LIVRAISON OFFERTE DĂS 49.99⏠* SATISFAIT OU REMBOURSĂ 90 JOURS * PAIEMENT 100% SĂCURISĂ * SERVICE CLIENT RĂACTIF ET PROACTIF GUIDE CADEAUX POUR COUPLE POUR BĂBĂ POUR MAMIE POUR MAMAN SĆUR/AMIE POUR ENFANTS Voir tout * COLLIER PENDENTIF CĆUR ET AILES 2 PRĂNOMS PERSONNALISĂS AVEC PIERRES DE NAISSANCE COLLIER FEMMES âŹ24.95 * Ă MA MAMAN-COLLIER CĆUR 2 PRĂNOMS PERSONNALISĂS AVEC 2 PIERRES DE NAISSANCE âŹ22.95 * COLLIER PIED BĂBĂ 2 PRĂNOMS PERSONNALISĂS POUR MAMAN âŹ23.95 * COLLIER MĂRE ET FILLE CĆUR 4 PRĂNOMS PERSONNALISĂ AVEC 4 PIERRES DE NAISSANCE âŹ26.95 * COLLIER 2 PRĂNOMS PERSONNALISĂ PENDENTIF AVEC 1 PIERRE DE NAISSANCE CĆUR âŹ25.95 * COLLIER PENDENTIF CĆUR 2 PRĂNOMS PERSONNALISĂS AVEC PIERRE DE NAISSANCE COLLIER FEMMES âŹ19.95 Voir tout * VENTE Ă MA MAMAN/MAMIE - PLAQUE ACRYLIQUE ARBRE EN FORME DE CĆUR 3 PRĂNOMS PERSONNALISĂS AVEC 1 TEXTE de âŹ21.95 âŹ29.95 Ăconomiser 27% * VENTE Ă MA MAMAN - CADRE PANNEAU DE DENSITĂ LA MAIN DANS LA MAIN 3 PRĂNOMS ET 1 TEXTE PERSONNALISĂS ORNEMENTS FLORAL POUR FAMILLE âŹ29.95 âŹ43.95 Ăconomiser 32% * VASE Ă FLEURS LA MAIN DANS LA MAIN 2 PRĂNOMS PERSONNALISĂS AVEC TEXTE DĂCORATION DE LA MAISON âŹ23.95 * +1 PORTEFEUILLE LA MAIN DANS LA MAIN 4 PRĂNOMS PERSONNALISĂS PORTE-MONNAIE CARTE POUR FEMMES âŹ24.95 * VASE/POT DE FLEURS ARBRE 5 PRĂNOMS PERSONNALISĂS AVEC TEXTE DĂCORATION DE LA MAISON (SANS PLANTES) âŹ23.95 * PETIT VASE CRĂATIF EN BOIS ARBRE 3 PRĂNOMS PERSONNALISĂS AVEC TEXTE DĂCORATION DE LA MAISON (SANS PLANTES) âŹ16.95 NOS COUPS DE COEUR Voir tout * BRACELET INFINI 3 PRĂNOMS PERSONNALISĂS AVEC PIERRES DE NAISSANCE de âŹ23.95 * VENTE PLAQUE ACRYLIQUE EN FORME DE CĆUR LA MAIN DANS LA MAIN 3 PRĂNOMS PERSONNALISĂS AVEC TEXTE de âŹ21.95 âŹ29.95 Ăconomiser 27% * BRACELET PROJECTION DE PIERRE AVEC PHOTO PERSONNALISĂE POUR FEMME âŹ26.95 * A MON HOMME-BRACELETS POUR HOMMES BRACELETS GRAVURE PERSONNALISĂS BRACELET HOMME de âŹ24.95 * CADRE EN BOIS AVEC LED CADEAU SAINT-VALENTIN âŹ27.95 * VENTE BOUGEOIRS EN BOIS PROMESSE PINKY SANS BOUGIE de âŹ21.95 âŹ25.95 Ăconomiser 15% ${function(){ const rules = data.data.rules; return ` ` }()} Tu pourrais aimer * Carte de Cadeau A Mon Homme-N'oublie Jamais Que Je T'aime Vente * Collier en Argent 925 PrĂ©nom PersonnalisĂ© Meilleur Cadeau Pour Vous Vente * Lampe de chevet 27 animaux PrĂ©nom personnalisĂ© LED LumiĂšres Vente * Collier Attrape-rĂȘves 4 PrĂ©nom PersonnalisĂ© avec 4 Pierre De Naissance Vente * Bougeoirs en Bois promesse pinky sans bougie Vente * Cadeaux de fĂȘte des pĂšres Collier Cadeau papa Collier gravĂ© Collier Photo personnalisĂ© Collier Homme Vente * Ornements Patte de chien et chat PrĂ©noms PersonnalisĂ©s Vente * A ma fille-Collier coeur 1 PrĂ©nom PersonnalisĂ© avec pierre de naissance Vente * Coffre de Cadeau Ă Bijoux Vente * Bague RĂ©glable couple 2PCS 2 textes PersonnalisĂ© Alliance Vente * Puzzles bĂ©bĂ© nom personnalisĂ© avec dinosaure Jouets d'apprentissage prĂ©coce Vente * Bracelet en Cuir tressĂ© 2 PrĂ©nom PersonnalisĂ© Bracelet Homme Vente * Bracelet infini 1-6 PrĂ©noms PersonnalisĂ©s avec Pierre de Naissance - 3 PrĂ©noms Vente * Ă ma Maman/ Papa /Mamie Bougeoirs en Bois sans bougie Arbre de vie Arbre gĂ©nĂ©alogique 2 PrĂ©noms PersonnalisĂ© Vente * A Mon Homme-Bracelets Pour Hommes Bracelets Gravure PersonnalisĂ©s Bracelet Homme Vente * Gratuit aujourd'huiïŒBracelet Une piĂšce par personneïŒ Vente * Bracelet PersonnalisĂ© 2 texte avec photo Vente * Bracelet 3 PrĂ©nom PersonnalisĂ© Pierre de lave Noir Bracelet Homme Vente * Bracelet Gourmette de Saint-Valentin lettre PersonnalisĂ© pour Un couple Bracelet Vente * Collier Argent Deux PrĂ©noms Bijoux PrĂ©nom PersonnalisĂ©s Avec Coeur Vente * Bracelet 2 PrĂ©nom PersonnalisĂ© Pierre de lave Noir Bracelet Homme Vente * Bracelet PrĂ©noms PersonnalisĂ©s avec 2 CĆurs Breloques Vente * Bracelet infini Ă Breloque coeurs 1 PrĂ©nom PersonnalisĂ© avec 1 Pierre de Naissance Vente * Carte de Cadeau A Mon Papa-N'oublie Jamais Que Je T'aime Vente * Couverture plaids polaire amour 2 PrĂ©noms PersonnalisĂ©avec date et texte Vente * Ă ma Maman/ Papa /Mamie Bougeoirs en Bois sans bougie Arbre de vie Arbre gĂ©nĂ©alogique 5 PrĂ©noms PersonnalisĂ© Vente * Plaque Acrylique en Forme de CĆur La Main Dans La Main 4 PrĂ©noms PersonnalisĂ©s avec Texte Vente * Bague RĂ©glable couple 2PCS 2 textes PersonnalisĂ© Alliance Vente * Gratuit aujourd'huiïŒCarte Une piĂšce par personneïŒ Vente * Ornements de NoĂ«l PoupĂ©e 4 PrĂ©noms PersonnalisĂ©s et texte Vente * Plaque Acrylique en Forme de CĆur La Main Dans La Main 2 PrĂ©noms PersonnalisĂ©s avec Texte Vente * Carte de Cadeau Vente * Bracelet Cuir tressĂ© 3 PrĂ©nom PersonnalisĂ© Bracelet Homme Vente * Ă mon Papa - Porte-ClĂ©s Poings 2 PrĂ©noms PersonnalisĂ© Vente * Lampe de chevet LED Arbre de vie Arbre gĂ©nĂ©alogique 5 prĂ©noms personnalisĂ©s avec texte Vente * Collier PrĂ©nom PersonnalisĂ© En Argent 925 Pour Femmes avec 2 PrĂ©noms Vente * BoĂźte Rose coffret cadeau Vente * Ă Ma SĆur - Bougeoir en Bois sans bougie Vente * Bracelet Cuir tressĂ© 2 PrĂ©noms PersonnalisĂ©s Bracelet Homme Vente * Puzzles Papillon personnalisĂ©s de nom de bĂ©bĂ© pour les tout-petits Jouets d'apprentissage prĂ©coce Vente * Bracelet Cuir tressĂ© 3 PrĂ©nom PersonnalisĂ© Bracelet Homme Vente * BoĂźte Rose Ăternelle coffret cadeau Vente * Ă Mon Papi-Cadre ImprimĂ© en Bois Poings 2 PrĂ©noms PersonnalisĂ©s avec Date Vente * Collier prĂ©nom personnalisĂ© 12 fleurs de naissance Vente * Ornements de NoĂ«l PoupĂ©e 6 PrĂ©noms PersonnalisĂ©s avec AnnĂ©es Vente * Puzzles bĂ©bĂ© nom et texte personnalisĂ© dinosaure avec auto Jouets d'apprentissage prĂ©coce Vente * Ă Papa-Portefeuille Poings 4 PrĂ©noms PersonnalisĂ© Classique Homme Porte-Monnaie Carte Vente * Ă Papa-Portefeuille Poings 3 PrĂ©noms PersonnalisĂ© Classique Homme Porte-Monnaie Carte Vente * Ă mon Papa - Porte-ClĂ©s Poings 1 PrĂ©nom PersonnalisĂ© Vente * Bracelet infini 5 PrĂ©nom PersonnalisĂ© avec 5 Pierre de Naissance Vente * Collier PrĂ©nom PersonnalisĂ© avec Couronne Ă©lĂ©gant Vente * Ă mon Papa - Porte-ClĂ©s Poings 3 PrĂ©noms PersonnalisĂ© Vente * Coffre de Cadeau Ă Bougeoirs Vente * Collier 2 PrĂ©nom PersonnalisĂ© pied bebe avec pierre de naissance Vente * Collier 4 PrĂ©noms PersonnalisĂ©s Pour Elle Vente * Lampe de chevet Attrape-rĂȘves LED LumiĂšres colorĂ©ese personnalisĂ©e Vente * Collier PrĂ©nom PersonnalisĂ© pied bebe avec pierre de naissance Vente * Bracelet 2 PrĂ©nom PersonnalisĂ© Pierres Oeil de Tigre Brun Bracelet Homme Vente * ChaĂźne de Collier Couleur Argent 45+5cm Vente * Cadre En Bois Avec LED Cadeau Saint-Valentin Vente * Bracelet Cuir tressĂ© PrĂ©nom PersonnalisĂ© Bracelet Homme Avec 4 Perles Vente * Bougeoirs en Bois 2PCS sans bougie A Ma chĂšre Maman Vente * Lampe de chevet LED 26 lettres prĂ©nom personnalisĂ© Vente * Collier Pendentif Arbre de vie Arbre gĂ©nĂ©alogique 4 prĂ©nom Vente * Bracelet Gourmette Coeur PersonnalisĂ© Avec 2 PrĂ©noms Bracelet pour Femme Cadeau Maman Fille Anniversaire Vente * Bracelet infini 3 PrĂ©noms PersonnalisĂ©s avec Pierres de Naissance Vente * Bracelet infini 4 PrĂ©nom PersonnalisĂ© avec 4 Pierre de Naissance Vente * Ornements de NoĂ«l PoupĂ©e 5 PrĂ©noms PersonnalisĂ©s et texte Vente * Bracelet Cuir tressĂ© 2 Perles PrĂ©nom PersonnalisĂ© Bracelet Homme Vente * Ă Ma Mamie - Porte-ClĂ©s 2 PrĂ©noms PersonnalisĂ© Avec Breloques 2 Enfants Vente * Ornements de NoĂ«l PoupĂ©e 3 PrĂ©noms PersonnalisĂ©s et texte Vente * Bracelet Cuir tressĂ© PrĂ©nom PersonnalisĂ© Bracelet Homme Avec 3 Perles Vente * BoĂźte Ă bijoux personnalisĂ©e Coffrets cadeaux mignons de fleurs de rose Vente * Ă Ma Meilleure Amie - Bougeoir en Bois sans bougie 2 PrĂ©noms PersonnalisĂ©s Vente * Bracelet infini 4 PrĂ©noms PersonnalisĂ© avec 4 Pierres de Naissance Vente * Bracelet 2 PrĂ©noms PersonnalisĂ©s avec 2 CĆurs Vente * Ă mon Papa - Coffre de Cadeau BoĂźte Ă bijoux Vente * 2PCS Bracelets 2 PrĂ©noms PersonnalisĂ©s bracelet en commun pour Un couple Bracelet Vente * Collier 3 PrĂ©nom PersonnalisĂ© pied bebe avec pierre de naissance Vente * Bracelet Pour Hommes 3 PrĂ©noms PersonnalisĂ©s Noirs Bracelet Homme Vente * Ă ma Maman/ Papa /Mamie Bougeoirs en Bois sans bougie Arbre de vie Arbre gĂ©nĂ©alogique 3 PrĂ©noms PersonnalisĂ© Vente * Coffre de Cadeau Ă Bougeoirs Vente * Ă Ma Mamie - Porte-ClĂ©s 3 PrĂ©noms PersonnalisĂ© Avec Breloques 3 Enfants Vente * Collier Attrape-rĂȘves 3 PrĂ©nom PersonnalisĂ© avec 3 Pierre De Naissance Vente * Ă Papa-Portefeuille Poings 2 PrĂ©noms PersonnalisĂ© Classique Homme Porte-Monnaie Carte Vente * Ă mon papa - Boule transparente de plumes Ornements Vente * Bracelet infini 2 PrĂ©nom PersonnalisĂ© avec 2 Pierre de Naissance Vente * Bracelet 1 PrĂ©nom PersonnalisĂ© Pierre de lave Noir Bracelet Homme Vente * Bracelet Cuir tressĂ© 3 PrĂ©nom PersonnalisĂ© Bracelet Homme Vente * Bracelet 4 PrĂ©noms Ou Textes GravĂ©s Bracelet PersonnalisĂ© Vente * Garantie de qualitĂ© pour 90 jours supplĂ©mentaires Vente * Ă Papa-Portefeuille Poings 5 PrĂ©noms PersonnalisĂ© Classique Homme Porte-Monnaie Carte Vente * Bracelet Cuir tressĂ© 2 Perles PrĂ©nom PersonnalisĂ© Bracelet Homme Vente * Bracelet Ă Breloque 5 PrĂ©noms PersonnalisĂ©s avec 5 Pierres de Naissance Vente * Bougies Ă©lectronique scintillantes 12PCS/4PCS Vente * Bracelet 4 PrĂ©nom PersonnalisĂ© Pierre de lave Noir Bracelet Homme Vente * Collier 3 prĂ©nom personnalisĂ© pied bebe pour maman Vente * 2PCS Bracelet roped 2 PrĂ©noms PersonnalisĂ© bracelet en commun pour Un couple Bracelet Vente * Porte-ClĂ©s la main dans la main 2 lettres PersonnalisĂ© avec 2 dates Vente * Ă Papa - Cadre en bois Poings 2 prĂ©noms personnalisĂ©e Vente ${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("") } ` })()} CATĂGORIES COLLIER BRACELET PLAQUE ACRYLIQUE PORTE-CLĂS VASE LAMPE * @federicaboschieri * @francesca.lobriglio92 * @mummytwinette * @federicaboschieri * @paoletta_creativemom * _homegardenfood_ * fun4family.fr * saracolaiacolo Avis des clients 4.7 Total des commentaires: 3083 Le plus rĂ©cent Le plus rĂ©cent Le plus aimĂ© Meilleures notes Notes les plus basses Le plus rĂ©cent Le plus aimĂ© Meilleures notes Notes les plus basses Montre plus tu as atteint le fond FAQS Livraison -Frais livraison Standard : 4,99⏠Gratuit plus de 49,99⏠-DĂ©lai livraison 5-8 Jours Si votre commande n'est pas livrĂ©e dans le dĂ©lai de livraison estimĂ©, veuillez contacter notre service client amical: support@jessemade.fr Veuillez noter que le dĂ©lai mentionnĂ© ci-dessus n'inclut pas le temps de production. Tous les articles sont fabriquĂ©s sur commande et nĂ©cessitent 1 Ă 7 jours ouvrables pour la fabrication. -Suivre ma commande Vous recevrez un e-mail avec numĂ©ro de suivi confirmant que votre commande a Ă©tĂ© envoyĂ©e, vous pouvez suivre votre commande sur ce lien: https://www.jessemade.fr/pages/suivi-de-commande Paiement DiffĂ©rents modes de paiement sont disponibles sur le site JessemadeïŒPaypal, Carte Bancaire, Klarna. Tout paiement effectuĂ© sur le site Jessemade.fr respecte le protocole de sĂ©curitĂ© SSL. ConformĂ©ment Ă la recommandation de la CNIL, nos pages de paiement sont sĂ©curisĂ©es lors de la saisie des donnĂ©es de paiement : numĂ©ro de carte, date d'expiration et le cryptogramme visuel (norme PCI DSS). Cette plateforme crypte puis transmet ces donnĂ©es de paiement vers la banque, en toute confidentialitĂ© et les rend inaccessibles Ă un tiers. En cas de paiement par carte bancaire, le dĂ©bit est effectuĂ© au moment de la validation de la commande, aprĂšs confirmation de la banque Ă©mettrice de la carte. En cas de refus de la banque, la commande sera automatiquement annulĂ©e. Ă aucun moment, les donnĂ©es bancaires du Client ne transitent par le systĂšme informatique de Jessemade.fr. Nous sommes soumis Ă la loi RGPD concernant la protection de vos donnĂ©es. Ainsi, nous ne pouvons pas procĂ©der Ă des ventes Ă distance par tĂ©lĂ©phone. Si vous avez la moindre question, n'hĂ©sitez pas Ă nous contacter par mail : support@jessemade.fr Echange/Remboursement Les raisons suivantes sont couvertes par notre politique 90 jours Retour / Ă©change.(Jessemade est responsable des frais de retour de courrier, et des frais de remplacement) -Nous avons envoyĂ© la mauvaise commande ou Ă©lĂ©ment (s), vous avez reçu tous les articles cassĂ©s ou la qualitĂ© des produits que vous avez reçu est mauvaise / dĂ©fectueuse. -Vous avez reçu le produit avec des photo ou texte diffĂ©rente de la photo ou texte fournie Ă Jessemade. Les raisons suivantes NE sont PAS couvertes par notre politique de retour de 90 jours, et nous ne sommes pas responsable de ces problemes. -Vous avez choisi la mauvaise taille de bracelet(s) ou bague(s). -Raisons personnelles. Vous avez changĂ© dâavis, de goĂ»t, etc. Les articles personnalisĂ©s sont uniques et ne peuvent ĂȘtre retournĂ©s sauf qu'ils sont dĂ©fectueux ou endommagĂ©s. En effet, lâarticle L121-20-2 du Code de la Consommation permet aux e-marchands dâexclure du champ du droit de rĂ©tractation les contrats portant sur la « fourniture de biens (âŠ) nettement personnalisĂ©s ». -Les produits sont exposĂ©s Ă des substances corrosives ou Ă des produits chimiques. L'exposition Ă des produits chimiques peut modifier l'apparence de votre produit Jessemade. Ces produits chimiques comprennent, entre autres, le liquide polish pour l'argent, les piscines et les spas. L'argent oxydĂ© est facilement endommagĂ©. -Les produits sont endommagĂ©s par une mauvaise manipulation ou un mauvais entretien. -Les piĂšces d'argent sont se dĂ©tĂ©riorent avec l'oxydation, avec le temps elles peuvent noircir. Pour l'enlever, nettoyez avec le chiffon de polissage d'argent pour lui rendre son aspect original. ProcĂ©dure d'Ă©change/remboursement: Pour vĂ©rifier l'Ă©tat de votre commande, veuillez nous contacter en utilisant les informations suivantes: -Votre numĂ©ro de commande -L'illustration du produit endommagĂ© -Informations sur le produit Ă changer Notre service clientĂšle examinera votre demande et vous rĂ©pondra dans les plus brefs dĂ©lais. Une fois la pĂ©riode de garantie confirmĂ©e, le produit vous sera envoyĂ© trĂšs rapidement. Veuillez noter que le traitement de remboursement est au-delĂ du notre contrĂŽle et qu'il peut prendre 7-10 jours ouvrables supplĂ©mentaires pour que les frais atteigne Ă votre compte utilisĂ© lors du paiement. Notre e-mail: support@jessemade.fr (De 9h00 Ă 18h00 du lundi au vendredi) Politique d'annulation Une fois que votre commande a Ă©tĂ© confirmĂ©e, nous commençons immĂ©diatement la production des articles personnalisĂ©s. Si vous souhaitez annuler votre achat, votre commande est soumise Ă des frais de rĂ©approvisionnement de 30%. INSCRIVEZ-VOUS Ă NOTRE NEWSLETTER Obtenir jusqu'Ă 50% de rĂ©duction maintenant et ne manquer jamais des offres spĂ©ciales S'abonner BV10 FĂ©licitations, vous avez gagnĂ© 10% de rĂ©duction Votre code de rĂ©duction est : BV10 DĂCOUVREZ PLUS Cadeau Mamie Cadeau MamanCadeau PapaPĂąquesPorte-ClĂ©sBougeoirs SERVICE CLIENTS * Avis clients * ExpĂ©dition & Livraison * Mes commandes * Suivi de commande * Conseils d'entretien * Politique des Ă©changes * Connectez-vous * FAQ INFORMATION * MĂ©thodes de payement * DĂ©tails de la promotion * Politique de ConfidentialitĂ© * CGU * Contactez-nous * Ă propos de nous * Klarna © 2024 Jessemade FR Depuis 2018. Cadeaux personnalisĂ©s SIGN UP AND SAVE Entice customers to sign up for your mailing list with discounts or exclusive offers. Include an image for extra impact. S'abonner BV10 Optional button 111 GIFTS POINTS 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) => { const that = this; const checkoutButtonEle = document.getElementById("smart_cart_pop_checkout_button"); if (checkoutButtonEle) { SPZ.whenApiDefined(checkoutButtonEle).then(function(api){ api.render({ i18n: that.i18n_ }, false); }); } 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; 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("module_impressions", { aid: `smart_recommend.2.${rule.id}` }); } } 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 : '..'} `; })()} ${(function(){ return ` ${data.i18n.checkout} `; })()} See detail âŹ0.00 Quantity 1 See detail See detail âŹ0.00 Quantity 1 Ajouter au panier Ă PROPOS DES COOKIES SUR CE SITE Ce site utilise des cookies pour vous garantir la meilleure expĂ©rience. Privacy policy Tout refuser Tout accepter