;(function($){ $( document ).on( 'change', '#report_type,#report_period,#input_based', function(){ var url = quads_localize_data.rest_url + 'quads-adsense/get_report_adsense'; var report_type = $('#report_type').val(); var report_period = $('#report_period').val(); var input_based = (typeof $('#input_based').val() !== "undefined")?$('#input_based').val():''; var pub_id = $('#pub_id').val(); var data ={account_id:pub_id,report_type:report_type,report_period:report_period,input_based:input_based}; if($.trim(report_type) !='' & $.trim(report_period) !='' ) { $('#quads_reports_canvas').html('
'); $.ajax({ url: url, type: 'post', data: JSON.stringify(data), headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', 'X-WP-Nonce': quads_localize_data.nonce, }, success: function (response, status, XHR) { quads_display_report(response); }, error: function (request, status, error) { }, }); }else{ $('#quads_reports_canvas').html('

Please select Report type and Duration

'); } } ); $( document ).on( 'click', '#quads-connect-adsense', function(){ if ( $( this ).hasClass( 'disabled_adsense_link' ) ) return; if ( 'undefined' != typeof window.quadsMapiConnect ) { window.quadsMapiConnect(); } } ); // Unique instance of "quadsMapiConnectClass" var INSTANCE = null; var quadsMapiConnectClass = function( content, options ) { this.options = {}; this.AUTH_WINDOW = null; this.modal = $( '#gadsense-modal' ); this.frame = null; if ( 'undefined' == typeof content || ! content ) { content = 'confirm-code'; } this.setOptions( options ); this.init(); this.show( content ); return this; }; quadsMapiConnectClass.prototype = { constructor: quadsMapiConnectClass, // Set options, for re-use of existing instance for a different purpose. setOptions: function( options ) { var defaultOptions = { autoads: false, onSuccess: false, onError: false, }; if ( 'undefined' == typeof options ) { options = defaultOptions; } this.options = $.extend( {}, defaultOptions, options); }, // Tasks to do after a successful connection. exit: function(){ if ( this.options.onSuccess ) { if ( 'function' == typeof this.options.onSuccess ) { this.options.onSuccess( this ); } } else { window.location.reload(); } }, // Initialization - mostly binding events. init: function(){ var that = this; // Close the modal and hide errors. $( document ).on( 'click', '#gadsense-modal .dashicons-dismiss', function(){ $( '#mapi-code' ).val( '' ); $( '#gadsense-modal, #gadsense-modal-error' ).css( 'display', 'none' ); } ); // Confirm code for account connection. $( document ).on( 'click', '#quads-mapi-confirm-code', function(){ var code = $( '#mapi-code' ).val(); if ( '' == code ) return; $( '.gadsense-overlay' ).css( 'display', 'block' ); $( '#gadsense-modal-error' ).hide(); var data = { action: 'quads_gadsense_mapi_confirm_code', code: code, nonce: quads.nonce, }; $.ajax({ url: ajaxurl, type: 'post', data: data, success:function(response, status, XHR){ if ( null !== that.AUTH_WINDOW ) { that.AUTH_WINDOW.close(); } $( '#mapi-code' ).val( '' ); if ( response.status && true === response.status && response['token_data'] ) { that.getAccountDetails( response['token_data'] ); } else { /** * Connection error handling. */ $( '.gadsense-overlay' ).css( 'display', 'none' ); $( '#mapi-code' ).val( '' ); $( '#mapi-autoads' ).prop( 'checked', false ); $( '#gadsense-modal-content-inner .dashicons-dismiss' ).trigger( 'click' ); if ($.parseJSON(response.response_body).error === 'invalid_grant') { $('#gadsense-modal-error').show(); $('#gadsense-reopen-connect').one('click', function (event) { event.preventDefault(); $('#gadsense-modal-error').hide(); that.show(); }); } } }, error:function(request, status, error){ $( '#gadsense-loading-overlay' ).css( 'display', 'none' ); }, }); } ); // Account selection $( document ).on( 'click', '.gadsense-modal-content-inner[data-content="account-selector"] button', function( ev ) { var adsenseID = $( '#mapi-select-account' ).val(); var tokenData = false; var tokenString = $( '.gadsense-modal-content-inner[data-content="account-selector"] input.token-data' ).val(); var details = false; var detailsString = $( '.gadsense-modal-content-inner[data-content="account-selector"] input.accounts-details' ).val(); try { tokenData = JSON.parse( tokenString ); } catch ( Ex ) { console.error( 'Bad token data : ' + tokenString ); } try { details = JSON.parse( detailsString ); } catch ( Ex ) { console.error( 'Bad account details : ' + detailsString ); } if ( details && JSON ) { $( '.gadsense-overlay' ).css( 'display', 'block' ); var data = { action: 'quads_gadsense_mapi_select_account', nonce: quads.nonce, account : details[ adsenseID ], 'token_data': tokenData, }; if ( $( '#mapi-autoads' ).prop( 'checked' ) ) { data['autoads'] = 1; } $.ajax({ url: ajaxurl, type: 'post', data: data, success:function(response, status, XHR){ if ( response.status && true === response.status ) { INSTANCE.exit(); } else { console.log( response ); } }, error:function(request, status, error){ $( '#gadsense-loading-overlay' ).css( 'display', 'none' ); }, }); } } ); }, show: function( content ) { if ( 'undefined' == typeof content ) { content = 'confirm-code'; } this.switchContent( content ); if ( 'confirm-code' == content ) { // Open Google authentication in a child window. this.modal.css( 'display', 'block' ); var oW = $( window ).width(), oH = $( window ).height(), w = Math.min( oW, oH ) * 0.8, h = Math.min( oW, oH ) * 0.8, l = (oW - w) / 2, t = (oH - h) / 2, args = 'resize=1,titlebar=1,width=' + w + ',height=' + h + ',left=' + l + ',top=' + t; this.AUTH_WINDOW = window.open( quads_adsense.auth_url, 'quadsOAuth2', args ); } }, // Get account info based on a newly obtained token. getAccountDetails: function( tokenData ){ var data = { action: 'quads_gadsense_mapi_get_details', nonce: quads.nonce, }; data['token_data'] = tokenData; if ( $( '#mapi-autoads' ).prop( 'checked' ) ) { data['autoads'] = 1; } $.ajax({ url: ajaxurl, type: 'post', data: data, success:function(response, status, XHR){ if ( response.status && true === response.status ) { if ( response['adsense_id'] ) { INSTANCE.exit(); } else if ( response['token_data'] ) { INSTANCE.switchContent( 'account-selector' ); INSTANCE.frame.find( 'select' ).html( response.html ); INSTANCE.frame.find( 'input.token-data' ).val( JSON.stringify( response['token_data'] ) ); INSTANCE.frame.find( 'input.accounts-details' ).val( JSON.stringify( response['details'] ) ); } else { INSTANCE.switchContent( 'error' ); INSTANCE.frame.find( '.error-message' ).text( JSON.stringify( response ) ); } } else { if ( response['raw']['errors'][0]['message'] ) { INSTANCE.switchContent( 'error' ); INSTANCE.frame.find( '.error-message' ).text( response['raw']['errors'][0]['message'] ); if ( 'undefined' != typeof quads.connectErrorMsg[response['raw']['errors'][0]['reason']] ) { INSTANCE.frame.find( '.error-description' ).html( quads.connectErrorMsg[response['raw']['errors'][0]['reason']] ); } else { INSTANCE.frame.find( '.error-message' ).append( ' (' + response['raw']['errors'][0]['reason'] + ')' ); } } else if ( response['raw']['message'] ) { INSTANCE.frame.find( '.error-message' ).text( response['raw']['errors'][0]['message'] ); } } }, error:function(request, status, error){ $( '#gadsense-loading-overlay' ).css( 'display', 'none' ); }, }); }, // Switch between frames in the modal container. switchContent: function( content ) { if ( this.modal.find( '.gadsense-modal-content-inner[data-content="' + content + '"]' ).length ) { this.modal.find( '.gadsense-modal-content-inner' ).css( 'display', 'none' ); this.frame = this.modal.find( '.gadsense-modal-content-inner[data-content="' + content + '"]' ); this.frame.css( 'display', 'block' ); $( '.gadsense-overlay' ).css( 'display', 'none' ); } }, // Show the modal frame with a given content. // Hide the modal frame hide: function(){ this.switchContent( 'confirm-code' ); this.modal.css( 'display', 'none' ); }, }; window.quadsMapiConnectClass = quadsMapiConnectClass; // Shortcut function. window.quadsMapiConnect = function( content, options ) { if ( 'undefined' == typeof content || ! content ) { content = 'confirm-code'; } if ( 'undefined' == typeof options ) { options = {}; } if ( null === INSTANCE ) { INSTANCE = new quadsMapiConnectClass( content, options ); } else { INSTANCE.show( content, options ); } } $(function(){ // Move the the pop-up outside of any form. $( '#wpwrap' ).append( $( '#gadsense-modal' ) ); }); })(window.jQuery); function quads_display_report(response){ var report_type = document.getElementById('report_type').value; if(report_type == 'top_device_type') { var data_length = response.length; var datasets =[]; var dates_array = []; var desktop_total =0; var tablet_total =0; var mobile_total =0; for (index = 0; index < data_length; ++index) { if(!dates_array.includes(response[index][0]) ) { dates_array.push(response[index][0]); } if (response[index][1] == 'Desktop') { desktop_total += parseFloat(response[index][2]); } else if (response[index][1] == 'Tablet') { tablet_total += parseFloat(response[index][2]); } else if (response[index][1] == 'HighEndMobile') { mobile_total += parseFloat(response[index][2]); } } datasets= [{ data: [ desktop_total.toFixed(2),tablet_total.toFixed(2),mobile_total.toFixed(2) ], backgroundColor: [ 'red', 'green', 'blue', ], label: 'Top Earning Device type' }]; var config = { type: 'pie', data: { datasets: datasets, labels: [ 'Desktop', 'Tablet', 'Mobile', ] }, options: { legend: { position: 'bottom', }, hover: { mode: 'nearest', intersect: true }, responsive: true } }; }else { var data_length = response.length; var dates_array = []; var data = []; for (index = 0; index < data_length; ++index) { var date = new Date((response[index][0])); var month = date.toLocaleString('default', { month: 'short' }); var New_date_formate = date.getDate()+' '+month+' '+date.getUTCFullYear(); if (!dates_array.includes(New_date_formate)) { dates_array.push(New_date_formate); } data.push(response[index][1]); } datasets = [{ label: 'Earnings', backgroundColor: 'red', borderColor: 'red', data: data, fill: false, }]; var config = { type: 'line', data: { labels: dates_array, datasets: datasets }, options: { legend: { position: 'bottom', }, hover: { mode: 'nearest', intersect: true }, responsive: true, tooltips: { mode: 'index', intersect: false, }, plugins: { title: { display: true, text: 'Chart.js Line Chart' }, }, scales: { xAxes: { display: true, scaleLabel: { display: true, labelString: 'Month' } }, yAxes: { display: true, scaleLabel: { display: true, labelString: 'Value' } } } } }; } quadsDrawChart(config); } function quadsDrawChart(config){ if(document.getElementById("quads_canvas")) document.getElementById("quads_canvas").outerHTML = ""; var new_canvas = "" + " "; document.getElementById('quads_reports_canvas').innerHTML = new_canvas; if(window.myPieChart ) { window.myPieChart.update(); } // Get the context of the canvas element we want to select var ctx = document.getElementById('quads_canvas'); // ctx.clearRect(0, 0, canvas.width, canvas.height); window.myPieChart = new Chart(ctx, config); }import countryTranslations from "./countries.js"; import interfaceTranslations from "./interface.js"; export { countryTranslations, interfaceTranslations }; const allTranslations = { ...countryTranslations, ...interfaceTranslations }; export default allTranslations; .redux-container-datetime .redux-datetime-container .input_wrapper, .redux-container-datetime .redux-datetime-container .single_wrapper { display: block; position: relative; margin: 0 4px 0 5px; padding: 0; width: 25%; max-width: 25%; min-width: 70px; float: left; clear: none; height: 57px; -webkit-box-sizing: border-box; box-sizing: border-box; vertical-align: baseline; } .redux-container-datetime .redux-datetime-container .single_wrapper { width: 50% !important; max-width: 50% !important; } .redux-container-datetime .redux-datetime-container label { display: block; position: relative; font-size: 12px !important; text-align: left; color: #999999; margin: 4px 0 2px 0 !important; cursor: default; } .redux-container-datetime .redux-datetime-container .redux-date-picker { width: 100%; } .redux-container-datetime .redux-datetime-container .redux-time-picker { width: 100%; } .ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; } .ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } .ui-timepicker-div dl { text-align: left; } .ui-timepicker-div dl dt { float: left; clear: left; padding: 0 0 0 5px; } .ui-timepicker-div dl dd { margin: 0 10px 10px 40%; } .ui-timepicker-div td { font-size: 90%; } .ui-timepicker-div .ui_tpicker_unit_hide { display: none; } .ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input { background: none; color: inherit; border: none; outline: none; border-bottom: solid 1px #555; width: 95%; } .ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input:focus { border-bottom-color: #aaa; } .ui-timepicker-div.ui-timepicker-oneLine { padding-right: 2px; } .ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time, .ui-timepicker-div.ui-timepicker-oneLine dt { display: none; } .ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time_label { display: block; padding-top: 2px; } .ui-timepicker-div.ui-timepicker-oneLine dl { text-align: right; } .ui-timepicker-div.ui-timepicker-oneLine dl dd, .ui-timepicker-div.ui-timepicker-oneLine dl dd > div { display: inline-block; margin: 0; } .ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_millisec:before, .ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_microsec:before { content: "."; display: inline-block; } .ui-timepicker-div.ui-timepicker-oneLine dd.ui_tpicker_minute:before, .ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_second:before { content: ":"; display: inline-block; } .ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide, .ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide:before { display: none; } .ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } .ui-timepicker-div .ui-slider { position: relative; text-align: left; } .ui-timepicker-div .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; -ms-touch-action: none; touch-action: none; } .ui-timepicker-div .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: 0.7em; display: block; border: 0; background-position: 0 0; } .ui-timepicker-div .ui-slider.ui-state-disabled .ui-slider-handle, .ui-timepicker-div .ui-slider.ui-state-disabled .ui-slider-range { -webkit-filter: inherit; filter: inherit; } .ui-timepicker-div .ui-slider-horizontal { height: 0.8em; } .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle { top: -0.3em; margin-left: -0.6em; } .ui-timepicker-div .ui-slider-horizontal .ui-slider-handle { top: -0.3em; margin-left: -0.6em; } .ui-timepicker-div .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } .ui-timepicker-div .ui-slider-horizontal .ui-slider-range-min { left: 0; } .ui-timepicker-div .ui-slider-horizontal .ui-slider-range-max { right: 0; } .ui-timepicker-div .ui-slider-vertical { width: 0.8em; height: 100px; } .ui-timepicker-div .ui-slider-vertical .ui-slider-handle { left: -0.3em; margin-left: 0; margin-bottom: -0.6em; } .ui-timepicker-div .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } .ui-timepicker-div .ui-slider-vertical .ui-slider-range-min { bottom: 0; } .ui-timepicker-div .ui-slider-vertical .ui-slider-range-max { top: 0; } .ui-timepicker-rtl { direction: rtl; } .ui-timepicker-rtl dl { text-align: right; padding: 0 5px 0 0; } .ui-timepicker-rtl dl dt { float: right; clear: right; } .ui-timepicker-rtl dl dd { margin: 0 40% 10px 10px; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlZHV4LWRhdGV0aW1lLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRVE7QUFBQTtDQUVJO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7QUFHSjtDQUNJO0NBQ0E7O0FBR0o7Q0FDRTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7QUFHRjtDQUNJOztBQUdKO0NBQ0k7OztBQU1aO0NBQ0k7Q0FDQTtDQUNBO0NBQ0E7OztBQUlBO0NBQ0k7O0FBR0o7Q0FDSTs7QUFFQTtDQUNJO0NBQ0E7Q0FDQTs7QUFHSjtDQUNJOztBQUlSO0NBQ0k7O0FBR0o7Q0FDSTs7QUFHSjtDQUNHO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7QUFFQTtDQUNJOztBQUlQO0NBQ0k7O0FBRUE7QUFBQTtDQUVJOztBQUdKO0NBQ0k7Q0FBZ0I7O0FBR3BCO0NBQ0k7O0FBRUE7QUFBQTtDQUVJO0NBQ0E7O0FBR0o7QUFBQTtDQUVJO0NBQ0E7O0FBS1I7QUFBQTtDQUVJO0NBQ0E7O0FBR0o7QUFBQTtDQUVJOztBQUlSO0NBQ0k7O0FBR0E7Q0FDSTtDQUNBOztBQUVBO0NBQ0k7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7O0FBR0o7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7O0FBR0o7Q0FFSTs7QUFJUjtDQUNJOztBQUVBO0NBQ0k7Q0FDQTs7QUFHSjtDQUNJO0NBQ0E7O0FBR0o7Q0FDSTtDQUNBOztBQUdKO0NBQ0k7O0FBR0o7Q0FDSTs7QUFJWjtDQUNJO0NBQ0E7O0FBRUE7Q0FDSTtDQUNBO0NBQ0E7O0FBR0o7Q0FDSTtDQUNBOztBQUdKO0NBQ0k7O0FBR0o7Q0FDSTs7O0FBS1o7Q0FDSTs7QUFFQTtDQUNJO0NBQ0E7O0FBRUE7Q0FDSTtDQUNBOztBQUdKO0NBQ0kiLCJmaWxlIjoicmVkdXgtZGF0ZXRpbWUuY3NzIn0= */ /*# sourceMappingURL=redux-datetime.css.map */ Swiggy – CompareInsight https://compareinsight.com Your Shortcut to the Best Deals. Sun, 16 Aug 2026 10:08:49 +0000 en-US hourly 1 https://compareinsight.com/wp-content/uploads/2025/04/Favicon-100x100.png Swiggy – CompareInsight https://compareinsight.com 32 32 swiggy https://compareinsight.com/swiggy/ https://compareinsight.com/swiggy/#respond Mon, 30 Jun 2025 13:40:25 +0000 https://compareinsight.com/swiggy/
Hair Straightener Ultrasonic Infrared Cold Hair Care Iron Keratin Treatment for Frizzy Hair Recovers the Damaged Hair Flat Irons
Hair Straightener Ultrasonic Infrared Cold Hair Care Iron Keratin Treatment for Frizzy Hair Recovers the Damaged Hair Flat Irons
$82.02
$41.01
Aliexpress
Hair Straightener Ultrasonic Infrared Cold Hair Care Iron Keratin Treatment for Frizzy Hair Recovers the Damaged Hair Flat Irons
Hair Straightener Ultrasonic Infrared Cold Hair Care Iron Keratin Treatment for Frizzy Hair Recovers the Damaged Hair Flat Irons
$87.79
$43.89
Aliexpress
Coconut Bomb Nourishing Hair Mask Nutrition Infusing Repair Dry Damage Frizzy Nourishing Hair Restore Soft Smooth Hair Care 50g
Coconut Bomb Nourishing Hair Mask Nutrition Infusing Repair Dry Damage Frizzy Nourishing Hair Restore Soft Smooth Hair Care 50g
$5.99
Aliexpress
Hoegoa Ginger Shampoo Soap For Scalp Daily Cleanses Frizzy Hair Nourishes And Softens Hair Shine Treatment Soap 2pcs
Hoegoa Ginger Shampoo Soap For Scalp Daily Cleanses Frizzy Hair Nourishes And Softens Hair Shine Treatment Soap 2pcs
$43.41
$19.83
Aliexpress
Dense Hair Essential Oil Promotes Hair Growth Repair Dry Frizzy Damaged Prevent Hair L-oss Soothing Nourishing Hair Care Serum
Dense Hair Essential Oil Promotes Hair Growth Repair Dry Frizzy Damaged Prevent Hair L-oss Soothing Nourishing Hair Care Serum
$12.56
$6.28
Aliexpress
Keratin Curly Hair Elastin Improve Hair Brightness Smooth Frizzy Hair Prevent Dryness Moisturize Shape Fluffy Hair Care Products
Keratin Curly Hair Elastin Improve Hair Brightness Smooth Frizzy Hair Prevent Dryness Moisturize Shape Fluffy Hair Care Products
$8.15
$4.07
Aliexpress
500ml Magical 5 Seconds Hair Mask Keratin Repair Damage Frizzy Hair Soft Smooth Shiny Nutrition Deep Nourishing Hair Root Scalp
500ml Magical 5 Seconds Hair Mask Keratin Repair Damage Frizzy Hair Soft Smooth Shiny Nutrition Deep Nourishing Hair Root Scalp
$12.07
Aliexpress
5Pcs Keratin Curly Hair Elastin Improve Hair Brightness Smooth Frizzy Hair Prevent Dryness Moisturize Shape Fluffy Hair Care
5Pcs Keratin Curly Hair Elastin Improve Hair Brightness Smooth Frizzy Hair Prevent Dryness Moisturize Shape Fluffy Hair Care
$25.11
$12.30
Aliexpress
PURC 5% Keratin Smoothing Treatment Frizzy Removal Brazilian Keratin Curly Hair Care Products Salon Professional 1000ml
PURC 5% Keratin Smoothing Treatment Frizzy Removal Brazilian Keratin Curly Hair Care Products Salon Professional 1000ml
$83.98
$45.18
Aliexpress

]]>
https://compareinsight.com/swiggy/feed/ 0