(function appReflinks($){let session_id='jo8o7u0sv7sls4o0upjgktfo4v';let session_token='69530a55dc33b60abcb1f88c0d2092b0d9abd91e3b4f8c2dd34270ec9f958c06';let shopId=3;let translations_array={"add_text":{"__default":"Dodaj do koszyka"}};let newUserAdditionalFieldId=19;let newOrderAdditionalFieldId=20;let getTranslation=function getTranslation(var_name,current_lang=Shop.lang.name){if(!(current_lang in translations_array[var_name])){translation=translations_array[var_name]['__default'];}else{translation=translations_array[var_name][current_lang];} return translation;};let style=$('').appendTo('head');let partnerCode='';let urlString=decodeURIComponent(location.search.substr(1));urlString.split('&').forEach(function(item){if(item.indexOf('mxref')!=-1){partnerCode=item.split('/')[1].trim();}});if(partnerCode!=''){localStorage.appReflinksReflink=partnerCode;let sendReflinkView=false;let viewedReflinks=[];if('appReflinksViewedReflinks'in localStorage){viewedReflinks=JSON.parse(localStorage.appReflinksViewedReflinks);if(!viewedReflinks.includes(partnerCode)){sendReflinkView=true;}} if(!('appReflinksViewedReflinks'in localStorage)){localStorage.appReflinksViewedReflinks='[]';sendReflinkView=true;} if(sendReflinkView){viewedReflinks.push(partnerCode);localStorage.appReflinksViewedReflinks=JSON.stringify(viewedReflinks);let link="https://mxapp4.maxserver.pl/appReflinki/endpoint/add_reflink_view.php";let postData={session_id:session_id,session_token:session_token,partner_code:partnerCode,};$.post(link,postData);} let modal=new Shop.Modal({showMask:true,position:'center',positionType:'fixed',offset:20,header:'Informacja',content:`Użyłeś/aś reflinku ${partnerCode}`,});modal.createModal();} if($('body').hasClass('shop_login_register')){if('appReflinksReflink'in localStorage){$(`#additional_${newUserAdditionalFieldId}`).val(localStorage.appReflinksReflink);}} if($('body').hasClass('shop_basket_address')){if('appReflinksReflink'in localStorage){$(`#additional_${newUserAdditionalFieldId}`).val(localStorage.appReflinksReflink);$(`#additional_${newOrderAdditionalFieldId}`).val(localStorage.appReflinksReflink);}} if($('body').hasClass('shop_panel')){$('head').append('');let APIloader=function APIloader(){if(!window.frontAPI||!window.Chart){setTimeout(APIloader,0);} else{frontAPI.getUser(function(user){let link="https://mxapp4.maxserver.pl/appReflinki/endpoint/get_partner_data.php";let postData={session_id:session_id,session_token:session_token,shop_id:shopId,user_id:user.user_id,};$.post(link,postData).done(function(response){response=JSON.parse(response);if('error'in response){if(response.error=='User is not a partner')return false;if(response.error=='View is disabled')return false;let modal=new Shop.Modal({showMask:true,position:'center',positionType:'fixed',offset:20,header:'Informacja',content:`Wystąpił błąd podczas pobierania informacji o partnerze`,});modal.createModal();return false;} let priceFormater=new Intl.NumberFormat('pl-PL',{style:'currency',currency:'PLN'});let panelWrapper=$('
').insertAfter('#box_panel');panelWrapper.append('
Panel partnera
');let panel=$('
').appendTo(panelWrapper);let statistics=$('
').appendTo(panel);statistics.css({'margin-bottom':'20px'});let reflinkWraper=$(`
Twój reflink:
`).appendTo(statistics);let reflinkInput=$(``).appendTo(reflinkWraper);reflinkWraper.append(' ');let reflinkButton=$(`Kopiuj`).appendTo(reflinkWraper);reflinkButton.on('click',function(e){reflinkInput.select();if(!navigator.clipboard){document.execCommand('copy');} else{navigator.clipboard.writeText(reflinkInput.val());} let modal=new Shop.Modal({showMask:true,position:'center',positionType:'fixed',offset:20,header:'Informacja',content:`Link został skopiowany`,});modal.createModal();});statistics.append(`
Wartość zamówień: ${priceFormater.format(response.orderSum)}
`);statistics.append(`
Ilość zamówień: ${response.orderCount}
`);statistics.append(`
Ilość założonych kont: ${response.userCount}
`);statistics.append(`
Ilość odsłon reflinku: ${response.viewCount}
`);statistics.append(`
Suma prowizji do wypłacenia: ${priceFormater.format(response.provisionsSum)}
`);let settlementButtons=$('
').appendTo(statistics);let settlementPromocodeButton=$('').appendTo(settlementButtons);settlementButtons.append(' ');let settlementPayoffButton=$('').appendTo(settlementButtons);let settlementSlider=$('
').appendTo(settlementButtons);let settlementInput=$(``).appendTo(settlementSlider);settlementInput.attr('step',0.01);settlementInput.attr('min',0);settlementInput.attr('max',response.provisionsSum);settlementInput.css({margin:0,minHeight:'32.61px',height:'32.61px'});settlementSlider.append(' ');let settlementAcceptButton=$('').appendTo(settlementSlider);if(!response.canGeneratePromocode)settlementPromocodeButton.remove();if(!response.canRequestSettlement)settlementPayoffButton.remove();settlementPromocodeButton.on('click',function(e){if(settlementInput.data('method')=='promocode'){settlementInput.data('method',undefined);settlementSlider.slideUp();}else{settlementInput.data('method','promocode');settlementAcceptButton.text('Generuj');settlementSlider.slideDown();}});settlementPayoffButton.on('click',function(e){if(settlementInput.data('method')=='payoff'){settlementInput.data('method',undefined);settlementSlider.slideUp();}else{settlementInput.data('method','payoff');settlementAcceptButton.text('Wypłać');settlementSlider.slideDown();}});settlementAcceptButton.on('click',function(e){if(settlementInput.val()==='')return false;if(!settlementInput.get(0).checkValidity()){settlementInput.get(0).reportValidity();return false;} let link="https://mxapp4.maxserver.pl/appReflinki/endpoint/create_settlement.php";let postData={session_id:session_id,session_token:session_token,shop_id:shopId,partner_id:response.partnerId,method:settlementInput.data('method'),value:settlementInput.val()};$.post(link,postData).fail(function(response2){let modal=new Shop.Modal({showMask:true,position:'center',positionType:'fixed',offset:20,header:'Informacja',content:`Wystąpił błąd w komunikacji z serwerem`,});modal.createModal();}).done(function(response2){response2=JSON.parse(response2);if('error'in response2){if(response2.error=='Invalid parameters')response2.error='Błąd przetwarzania wypłaty';let modal=new Shop.Modal({showMask:true,position:'center',positionType:'fixed',offset:20,header:'Informacja',content:response2.error,});modal.createModal();return false;} let modal=new Shop.Modal({showMask:true,position:'center',positionType:'fixed',offset:20,header:'Informacja',content:response2.message,});modal.createModal();settlementSlider.slideUp();});});let chartWrapper=$('
').appendTo(panel);let chartRange=$('
').appendTo(chartWrapper);chartRange.append('
Dni
');chartRange.append('
Tygodnie
');chartRange.append('
Miesiące
');chartRange.append('
Pory roku
');chartWrapper.append('');let date=new Date();date.setDate(date.getDate()-7);let defaultLabel=[date.getDate()];for(let i=0;i<7;i++){date.setDate(date.getDate()+1);defaultLabel.push(date.getDate());} let statisticsChart=new Chart(document.getElementById('statisticsChart'),{data:{labels:defaultLabel,datasets:[{type:'line',yAxisID:'value',label:'Wartość zamówień',backgroundColor:'rgba(255, 99, 132, 0.5)',borderColor:'rgb(255, 99, 132)',borderWidth:2,pointStyle:'circle',pointBackgroundColor:'rgb(255, 99, 132)',pointRadius:4,pointHoverRadius:6,clip:false,order:1,},{type:'line',yAxisID:'count',label:'Ilość zamówień',backgroundColor:'rgba(153, 102, 255, 0.5)',borderColor:'rgb(153, 102, 255)',borderWidth:2,pointStyle:'rectRot',pointBackgroundColor:'rgb(153, 102, 255)',pointRadius:4,pointHoverRadius:6,clip:false,order:2,},{type:'line',yAxisID:'count',label:'Ilość założonych kont',backgroundColor:'rgba(54, 162, 235, 0.5)',borderColor:'rgb(54, 162, 235)',borderWidth:2,pointStyle:'rect',pointBackgroundColor:'rgb(54, 162, 235)',pointRadius:5,pointHoverRadius:7,clip:false,order:3,},{type:'bar',yAxisID:'countBig',label:'Ilość odsłon reflinku',backgroundColor:'rgba(75, 192, 192, 0.5)',borderColor:'rgb(75, 192, 192)',borderWidth:2,pointStyle:'rect',pointRadius:5,clip:false,order:4,}]},options:{scales:{value:{type:'linear',display:'auto',position:'left',beginAtZero:true,max:3500,title:{display:true,text:'Wartość zamówień',font:{size:18,},},},count:{type:'linear',display:'auto',position:'right',beginAtZero:true,max:140,ticks:{callback:function(value){return Math.round(value);}},title:{display:true,text:'Ilość zamówień i założonych kont',font:{size:18,},},},countBig:{type:'linear',display:false,position:'right',},},interaction:{intersect:false,mode:'index',},plugins:{tooltip:{position:'nearest',usePointStyle:true,callbacks:{title:function(context){let title='';let seasons=['Wiosna','Lato','Jesień','Zima'];let date=new Date();switch($('#statisticsRange .tab-active').data('range')){case'days':date.setDate(date.getDate()-(7-context[0].dataIndex));title=`Dzień: ${new Intl.DateTimeFormat([], {dateStyle: 'long'}).format(date)}`;break;case'weeks':date.setDate(date.getDate()-date.getDay()+1-(7-context[0].dataIndex)*7);title=`Tydzień: ${new Intl.DateTimeFormat([], {dateStyle: 'long'}).format(date)}`;break;case'months':date.setMonth(date.getMonth()-(7-context[0].dataIndex),1);title=`Miesiąc: ${new Intl.DateTimeFormat([], {month: 'long', year: 'numeric'}).format(date)}`;break;case'seasons':date.setMonth(date.getMonth()-date.getMonth()%3-1-(7-context[0].dataIndex)*3,21);title=`Pora roku: ${seasons[((date.getMonth()+10)%12-(date.getMonth()+10)%12%3)/3]} ${new Intl.DateTimeFormat([], {year: 'numeric'}).format(date)}`;break;default:break;} return title;},},},legend:{labels:{usePointStyle:true,font:{size:13,},}}},transitions:{show:{animations:{y:{from:function(context){return statisticsChart.chartArea.bottom;},}},},hide:{animations:{y:{to:function(context){return statisticsChart.chartArea.bottom;},}},},},}});let statisticsData=response.chartStatistics;$('#statisticsRange').on('click.changeRange','[data-range]',function(){$('#statisticsRange .tab-active').removeClass('tab-active');$(this).addClass('tab-active');let range=$(this).data('range');if(range in statisticsData){for(let dataset of statisticsChart.data.datasets){dataset.data=statisticsData[range].datasets[dataset.order];} statisticsChart.data.labels=statisticsData[range].labels;let emptyScaleValue=true;for(let data of statisticsData[range].datasets[1]){if(0