Votre panier
(
{{ cart.item_count }}
Articles)
{{ error.message }}
{{ error.description }}
Votre panier est vide. Consultez notre boutique pour voir ce qui est disponible
FAITES DES ÉCONOMIES SUPPLÉMENTAIRES: Obtenez une réduction supplémentaire de Є20 sur votre commande en achetant 2 cadres ou plus! (Є30 de rabais pour les membres Nixplay Plus)
Réduction de commande en gros appliquée au panier !
*Frais d’expédition et taxes calculés au moment du paiement
(function(){
document.addEventListener('DOMContentLoaded', () => {
const headerTopSection = document.querySelector('.top-logo-section');
const headerNavLinksSection = document.querySelector('.nav-links-section');
const mainHeader = document.querySelector('.main-header');
const productStickyBuyButton = document.querySelector('.sticky-buy-buttton');
const referenceButton = document.querySelector('.cta-button')
const evaluateHeader = () => {
const headerTopBox = headerTopSection.getBoundingClientRect();
const referenceBox = referenceButton.getBoundingClientRect();
if(referenceBox.bottom < (headerTopBox.bottom + 20)) {
mainHeader.classList.remove('shadow-md');
productStickyBuyButton.classList.add('active');
if (window.innerWidth <= 425) {
productStickyBuyButton.style.setProperty("--top", `48px`);
}
else {
productStickyBuyButton.style.setProperty("--top", `${headerTopBox.bottom}px`);
headerNavLinksSection.classList.add('hide_it');
}
} else {
mainHeader.classList.add('shadow-md');
headerNavLinksSection.classList.remove('hide_it');
productStickyBuyButton.classList.remove('active')
}
}
evaluateHeader();
window.addEventListener('scroll', evaluateHeader);
})
})()
.nav-links-section{
transition: all 0.5s;
opacity: 1; max-height: 100vh;
}
.nav-links-section.hide_it{
opacity:0; max-height: 0vh; overflow: hidden;
}
.image-bg-container{
background: #f8f8f8;
}
.sticky-buy-buttton {
--top: 50.52px;
z-index: 49;
}
.sticky-buy-buttton.active {
top: var(--top);
}
.sticky-buy-buttton:not(.active) {
animation-name: wait-to-leave;
animation-duration: 0.2s;
animation-fill-mode: forwards;
animation-iteration-count: 1;
animation-timing-function: ease-in-out;
}
@keyframes wait-to-leave {
from {
top: var(--top);
opacity: 1;
}
99% {
top: var(--top);
}
to {
top: -900px;
opacity: 0;
}
}
.sticky-buy-buttton .color-ball.has-label:hover::after{
display: none;
}
.sticky-buy-buttton>div {
transform: translateY(-150px);
}
.sticky-buy-buttton.active>div {
transform: translateY(0px);
}
.gallery-left-btn:hover svg {
animation-name: slide-left;
animation-duration: 0.4s;
animation-iteration-count: 1;
animation-timing-function: ease-in-out;
}
.gallery-right-btn:hover svg {
animation-name: slide-right;
animation-duration: 0.4s;
animation-iteration-count: 1;
animation-timing-function: ease-in-out;
}
@keyframes slide-right {
from {
transform: translate3d(0%, 0px, 0);
opacity: 1;
}
25% {
transform: translate3d(-50%, 0px, 0);
}
to {
transform: translate3d(100%, 0px, 0);
opacity: 0;
}
}
@keyframes slide-left {
from {
transform: translate3d(0%, 0px, 0);
opacity: 1;
}
25% {
transform: translate3d(50%, 0px, 0);
}
to {
transform: translate3d(-100%, 0px, 0);
opacity: 0;
}
}
.slider-item-ratio .slider-container>*>* {
object-fit: contain !important;
}
.gallery-main-container:before{
content:'';
display: block;
width:100%;
padding-top: 80%;
}
.thumbs-container {
max-width:91%;
}
@media (max-width: 425px) {
.sticky-buy-buttton {
--top: 48px;
}
}
@media (max-width: 768px) {
.thumbs-container {
max-width:100%;
}
.gallery-image-container {
min-width: 100%;
width: 95vw;
}
.z-custom-launcher {
display: none;
}
}
@media (min-width: 640px) {
.shadow-top {
border-top: none !important;
-webkit-box-shadow: none !important;
-moz-box-shadow: none !important;
box-shadow: none !important;
}
}
.shadow-top {
border-top: 1px solid #eae6e6;
-webkit-box-shadow: 0px -1px 4px rgb(246 243 243 / 70%);
-moz-box-shadow: 0px -1px 4px rgb(246 243 243 / 70%);
box-shadow: 0px -1px 4px rgb(246 243 243 / 70%);
}
.show-more-container:before {
content:'';
position: absolute;
width: 100%;
height: 100%;
background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
}
.icon-check img {
display: none;
}
.checked-icon .icon-check img {
display: block;
}
Restez plus près de votre famille avec Nixplay Plus!
Nixplay Plus est votre abonnement pour tirer encore plus de plaisir et de valeur de vos photos et vidéos
Adhérer maintenant
Regardez ce que vous pouvez faire avec ces incroyables avantages !
.cta_align_left {
justify-content: center;
justify-items: start;
align-items: start;
text-align: left;
padding-left: 8rem;
}
.cta_align_right {
justify-content: center;
justify-items: end;
align-items: end;
text-align: right;
padding-right: 8rem;
}
.cta_align_center {
justify-content: center;
justify-items: center;
align-items: center;
text-align: center;
padding: 0 4rem;
}
.image-bg {
content: url('//www.nixplay.de/cdn/shop/files/Frame_1.png?v=1667855287')
}
@media (min-width: 1560px) {
.cta_align_left {
padding-left: 12rem;
}
.cta_align_right {
padding-right: 12rem;
}
.cta_align_center {
padding: 0 4rem;
}
}
@media (max-width: 639px) {
.cta_align_mobile {
justify-content: flex-end;
justify-items: center;
text-align: center;
padding: 0 30px 30px 30px;
}
.cta_align {
display: flex;
justify-content: center;
}
.image-bg {
content: url('//www.nixplay.de/cdn/shop/files/Frame_2.png?v=1667855296')
}
.mobile-height {
min-height: calc(133.33vw + 115px);
}
.strip-caption {
height: 115px;
}
}
@media (max-width: 385px) {
.cta_align_mobile {
padding: 0 20px 15px 20px
}
}
Garantie à vie et assistance dédiée Avec Nixplay Plus, vous aurez droit à une garantie à vie sur un cadre et à un support client dédié avec un calendrier de rappel
Revivez des moments avec des clips vidéo plus longs Certains de vos meilleurs souvenirs durent plus de 15 secondes. Avec Nixplay Plus, téléchargez des vidéos jusqu'à 2 minutes et ne manquez jamais un moment
Stockage vidéo de taille familiale Profitez de 50 Go de stockage vidéo en nuage pour de précieux souvenirs
Suite complète de montage photo et vidéo Recadrez votre meilleur moment parfaitement adapté à votre format d'image. Sans oublier les filtres, les superpositions de texte, les autocollants et bien d'autres outils pour faire briller vos souvenirs
Listes de lecture partagées illimitées Partagez des listes de lecture illimitées en privé avec vos amis et votre famille
.parent-container {
align-items: center;
align-content: center;
}
.txt-container {
height: auto;
width: 60%;
min-width: 60%;
}
.img-container {
height: auto;
width: 40%;
min-width: 40%;
}
.img-container img {
width: 100%
}
@media (max-width: 639px) {
.txt-container {
height: auto;
width: 100%;
min-width: 100%;
}
.img-container {
height: auto;
width: 100%;
min-width: 100%;
}
.img-container img {
height: auto;
width: 50%;
}
}
Ce qui est inclus dans
Nixplay Plus?
.table-col {
overflow: hidden;
}
.table-col span.cs-padding {
padding: .5rem 5rem;
}
.table-col span.cs-height {
height: 66.5px;
min-height: 66.5px;
}
.table-col span {
display: flex;
justify-content: start;
align-content: center;
align-items: center;
width: 100%
height: 50px;
min-height: 50px;
padding: 0 5rem;
overflow: hidden;
font-family: "zen-new", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
font-size: 1.75rem;
}
.table-col span:nth-child(2n) {
background-color: rgb(255 255 255);
}
.table-col span:nth-child(2n) {
background-color: rgb(244 244 245);
}
.table-container .table-col:nth-child(1) span {
line-height: 1;
text-align: right;
justify-content: end;
}
.table-container .table-col:nth-child(1) span:nth-child(1), .table-container .table-col:nth-child(1) span:nth-child(2) {
display: none;
}
.table-container .table-col:nth-child(2) {
background-color: rgba(255, 255, 255, 1);
filter: drop-shadow(0 20px 13px rgb(0 0 0 / 0.03)) drop-shadow(0 8px 5px rgb(0 0 0 / 0.08));
transform: scaleX(1.075) translateY(25px);
}
.table-container .table-col:nth-child(2) span:last-child {
height: 75px;
padding-bottom: 25px;
}
.table-container .table-col:nth-child(2) span:nth-child(1),
.table-container .table-col:nth-child(2) span:nth-child(2) {
height: 75px;
min-height: 75px;
background: rgb(255, 255, 255);
border-bottom: 1px solid #cccccc;
}
.table-container .table-col:nth-child(2) span:nth-child(1) img {
height: 70%;
width: auto;
margin-right: 10px;
}
.table-container .table-col:nth-child(2) span:nth-child(2) {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
color: rgb(251, 143, 14);
font-weight: 900;
line-height: 1.25;
}
.table-container .table-col:nth-child(2) span:nth-child(2) small {
color: rgb(0, 0, 0);
font-weight: 300;
}
.table-container .table-col:nth-child(2) span:nth-child(1) {
background-color: rgb(251, 143, 14);
color: rgb(255, 255, 255);
font-size: 2.5rem;
font-weight: 500;
}
.table-container .table-col:nth-child(3) span:nth-child(1) {
color: #08819c;
font-weight: 500;
font-size: 2.5rem;
}
.table-container .table-col:nth-child(3) span:nth-child(1),
.table-container .table-col:nth-child(3) span:nth-child(2) {
background: rgb(255, 255, 255);
border-bottom: 1px solid #cccccc;
}
@media (max-width: 1024px) {
.table-col span {
font-size: 1.5rem;
padding: 0 2rem;
line-height: 1;
}
.table-container .table-col:nth-child(1) span {
justify-content: start;
}
.table-col span.cs-height {
height: 50px;
min-height: 50px;
}
.table-col span.cs-padding {
padding: 0 2rem;
}
}
@media (max-width: 639px) {
.table-col span {
font-size: 1.25rem;
line-height: 1;
padding: 0 1rem;
}
.table-col .headertable {
justify-content: center !important;
}
.table-container .table-col:nth-child(1) span {
text-align: left;
word-break: break-word;
-webkit-hyphens: auto;
-moz-hyphens: auto;
hyphens: auto;
}
.table-container .table-col:nth-child(2) span:nth-child(12) {
padding-bottom: 1.25rem;
}
.table-container .table-col:nth-child(2) span:nth-child(1),
.table-container .table-col:nth-child(2) span:nth-child(2) {
height: 70px;
min-height: 70px;
}
.table-container .table-col:nth-child(2) span:nth-child(1) {
font-size: 1.25rem;
position: relative;
}
.table-container .table-col:nth-child(2) span:nth-child(1) img {
height: 40%;
margin-right: 2px;
}
.table-container .table-col:nth-child(3) span:nth-child(1) {
font-size: 1.25rem;
}
.table-col span.cs-padding {
padding: 0 1rem;
}
}
@media (max-width: 400px) {
.table-col span {
font-size: 1.10rem;
}
}
Période de garantie
Durée de la vidéo
Listes de lecture partagées
Stockage infonuagique
Modification de photos dans l’application
Cadres exclusifs
Connexion de cadres
Service à la clientèle
À partir de 4,17 €/mois*Annulez à tout moment
Durée de vie
2 minutes
Illimité
Photo - illimité
Vidéo - 50Go
Oui
Oui
Jusqu'à 10
Support client prioritaire
frei
2 années
15 secondes
5
Photo - illimité
Vidéo - 5Go
---
---
Jusqu'à 5
Lundi à Vendredi
.plus-sticker {
font-family: "zen-new", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
font-weight: 500;
}
.first-row .col-span-2, .second-row .col-span-2, .third-row .col-span-2 {
background-color: #ddf5f9;
height: 100%;
}
.first-row .plus-title-span {
background-color: #000000;
color: #ffffff;
}
.first-row .normal-title-span {
background-color: #6bcede;
color: #ffffff;
}
.plus-table-nav .slider-nav:focus {outline: none;}
.plus-table-nav .slider-nav { opacity: 1; outline: 0; filter: none; }
.plus-table-nav .img-min-height {min-height: 300px;}
.plus-table-nav .slider-indicators > * {
width: 0.8rem;
height: 0.8rem;
opacity: .2;
}
.plus-table-nav .slider-indicators>.active {opacity: .5;}
.swiffy-slider.slider-indicators-outside .plus-table-nav button {margin-bottom: -15px;}
.plus-table {
border-collapse: collapse;
}
.plus-table tr:not(:first-child) td {
border: 1px solid gray;
}
.plus-table tr:not(:first-child) td:not(:last-child) {
background-color: #FCDBB5;
}
.plus-table tr:not(:first-child) th {
border: 1px solid gray;
}
.plus-head {
font-family: "zen-new", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
font-weight: 500;
}
.plus-table br {
display: inline;
}
.plus-table th {
text-align: right;
font-weight: 400;
}
@media (min-width: 640px) {
.plus-table br {
display: none;
}
.plus-table th {
text-align: right;
}
.plus-table tr:not(:first-child) td:not(:last-child) {
background-color: #f6ede2;
}
.plus-sticker br {
display: none;
}
}
.plus-content br {
display: none;
}
.table-bg-color {
background-color: transparent;
}
@media (min-width: 640px) {
.plus-btn-container .plus-btn > * {
padding: 1.5rem 6rem !important;
font-size: 100%;
}
.table-bg-color {
background-color: #ffffff;
}
.plus-content br {
display: inline;
}
}
@media (max-width: 639px) {
.join-plus button {
}
.plus-btn button a, .plus-btn button span {
font-size: 1.5rem;
}
}
.plus-btn > * {
padding: 1.5rem 6rem !important;
font-size: 1.25rem;
}
.plus-btn button[disabled="disabled"] {
background-color: gray !important;
}
Devenir membre Nixplay
L'adhésion à Nixplay Plus vous permet d'obtenir...
Garantie à vie sur 1 cadre
Cadres exclusifs
Clips vidéo de 2 minutes
Photo complète, suite de montage vidéo
Et plus...
Équipe de support Nixplay sur appel
Listes de lecture groupées privées
Jusqu'à 10 cadres connectés
50 Go de stockage vidéo sur le cloud
body.is-modal-open {
overflow: hidden;
}
.unset-br-plus br {
display: inline;
}
@media (min-width: 640px) {
.unset-br-plus br {
display: none !important;
}
}
@media (max-width: 640px) {
.hidden-sm {
display: none;
}
}
FAQs
Puis-je transférer l’abonnement à quelqu’un d’autre?
Pour des raisons de sécurité, nous ne proposons actuellement pas cette option.
Comment puis-je annuler mon abonnement ?
Suivez simplement les étapes sur ce
lien . Pas besoin de rédiger de longs e-mails, nous nous en sommes occupés.
J'ai encore des questions. Comment puis-je contacter Nixplay ?
Envoyez-nous un e-mail ou discutez . directement avec nous via le chat. Pour les membres Nixplay Plus,
connectez-vous simplement à votre compte pour contacter votre équipe dédiée.
Multi-shipping FAQ
When and where will I see the multi-shipping option during my order journey?
When more than one (1) digital photo frame is added to cart, a checkbox will appear on the cart slider/cart page.
This option will allow you to order 2 or more frames and send them to different locations at the same time through the same checkout experience without having to enter different shipping addresses one by one.
The multi-shipping option is not showing up / greyed out. Why is that?
This can happen due to 3 reasons:
When only one (1) digital photo frame is added to cart.
When a print store product is added to cart. Please note print products are not supported for delivery through multi-shipping and need to be ordered separately.
When Nixplay Plus subscription is added to cart together with more than one (1) digital photo frame.
At this step, the multi-shipping option will show as “Not applicable - Learn More”. To avoid this:
Simply purchase the Nixplay Plus subscription separately first and activate your account.
Next login to your account directly at Nixplay store and enjoy 25% off the digital photo frames and you will notice the multi-shipping option is now available.
Why can’t I order both the Nixplay Plus subscription and use multi-shipping option at the same time?
This is because the multi-shipping option cannot recognize subscription-based products and therefore the Nixplay Plus subscription needs to be ordered separately.
We apologize for any inconvenience this may cause you. Rest assure, our engineers are working hard to find a solution and make this a 1 step journey. In the meantime, please follow the steps shared above to place your order while using the multi-shipping option.
var saleDetails = {
saleEnd: '',
cartSummary: {
item_count: 0,
items_subtotal_price: 0,
original_total_price: 0,
requires_shipping: false,
total_discount: 0,
total_price: 0,
},
cartMessage:"[#%] discount applied for our Fall Sale",
cartDiscount_code: '',
fixedDiscount: '',
locale: 'fr',
offer: { you_save: "Vous économisez", buy: "Achetez-en", off: "de rabais"},
items: [ {
sku : "409",
id: 39473230905430,
price: 31999,
saleCopy: "",
saleCopyBi: "",
copyColor: "",
blockBg: "",
bannerBlockBgColor: false,
discountType: "fixed",
valueOff: "percent-off",
spendAmount: "",
discountValue: "0.15",
disclaimer: "",
hideSticker: true,
sticker: null,
stickerBi: null,
addDiscountCopy: "",
addDiscountCopyBi: ""
}, {
sku : "411",
id: 39331378135126,
price: 15999,
saleCopy: "",
saleCopyBi: "",
copyColor: "",
blockBg: "",
bannerBlockBgColor: false,
discountType: "fixed",
valueOff: "percent-off",
spendAmount: "",
discountValue: "0.15",
disclaimer: "",
hideSticker: true,
sticker: null,
stickerBi: null,
addDiscountCopy: "",
addDiscountCopyBi: ""
},{
sku : "408",
id: 39627652268118,
price: 15999,
saleCopy: "",
saleCopyBi: "",
copyColor: "",
blockBg: "",
bannerBlockBgColor: false,
discountType: "fixed",
valueOff: "percent-off",
spendAmount: "",
discountValue: "0.15",
disclaimer: "",
hideSticker: true,
sticker: null,
stickerBi: null,
addDiscountCopy: "",
addDiscountCopyBi: ""
}, {
sku : "704",
id: 39556026761302,
price: 29999,
saleCopy: "",
saleCopyBi: "",
copyColor: "",
blockBg: "",
bannerBlockBgColor: false,
discountType: "fixed",
valueOff: "percent-off",
spendAmount: "",
discountValue: "0.15",
disclaimer: "",
hideSticker: true,
sticker: null,
stickerBi: null,
addDiscountCopy: "",
addDiscountCopyBi: ""
}, {
sku : "315",
id: 40016903503958,
price: 15999,
saleCopy: "",
saleCopyBi: "",
copyColor: "",
blockBg: "",
bannerBlockBgColor: false,
discountType: "fixed",
valueOff: "percent-off",
spendAmount: "",
discountValue: "0.15",
disclaimer: "",
hideSticker: true,
sticker: null,
stickerBi: null,
addDiscountCopy: "",
addDiscountCopyBi: ""
},{
sku : "316",
id: 40016903536726,
price: 15999,
saleCopy: "",
saleCopyBi: "",
copyColor: "",
blockBg: "",
bannerBlockBgColor: false,
discountType: "fixed",
valueOff: "percent-off",
spendAmount: "",
discountValue: "0.15",
disclaimer: "",
hideSticker: true,
sticker: null,
stickerBi: null,
addDiscountCopy: "",
addDiscountCopyBi: ""
}, {
sku : "425",
id: 40015884648534,
price: 18999,
saleCopy: "",
saleCopyBi: "",
copyColor: "",
blockBg: "",
bannerBlockBgColor: false,
discountType: "fixed",
valueOff: "percent-off",
spendAmount: "",
discountValue: "0.1579",
disclaimer: "",
hideSticker: true,
sticker: null,
stickerBi: null,
addDiscountCopy: "",
addDiscountCopyBi: ""
}, {
sku : "424",
id: 39839948046422,
price: 19999,
saleCopy: "",
saleCopyBi: "",
copyColor: "",
blockBg: "",
bannerBlockBgColor: false,
discountType: "fixed",
valueOff: "percent-off",
spendAmount: "",
discountValue: "0.15",
disclaimer: "",
hideSticker: true,
sticker: null,
stickerBi: null,
addDiscountCopy: "",
addDiscountCopyBi: ""
},{
sku : "419",
id: 46783129911641,
price: 19999,
saleCopy: "",
saleCopyBi: "",
copyColor: "",
blockBg: "",
bannerBlockBgColor: false,
discountType: "fixed",
valueOff: "percent-off",
spendAmount: "",
discountValue: "0.15",
disclaimer: "",
hideSticker: true,
sticker: null,
stickerBi: null,
addDiscountCopy: "",
addDiscountCopyBi: ""
},{
sku : "420",
id: 39562077831254,
price: 19999,
saleCopy: "",
saleCopyBi: "",
copyColor: "",
blockBg: "",
bannerBlockBgColor: false,
discountType: "fixed",
valueOff: "percent-off",
spendAmount: "",
discountValue: "0.15",
disclaimer: "",
hideSticker: true,
sticker: null,
stickerBi: null,
addDiscountCopy: "",
addDiscountCopyBi: ""
},]
};
window.saleDetails = saleDetails;
var saleFunctions = {
getPrice: function (line, qtt) {
var price = line.price;
var quantity = qtt || 1
var valueOff = line.valueOff
var values = String(line.discountValue).split(',');
var totalPrice = 0
var unitPrice = 0
var difference = 0
switch (line.discountType) {
case 'fixed':
var discount_value = Number(values[0]);
unitPrice = (valueOff === 'percent-off') ? price * (1 - discount_value) : price - (discount_value * 100);
finalPrice = unitPrice * quantity;
difference = price - unitPrice
break;
case '3plus':
break;
case '123plus':
var discount_value;
if(quantity == 1) {
discount_value = Number(values[0]);
} else if (quantity == 2) {
discount_value = Number(values[1]);
} else {
discount_value = Number(values[2]);
}
unitPrice = (valueOff === 'percent-off') ? price * (1 - discount_value) : price - (discount_value * 100);
finalPrice = unitPrice * quantity;
difference = price - unitPrice
break;
case '1235plus':
break;
case '12plus':
var discount_value;
if(quantity == 1) {
discount_value = Number(values[0]);
} else {
discount_value = Number(values[1]);
}
unitPrice = (valueOff === 'percent-off') ? price * (1 - discount_value) : price - (discount_value * 100);
finalPrice = unitPrice * quantity;
difference = price - unitPrice
break;
case 'spend':
var cartTriggers = String(line.spendAmount).split(',');
var lastPositiveIndex = -1;
cartTriggers.forEach((trigger, index) => {
var triggerValue = Number(trigger)
var cartValue = (Number(window.saleDetails.cartSummary.original_total_price || 0) + Number(price))/ 100
if(cartValue > triggerValue) {
lastPositiveIndex = index
}
});
discount_value = lastPositiveIndex > -1 ? Number(values[lastPositiveIndex] || 0) : 0;
unitPrice = (valueOff === 'percent-off') ? price * (1 - discount_value) : price - (discount_value * 100);
finalPrice = unitPrice * quantity;
difference = price - unitPrice
break;
case 'bogox':
break;
case 'bogo':
break;
default:
console.log(`Sorry, we are out of`);
}
return { finalPrice: finalPrice, unitPrice: unitPrice, difference: difference }
},
updateCartSummary: function(cart) {
window.saleDetails.cartSummary = {
item_count: cart.item_count,
items_subtotal_price: cart.items_subtotal_price,
original_total_price: cart.original_total_price,
requires_shipping: cart.requires_shipping,
total_discount: cart.total_discount,
total_price: cart.total_price,
}
}
}
window.saleFunctions = saleFunctions;