import 'slick-slider/slick/slick.min' window.readyResize = (callback, orientation = false) => { if ($.isFunction(callback)) { $(document).ready(()=>{ callback() }) $(window).resize(()=>{ console.log('Window resize ') callback() }) if(orientation) { window.addEventListener("orientationchange", () => { const WCO = ($(window).width() > $(window).height()) ? "landscape" : "portrait" console.log('Change orientation: ' + WCO) callback() }) } } } $.ajaxSetup({ async: false }) window.apiUrl = ENV.API_URL window.siteUrl = ENV.SITE_URL window.Apis = window.Apis || {} window.Apis.addToCart = (pid, price, qty) => { return new Promise((resolve, reject) => { $.post(apiUrl + `/cart_add.php?buster=${new Date().getTime()}`, {pid: pid, price: price, qty: qty}).done( (data) => { resolve(data) }).fail((error, status) => { reject(error) }) }) } window.Apis.removeFromCart = (pid) => { return new Promise((resolve, reject) => { $.post(apiUrl + `/cart_del.php?buster=${new Date().getTime()}`, {pid: pid}).done( (data) => { resolve(data) }).fail((error, status) => { reject(error) }) }) } window.Apis.getCart = (body) => { return new Promise((resolve, reject) => { $.post(apiUrl + `/cart_get.php?buster=${new Date().getTime()}`, {body: body}).done( (data) => { resolve(data) }).fail((error, status) => { reject(error) }) }) } window.Apis.getToken = () => { return new Promise((resolve, reject) => { $.ajax({ type: 'POST', url: ENV.PP_AUTH_URL, data: {'grant_type': 'client_credentials'}, dataType: 'json', async: true, contentType: 'application/json; charset=utf-8', headers: {'Authorization': `Basic ${btoa(ENV.PP_CLIENTID + ":" + ENV.PP_SECRET)}`}, success: (data) => { resolve(data) }, error: (error) => { reject(error) } }) }) } window.Apis.placeOrder = (cart, token) => { const data = { intent: 'CAPTURE', application_context: { brand_name: 'IoLovOlio', locale: 'it-IT', return_url: ENV.PP_RETURN, cancel_url: ENV.PP_RETURN }, purchase_units: cart } return new Promise((resolve, reject) => { $.ajax({ type: 'POST', url: ENV.PP_ORDER_URL, data: JSON.stringify(data), dataType: 'json', async: true, contentType: 'application/json; charset=utf-8', headers: {'Authorization': `Bearer ${token}`}, success: (data) => { resolve(data) }, error: (error) => { reject(error) } }) }) }