Choisir les bons bijoux pour les peaux sensibles

Une bague qui démange au bout de deux heures, ou des boucles d'oreilles qui laissent des rougeurs le soir même – voilà ce que l'on ressent avec des bijoux qui ne sont pas adaptés à la peau. Les bijoux pour peaux sensibles doivent donc faire plus que simplement être beaux. Ils doivent être élégants, confortables à porter et ne pas irriter inutilement la peau.

Ce que les peaux sensibles ne tolèrent souvent pas avec les bijoux

Les peaux sensibles réagissent rarement sans raison. La plupart du temps, cela est dû à des métaux ou des revêtements qui ne supportent pas bien la sueur, les frottements et la chaleur. Le nickel est particulièrement souvent en cause. Il est souvent présent dans les alliages bon marché et est l'une des causes les plus connues d'allergies de contact.

Mais toute réaction ne signifie pas immédiatement une véritable allergie. Parfois, la peau est simplement stressée – par le parfum, la lotion corporelle, la chaleur ou des bijoux trop serrés. Des surfaces rugueuses peuvent également irriter, surtout aux endroits où le bijou repose directement, comme le cou, le poignet ou les lobes d'oreilles fraîchement percés.

Les personnes ayant une peau sensible ne devraient donc pas se contenter de regarder le design. Ce qui compte, c'est ce qui repose sur la peau, la propreté du matériau et la stabilité durable de la surface.

Quels matériaux conviennent aux bijoux pour peaux sensibles

Si la convivialité pour la peau est une priorité, le choix commence par le matériau. Tous les métaux ne sont pas automatiquement problématiques, mais certaines options sont nettement plus fiables que d'autres.

Argent sterling

L'argent sterling est l'un des choix les plus populaires pour les bijoux élégants portés près de la peau. De haute qualité, il est élégant, moderne et agréablement délicat. Pour de nombreuses personnes à la peau sensible, il est facile à porter, tant que l'alliage est bien travaillé et ne contient pas d'additifs problématiques.

Cependant, il est important de noter que l'argent peut ternir. Ce n'est pas dangereux, mais l'entretien devient un sujet. Ceux qui aiment l'argent doivent le nettoyer régulièrement et le ranger au sec. L'avantage : il combine un look élégant avec une aptitude à la vie quotidienne et convient aux styles minimalistes comme aux styles expressifs.

Or et bijoux plaqués or

L'or massif est souvent considéré comme un bon choix, surtout dans les alliages supérieurs. Il est durable et a un aspect luxueux classique. En même temps, les bijoux en or véritable ne sont pas la première option pour tous les budgets.

Les bijoux plaqués or peuvent être une alternative élégante, mais la qualité est ici cruciale. Si le placage est trop fin, il s'usera plus rapidement. Le métal sous-jacent entrera alors en contact avec la peau – et c'est précisément ce qui peut devenir un problème pour les peaux sensibles. Pour un port occasionnel, un bijou plaqué or de haute qualité est souvent tout à fait suffisant. Pour un usage quotidien, la fabrication doit être particulièrement soignée.

Acier inoxydable et titane

L'acier inoxydable est souvent apprécié pour sa facilité d'entretien et sa robustesse. Beaucoup de gens le tolèrent bien, surtout pour les colliers, bagues ou bracelets pour un usage quotidien. Le titane va encore plus loin et est considéré comme particulièrement doux pour la peau. Il est léger, résistant et est souvent recommandé pour les piercings ou les peaux très sensibles.

La différence de style joue également un rôle. L'acier inoxydable a généralement un aspect plus clair et moderne, le titane est souvent technique et discret. Ceux qui recherchent un look de bijou doux et classique préféreront l'argent ou l'or. Ceux qui privilégient le confort et la sécurité au quotidien trouveront souvent une solution pratique dans l'acier inoxydable ou le titane.

Comment reconnaître des pièces de haute qualité et douces pour la peau

window._ABConfig.getProductDiscountedPricing = ({ variantId, amount, quantity, sellingPlanId }) => { const disableAppFunctionality = window?._ABConfig?.['disableAppFunctionality'] || false; if (!variantId || disableAppFunctionality) { console.error('Please provide a current variant id'); return []; } //helper functions const isDiscountUsageLimitExceed = (customerDiscountUsage, bundle) => { if (customerDiscountUsage && customerDiscountUsage.length) { const targetDiscountUsage = customerDiscountUsage.find( (discountUsage) => discountUsage?.uniqueRef === bundle?.uniqueRef ); return targetDiscountUsage && targetDiscountUsage?.usageCount >= bundle?.limitToUsePerCustomer; } return false; }; const isBundleRestrictedCustomerByTagsByDiscount = (item, customerTags) => { if (!item?.restrictTags) return false; const restrictTags = item?.restrictTags?.split(','); return customerTags && customerTags.length > 0 && customerTags.some((tag) => restrictTags?.includes(tag)); }; const isBundleAllowedByCustomersTagByDiscount = (item, customerTags) => { if (!item?.allowedTags) return true; const allowedCustomersOnly = item?.allowedTags?.split(','); return ( customerTags && customerTags.length > 0 && customerTags.some((tag) => allowedCustomersOnly?.includes(tag)) ); }; const isBundleRestrictedByDiscount = (item, customerTags) => { return isBundleRestrictedCustomerByTagsByDiscount(item, customerTags) || !isBundleAllowedByCustomersTagByDiscount(item, customerTags); }; const processBundleRules = (bundles, type, fields) => bundles .filter((bundle) => bundle?.bundleType === type) .map((rule) => { const parsedRule = { ...rule }; fields.forEach((field) => { try { parsedRule[field] = JSON.parse(rule[field] || '[]'); } catch (e) { console.error('Failed to parse field:', field, e); parsedRule[field] = []; } }); return parsedRule; }); const getBestDiscount = (applicableDiscounts, lineItem, discountKey = 'discount') => { return applicableDiscounts.reduce((greater, current) => { const greaterDiscount = greater?.[discountKey]; const currentDiscount = current?.[discountKey]; if ((greater?.discountType === "PERCENTAGE" && current?.discountType === "PERCENTAGE") || (greater?.discountType === "FIXED_AMOUNT" && current?.discountType === "FIXED_AMOUNT")) { return currentDiscount > greaterDiscount ? current : greater; } else if (current?.discountType === "FIXED_AMOUNT" && greater?.discountType === "PERCENTAGE") { return currentDiscount > ((greaterDiscount / 100) * lineItem?.totalAmount) ? current : greater; } else if (current?.discountType === "PERCENTAGE" && greater?.discountType === "FIXED_AMOUNT") { return ((currentDiscount / 100) * lineItem?.totalAmount) > greaterDiscount ? current : greater; } return currentDiscount > greaterDiscount ? current : greater; }); }; const getApplicableTieredDiscount = (volumeDiscountBundles, lineItem) => { let applicableDiscount = null; const updatedVolumeDiscountBundles = volumeDiscountBundles.map(bundle => { const updatedTieredDiscount = bundle?.tieredDiscount.map(discount => { return { ...discount, appliesOn: bundle?.appliesOn }; }) return { ...bundle, tieredDiscount: updatedTieredDiscount } }); const volumeDiscountBundlesTieredDiscount = updatedVolumeDiscountBundles.reduce((acc, item) => { return acc.concat(item?.tieredDiscount); }, []); let applicableQuantityBasedDiscount = volumeDiscountBundlesTieredDiscount .filter(tieredDiscount => tieredDiscount?.discountBasedOn === "QUANTITY") .filter(tieredDiscount => lineItem?.quantity >= tieredDiscount?.value); applicableQuantityBasedDiscount = applicableQuantityBasedDiscount.length > 0 ? getBestDiscount(applicableQuantityBasedDiscount, lineItem) : null; let applicableSpendAmountBasedDiscount = volumeDiscountBundlesTieredDiscount .filter(tieredDiscount => tieredDiscount?.discountBasedOn === "AMOUNT") .filter(tieredDiscount => lineItem?.totalAmount >= tieredDiscount?.value); applicableSpendAmountBasedDiscount = applicableSpendAmountBasedDiscount.length > 0 ? getBestDiscount(applicableSpendAmountBasedDiscount, lineItem, ) : null; if (applicableQuantityBasedDiscount && applicableSpendAmountBasedDiscount) { if ((applicableQuantityBasedDiscount?.discountType === "PERCENTAGE" && applicableSpendAmountBasedDiscount?.discountType === "PERCENTAGE") || (applicableQuantityBasedDiscount?.discountType === "FIXED_AMOUNT" && applicableSpendAmountBasedDiscount?.discountType === "FIXED_AMOUNT")) { if (applicableQuantityBasedDiscount?.discount > applicableSpendAmountBasedDiscount?.discount) { applicableDiscount = applicableQuantityBasedDiscount; } else { applicableDiscount = applicableSpendAmountBasedDiscount; } }else if(applicableQuantityBasedDiscount?.discountType === "PERCENTAGE" && applicableSpendAmountBasedDiscount?.discountType === "FIXED_AMOUNT"){ if (((applicableQuantityBasedDiscount?.discount / 100) * lineItem?.totalAmount) > applicableSpendAmountBasedDiscount?.discount) { applicableDiscount = applicableQuantityBasedDiscount; } else { applicableDiscount = applicableSpendAmountBasedDiscount; } }else if(applicableQuantityBasedDiscount?.discountType === "FIXED_AMOUNT" && applicableSpendAmountBasedDiscount?.discountType === "PERCENTAGE"){ if (applicableQuantityBasedDiscount?.discount > ((applicableSpendAmountBasedDiscount?.discount / 100) * lineItem?.totalAmount)) { applicableDiscount = applicableQuantityBasedDiscount; } else { applicableDiscount = applicableSpendAmountBasedDiscount; } } } else if (applicableQuantityBasedDiscount) { applicableDiscount = applicableQuantityBasedDiscount; } else if (applicableSpendAmountBasedDiscount) { applicableDiscount = applicableSpendAmountBasedDiscount; } return applicableDiscount; } const getApplicablePercentOrFixedDiscount = (discountedPricingBundles, lineItem) => { let applicableDiscount = null; let applicableQuantityBasedDiscount = discountedPricingBundles .map(bundle => { return { ...bundle, minProductCount: bundle?.minProductCount || 0, maxProductCount: bundle?.maxProductCount || 0, minOrderAmount: bundle?.minOrderAmount || 0 }; }) .filter(bundle => { const minCount = bundle.minProductCount; const maxCount = bundle.maxProductCount; const minAmount = bundle.minOrderAmount; if (minCount > 0 && lineItem.quantity < minCount) return false; if (maxCount > 0 && lineItem.quantity > maxCount) return false; if (minAmount > 0 && lineItem.amount < minAmount) return false; return true; }); applicableDiscount = applicableQuantityBasedDiscount.length > 0 ? getBestDiscount(applicableQuantityBasedDiscount, lineItem, 'discountValue') : null; if(applicableDiscount){ applicableDiscount = { discountBasedOn: applicableDiscount?.minOrderAmount > 0 && applicableDiscount?.minProductCount === 0 ? "AMOUNT" : "QUANTITY", value: applicableDiscount?.minOrderAmount > 0 && applicableDiscount?.minProductCount === 0 ? lineItem?.totalAmount : lineItem?.quantity, discount: applicableDiscount?.discountValue, discountType: applicableDiscount?.discountType, appliesOn: applicableDiscount?.appliesOn } } return applicableDiscount; } const collections = _ABConfig?.product?.collections || []; const discountBundles = [{"id":30020,"shop":"yw4tjh-vn.myshopify.com","name":"The more you buy, the more you save.","description":null,"status":"ACTIVE","customerIncludeTags":null,"discountType":"TIERED_DISCOUNT","discountValue":null,"products":"null","variants":"null","sequenceNo":null,"bundleType":"VOLUME_DISCOUNT","settings":"{\"excludeSubscriptionPlans\":\"\",\"cardGap\":16,\"sequentialProductsPerBatch\":50,\"showUnitPrice\":false,\"enableAnnouncementBar\":true,\"borderRadius\":8,\"showPricesWithoutDecimal\":false,\"showPriceWithSubscriptionPrice\":true,\"includedSubscriptionPlans\":\"\",\"showPriceOfChosenProductsOnly\":false}","bundleProductId":null,"bundleVariantId":null,"productHandle":null,"discountId":null,"price":null,"numberOfProducts":0,"subscriptionBundlingEnabled":false,"subscriptionId":null,"minProductCount":null,"maxProductCount":null,"uniqueRef":"wrpxwg1nm7","bundleRedirect":"CART","customRedirectURL":null,"minOrderAmount":null,"tieredDiscount":"[{\"discountBasedOn\":\"QUANTITY\",\"value\":1,\"discount\":0,\"discountType\":\"PERCENTAGE\",\"titleLabel\":\"1 pack\",\"subtitleLabel\":\"You save {{saved_percentage}}\",\"saveBadgeLabel\":\"Save {{saved_amount}}\",\"selectByDefault\":false,\"badgeLabel\":\"\",\"badgeType\":\"MOST_POPULAR\",\"discountAllowedTags\":\"\",\"freeProducts\":[],\"upsells\":[],\"imageURL\":null},{\"discountBasedOn\":\"QUANTITY\",\"value\":2,\"discount\":15,\"discountType\":\"PERCENTAGE\",\"titleLabel\":\"2 pack\",\"subtitleLabel\":\"You save {{saved_percentage}}\",\"saveBadgeLabel\":\"Save {{saved_amount}}\",\"selectByDefault\":true,\"badgeLabel\":\"\",\"badgeType\":\"MOST_POPULAR\",\"discountAllowedTags\":\"\"},{\"discountBasedOn\":\"QUANTITY\",\"value\":3,\"discount\":20,\"discountType\":\"PERCENTAGE\",\"titleLabel\":\"3 pack\",\"subtitleLabel\":\"You save {{saved_percentage}}\",\"saveBadgeLabel\":\"Save {{saved_amount}}\",\"selectByDefault\":false,\"badgeLabel\":\"\",\"badgeType\":\"MOST_POPULAR\",\"discountAllowedTags\":\"\"},{\"discountBasedOn\":\"QUANTITY\",\"value\":4,\"discount\":25,\"discountType\":\"PERCENTAGE\",\"titleLabel\":\"4 pack\",\"subtitleLabel\":\"You save {{saved_percentage}}\",\"saveBadgeLabel\":\"Save {{saved_amount}}\",\"selectByDefault\":false,\"badgeLabel\":\"\",\"badgeType\":\"MOST_POPULAR\",\"discountAllowedTags\":\"\"},{\"discountBasedOn\":\"QUANTITY\",\"value\":6,\"discount\":30,\"discountType\":\"PERCENTAGE\",\"titleLabel\":\"6 pack\",\"subtitleLabel\":\"You save {{saved_percentage}}\",\"saveBadgeLabel\":\"Save {{saved_amount}}\",\"selectByDefault\":false,\"badgeLabel\":\"\",\"badgeType\":\"MOST_POPULAR\",\"discountAllowedTags\":\"\"}]","productViewStyle":"QUICK_ADD","singleProductSettings":"null","trackInventory":false,"sellingPlanType":"BUNDLE_LEVEL","clearCart":"ENABLED","minPrice":null,"maxPrice":null,"externalBuildABoxId":null,"variantVisibilityType":"SHOW_VARIANTS_AS_INDIVIDUAL","subTitle":null,"freeShipping":false,"themeType":"THEME_TWO","showBundleInProductPage":true,"combinedWithProductDiscount":false,"combinedWithShippingDiscount":true,"combinedWithOrderDiscount":false,"allowedTags":null,"restrictTags":null,"selectionType":"FLEXIBLE","bundleHtml":"null","discountedVariants":"null","allowedCountries":null,"appliesOn":"BOTH","purchaseRequirement":"NO_REQUIREMENT","productDiscountType":"EACH_PRODUCT","countrySelectionType":"ALL_COUNTRY","discountApplyApproach":"SHOPIFY_DISCOUNT_FUNCTION","discountedProductChooseType":"CHOOSE_ALL","internalName":"Mengenrabatt","sections":"[]","limitToUsePerCustomer":null,"discountedVariantSelectionLimit":null,"hideOneTimePurchase":false,"hideSubscriptionPurchase":false,"maxOrderAmount":null,"collectionData":"[{\"id\":697529532789,\"title\":\"Aromatherapie Produkte für ganzheitliches Wohlbefinden\",\"handle\":\"lifestyle-wohnen\",\"image\":null},{\"id\":698216415605,\"title\":\"Körperpflege Produkte für strahlende Haut und Wohlbefinden\",\"handle\":\"korperpflege-und-kosmetik\",\"image\":null}]","productSelectionType":"COLLECTION","tag":"appstle_bundles","productChooseType":"CHOOSE_ALL","variantSelectionLimit":null,"discountTargetType":"VARIANT","enableSubscription":false,"subscriptionWidgetPosition":"BELOW","subscribeTitle":"Subscribe and Save","subscribeSubtitle":"Delivered Monthly","subscriptionPreselected":false,"getYAppliesOn":"BOTH","announcementBarMessage":null,"automaticDiscountNodeId":"gid://shopify/DiscountAutomaticNode/2312483111285","recurringCycleLimit":0,"automaticShippingDiscountNodeId":null,"scheduledBundleRule":false,"bundleActiveFrom":null,"bundleActiveTo":null,"bundleSubType":null,"discountAppliesOn":"PER_LINE_ITEM","layoutType":null,"style":"{\"otherProductsModalImageSize\":80,\"tierFreeGiftTitleFontSize\":13,\"tierUnitLabelFontStyle\":\"REGULAR\",\"tierUpsellTitleFontSize\":13,\"tierSubTitleFontSize\":13,\"ruleUpsellTitleFontSize\":15,\"tierFullPriceFontSize\":14,\"tierPriceFontSize\":20,\"tierUpsellSubTitleFontSize\":12,\"blockTitleFontStyle\":\"BOLD\",\"tierFullPriceFontStyle\":\"REGULAR\",\"tierTitleFontSize\":20,\"tierSubTitleFontStyle\":\"REGULAR\",\"subscriptionSubTitleFontSize\":13,\"otherProductsImageSize\":40,\"cardGap\":16,\"saveBadgeFontSize\":12,\"tierPriceFontStyle\":\"BOLD\",\"tierFreeGiftPriceFontSize\":14,\"tierFreeGiftTitleFontStyle\":\"BOLD\",\"tierTitleFontStyle\":\"BOLD\",\"ruleUpsellSubTitleFontSize\":13,\"tierUnitLabelFontSize\":14,\"tierFreeGiftPriceFontStyle\":\"REGULAR\",\"blockTitleFontSize\":14,\"otherProductsProductTitleSize\":16,\"borderRadius\":8,\"saveBadgeFontStyle\":\"REGULAR\",\"subscriptionTitleFontSize\":15,\"otherProductsModalProductPriceTextSize\":14,\"otherProductsModalProductTitleTextSize\":14}","labels":"{}","upsells":null,"enableVolumeDiscountUpsell":false,"combos":"[]","progressiveGift":null,"enableProgressiveGifts":false,"discountName":null,"shippingDiscountType":null,"inventoryTrackingMode":null,"defaultVariants":null,"translations":null}]; const customerTags = null; let customerDiscountUsage = []; let isLoggedIn = false; const filteredDiscountBundles = Array.isArray(discountBundles) && discountBundles.length > 0 && discountBundles?.filter((bundle) => { if (bundle?.status !== 'ACTIVE' || bundle?.bundleSubType === 'BUY_X_GET_Y') { return false; } if ((bundle?.allowedTags || bundle?.restrictTags || bundle?.limitToUsePerCustomer > 0) && !isLoggedIn) { return false; } if ((bundle?.allowedTags || bundle?.restrictTags) && isLoggedIn && isBundleRestrictedByDiscount(bundle, customerTags)) { return false; } if (bundle?.limitToUsePerCustomer > 0 && isDiscountUsageLimitExceed(customerDiscountUsage, bundle)) { return false; } if (bundle?.appliesOn === "ONE_TIME" && sellingPlanId != null) { return false; } if (bundle?.appliesOn === "SUBSCRIPTION" && sellingPlanId === null) { return false; } try { const variantsString = bundle?.variants || '[]'; const variants = typeof variantsString === 'string' ? JSON.parse(variantsString) : variantsString; const bundleCollections = JSON.parse(bundle?.collectionData || '[]'); return (Array.isArray(variants) && variants.some((variant) => variant && parseInt(variant?.variantId) === parseInt(variantId))) || (Array.isArray(bundleCollections) && bundleCollections?.length > 0 && bundleCollections.some(bundleCollection => collections.some(collection => collection?.id === bundleCollection?.id))) } catch (e) { console.error('Failed to parse JSON:', e); return false; } }) || []; const totalAmount = amount * quantity; const lineItem = {variantId, quantity, amount, totalAmount }; const volumeDiscountBundles = processBundleRules(filteredDiscountBundles, 'VOLUME_DISCOUNT', ["variants", "tieredDiscount"]); const discountedPricingBundles = processBundleRules(filteredDiscountBundles, 'DISCOUNTED_PRICING', ["variants"]); let applicableDiscount = null; const volumeDiscount = getApplicableTieredDiscount(volumeDiscountBundles, lineItem); const pricingDiscount = getApplicablePercentOrFixedDiscount(discountedPricingBundles, lineItem); if (volumeDiscount && pricingDiscount) { applicableDiscount = getBestDiscount([volumeDiscount, pricingDiscount], lineItem); } else { applicableDiscount = volumeDiscount || pricingDiscount; } const discountAmount = applicableDiscount?.discountType === "PERCENTAGE" ? (totalAmount * applicableDiscount?.discount) / 100 : applicableDiscount?.discount; const discountedPrice = applicableDiscount?.discountType === "PERCENTAGE" ? (totalAmount - discountAmount) : ( totalAmount - applicableDiscount?.discount); return { variantId, quantity, amount, totalAmount, discountType: applicableDiscount?.discountType, discountValue: applicableDiscount?.discount, discountAmount, discountedPrice: !isNaN(discountedPrice) ? discountedPrice : undefined, discountConfigure: applicableDiscount?.appliesOn }; }; (() => { const initializedElements = new WeakSet(); const loadAppstleBundleAssets = () => { const css = "https://bundles-admin.appstle.com/content/volume-discount.css?v=1779681066284"; const js = "https://bundles-admin.appstle.com/app/volume-discount.bundle.js?v=1779681066284"; const link = document.createElement('link'); link.rel = 'stylesheet'; link.href = css; document.head.appendChild(link); const script = document.createElement('script'); script.defer = true; script.src = js; document.head.appendChild(script); }; const executeVolumeDiscountBlock = ({ blockElement }) => { if (initializedElements.has(blockElement)) return; initializedElements.add(blockElement); const discountRules = [{"id":30020,"shop":"yw4tjh-vn.myshopify.com","name":"The more you buy, the more you save.","description":null,"status":"ACTIVE","customerIncludeTags":null,"discountType":"TIERED_DISCOUNT","discountValue":null,"products":"null","variants":"null","sequenceNo":null,"bundleType":"VOLUME_DISCOUNT","settings":"{\"excludeSubscriptionPlans\":\"\",\"cardGap\":16,\"sequentialProductsPerBatch\":50,\"showUnitPrice\":false,\"enableAnnouncementBar\":true,\"borderRadius\":8,\"showPricesWithoutDecimal\":false,\"showPriceWithSubscriptionPrice\":true,\"includedSubscriptionPlans\":\"\",\"showPriceOfChosenProductsOnly\":false}","bundleProductId":null,"bundleVariantId":null,"productHandle":null,"discountId":null,"price":null,"numberOfProducts":0,"subscriptionBundlingEnabled":false,"subscriptionId":null,"minProductCount":null,"maxProductCount":null,"uniqueRef":"wrpxwg1nm7","bundleRedirect":"CART","customRedirectURL":null,"minOrderAmount":null,"tieredDiscount":"[{\"discountBasedOn\":\"QUANTITY\",\"value\":1,\"discount\":0,\"discountType\":\"PERCENTAGE\",\"titleLabel\":\"1 pack\",\"subtitleLabel\":\"You save {{saved_percentage}}\",\"saveBadgeLabel\":\"Save {{saved_amount}}\",\"selectByDefault\":false,\"badgeLabel\":\"\",\"badgeType\":\"MOST_POPULAR\",\"discountAllowedTags\":\"\",\"freeProducts\":[],\"upsells\":[],\"imageURL\":null},{\"discountBasedOn\":\"QUANTITY\",\"value\":2,\"discount\":15,\"discountType\":\"PERCENTAGE\",\"titleLabel\":\"2 pack\",\"subtitleLabel\":\"You save {{saved_percentage}}\",\"saveBadgeLabel\":\"Save {{saved_amount}}\",\"selectByDefault\":true,\"badgeLabel\":\"\",\"badgeType\":\"MOST_POPULAR\",\"discountAllowedTags\":\"\"},{\"discountBasedOn\":\"QUANTITY\",\"value\":3,\"discount\":20,\"discountType\":\"PERCENTAGE\",\"titleLabel\":\"3 pack\",\"subtitleLabel\":\"You save {{saved_percentage}}\",\"saveBadgeLabel\":\"Save {{saved_amount}}\",\"selectByDefault\":false,\"badgeLabel\":\"\",\"badgeType\":\"MOST_POPULAR\",\"discountAllowedTags\":\"\"},{\"discountBasedOn\":\"QUANTITY\",\"value\":4,\"discount\":25,\"discountType\":\"PERCENTAGE\",\"titleLabel\":\"4 pack\",\"subtitleLabel\":\"You save {{saved_percentage}}\",\"saveBadgeLabel\":\"Save {{saved_amount}}\",\"selectByDefault\":false,\"badgeLabel\":\"\",\"badgeType\":\"MOST_POPULAR\",\"discountAllowedTags\":\"\"},{\"discountBasedOn\":\"QUANTITY\",\"value\":6,\"discount\":30,\"discountType\":\"PERCENTAGE\",\"titleLabel\":\"6 pack\",\"subtitleLabel\":\"You save {{saved_percentage}}\",\"saveBadgeLabel\":\"Save {{saved_amount}}\",\"selectByDefault\":false,\"badgeLabel\":\"\",\"badgeType\":\"MOST_POPULAR\",\"discountAllowedTags\":\"\"}]","productViewStyle":"QUICK_ADD","singleProductSettings":"null","trackInventory":false,"sellingPlanType":"BUNDLE_LEVEL","clearCart":"ENABLED","minPrice":null,"maxPrice":null,"externalBuildABoxId":null,"variantVisibilityType":"SHOW_VARIANTS_AS_INDIVIDUAL","subTitle":null,"freeShipping":false,"themeType":"THEME_TWO","showBundleInProductPage":true,"combinedWithProductDiscount":false,"combinedWithShippingDiscount":true,"combinedWithOrderDiscount":false,"allowedTags":null,"restrictTags":null,"selectionType":"FLEXIBLE","bundleHtml":"null","discountedVariants":"null","allowedCountries":null,"appliesOn":"BOTH","purchaseRequirement":"NO_REQUIREMENT","productDiscountType":"EACH_PRODUCT","countrySelectionType":"ALL_COUNTRY","discountApplyApproach":"SHOPIFY_DISCOUNT_FUNCTION","discountedProductChooseType":"CHOOSE_ALL","internalName":"Mengenrabatt","sections":"[]","limitToUsePerCustomer":null,"discountedVariantSelectionLimit":null,"hideOneTimePurchase":false,"hideSubscriptionPurchase":false,"maxOrderAmount":null,"collectionData":"[{\"id\":697529532789,\"title\":\"Aromatherapie Produkte für ganzheitliches Wohlbefinden\",\"handle\":\"lifestyle-wohnen\",\"image\":null},{\"id\":698216415605,\"title\":\"Körperpflege Produkte für strahlende Haut und Wohlbefinden\",\"handle\":\"korperpflege-und-kosmetik\",\"image\":null}]","productSelectionType":"COLLECTION","tag":"appstle_bundles","productChooseType":"CHOOSE_ALL","variantSelectionLimit":null,"discountTargetType":"VARIANT","enableSubscription":false,"subscriptionWidgetPosition":"BELOW","subscribeTitle":"Subscribe and Save","subscribeSubtitle":"Delivered Monthly","subscriptionPreselected":false,"getYAppliesOn":"BOTH","announcementBarMessage":null,"automaticDiscountNodeId":"gid://shopify/DiscountAutomaticNode/2312483111285","recurringCycleLimit":0,"automaticShippingDiscountNodeId":null,"scheduledBundleRule":false,"bundleActiveFrom":null,"bundleActiveTo":null,"bundleSubType":null,"discountAppliesOn":"PER_LINE_ITEM","layoutType":null,"style":"{\"otherProductsModalImageSize\":80,\"tierFreeGiftTitleFontSize\":13,\"tierUnitLabelFontStyle\":\"REGULAR\",\"tierUpsellTitleFontSize\":13,\"tierSubTitleFontSize\":13,\"ruleUpsellTitleFontSize\":15,\"tierFullPriceFontSize\":14,\"tierPriceFontSize\":20,\"tierUpsellSubTitleFontSize\":12,\"blockTitleFontStyle\":\"BOLD\",\"tierFullPriceFontStyle\":\"REGULAR\",\"tierTitleFontSize\":20,\"tierSubTitleFontStyle\":\"REGULAR\",\"subscriptionSubTitleFontSize\":13,\"otherProductsImageSize\":40,\"cardGap\":16,\"saveBadgeFontSize\":12,\"tierPriceFontStyle\":\"BOLD\",\"tierFreeGiftPriceFontSize\":14,\"tierFreeGiftTitleFontStyle\":\"BOLD\",\"tierTitleFontStyle\":\"BOLD\",\"ruleUpsellSubTitleFontSize\":13,\"tierUnitLabelFontSize\":14,\"tierFreeGiftPriceFontStyle\":\"REGULAR\",\"blockTitleFontSize\":14,\"otherProductsProductTitleSize\":16,\"borderRadius\":8,\"saveBadgeFontStyle\":\"REGULAR\",\"subscriptionTitleFontSize\":15,\"otherProductsModalProductPriceTextSize\":14,\"otherProductsModalProductTitleTextSize\":14}","labels":"{}","upsells":null,"enableVolumeDiscountUpsell":false,"combos":"[]","progressiveGift":null,"enableProgressiveGifts":false,"discountName":null,"shippingDiscountType":null,"inventoryTrackingMode":null,"defaultVariants":null,"translations":null}]; const filteredDiscounts = Array.isArray(discountRules) && discountRules?.length > 0 && discountRules.filter((rule) => rule?.bundleType === 'VOLUME_DISCOUNT' && rule?.status === 'ACTIVE') || []; if (filteredDiscounts?.length > 0 && blockElement) { loadAppstleBundleAssets(); const discountDiv = document.createElement('div'); const reference = 'VOLUME_DISCOUNT'; discountDiv.setAttribute('appstle-volume-discount-unique-reference', reference); discountDiv.className = 'appstle-volume-discount'; discountDiv.style.cssText = 'width: 100%; display: block;'; blockElement.appendChild(discountDiv); const appBlockDiv = document.querySelector('div[data-block-handle="appstle-volume-discount-page"]'); if (appBlockDiv) { appBlockDiv.appendChild(blockElement); } } }; const isAppFunctionalityDisabled = () => window?._ABConfig?.['disableAppFunctionality'] || false; const findAppstleOwnedContainers = () => { const candidates = document.querySelectorAll('#appstleVolumeDiscountContainer, #volumeDiscountContainer'); return Array.from(candidates).filter(el => el.classList.contains('ab-volume-discount-container')); }; const findLegacyContainerById = () => { const legacy = document.getElementById('volumeDiscountContainer'); return legacy ? [legacy] : []; }; const findCustomPlacements = () => Array.from(document.querySelectorAll('.ab-volume-discount-custom-placement-selector')); const resolveContainers = () => { const preciseMatches = findAppstleOwnedContainers(); const primary = preciseMatches.length > 0 ? preciseMatches : findLegacyContainerById(); return primary.concat(findCustomPlacements()); }; const mountVolumeDiscount = (element) => { if (initializedElements.has(element)) return; element.innerHTML = ''; executeVolumeDiscountBlock({ blockElement: element }); }; const initVolumeDiscount = () => { if (isAppFunctionalityDisabled()) return; resolveContainers().forEach(mountVolumeDiscount); } window.initVolumeDiscountAppstleBundle = initVolumeDiscount; const observeForQuickAddModal = () => { const seen = new WeakSet(); new MutationObserver(() => { document.querySelectorAll(".quick-add-modal__content-info")?.forEach((m) => { if (m?.offsetParent === null) return seen.delete(m); if (seen.has(m) || !m?.children?.length) return; seen.add(m); setTimeout(() => initVolumeDiscount(), 100); }); }).observe(document.body, { childList: true, subtree: true }); }; document.addEventListener('DOMContentLoaded', () => { initVolumeDiscount(); observeForQuickAddModal(); }); })(); if (_ABConfig?.bundle_setting?.enableGa4CrossDomainTracking === true) { (function () { const params = new URLSearchParams(window.location.search); const gl = params.get('_gl'); if (gl) { sessionStorage.setItem('_ab_ga4_gl', gl); } const saved = sessionStorage.getItem('_ab_ga4_gl'); document.addEventListener('DOMContentLoaded', function () { const links = document.querySelectorAll('a[href*="/apps/bundles/bb/"]'); links.forEach(function (link) { const url = new URL(link.href); if (saved) url.searchParams.set('_gl', saved); link.href = url.toString(); }); }); })(); }