Advertisement
Guest User

Untitled

a guest
Dec 5th, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let goaltitle;
  2. let goal, fieldData;
  3. let pointsPerTip = 0;
  4. let pointsPerEmber = 1;
  5. let pointsPerSub = 0;
  6. let pointsPerFollow = 0;
  7.    
  8.  
  9. window.addEventListener('onWidgetLoad', function (obj) {
  10.     console.log(obj.detail);
  11.     fieldData = obj.detail.fieldData;
  12.     goal = fieldData["goal"];
  13.     $('#goal-total').text(goal);
  14.     goaltitle = fieldData["goaltitle"];
  15.     $('#title').text(goaltitle);
  16.     pointsPerEmber = fieldData["pointsPerEmber"];
  17.     pointsPerTip = fieldData["pointsPerTip"];
  18.     pointsPerSub = fieldData["pointsPerSub"];
  19.     let data = obj["detail"]["session"]["data"];
  20.     analysePoints(data);
  21. });
  22.  
  23. window.addEventListener('onSessionUpdate', function (obj) {
  24.     let data = obj["detail"]["session"];
  25.     analysePoints(data);
  26. });
  27.  
  28. function analysePoints(data) {
  29.     let embersAmount = data["embers-goal"]["amount"];
  30.     let subsAmount = data["subscriber-goal"]["amount"];
  31.     let tipsAmount = data["tip-goal"]["amount"];
  32.     let followerAmount = data["follower-goal"]["amount"];
  33.     let currentPoints = subsAmount * pointsPerSub;
  34.     currentPoints += tipsAmount * pointsPerTip;
  35.     currentPoints += embersAmount * pointsPerEmber;
  36.     currentPoints += followerAmount * pointsPerFollow;
  37.     $('#goal-current').text(embersAmount);
  38.     updateBar(embersAmount);
  39.  
  40.  
  41. let percentOfTarget = Math.round((embersAmount / goal) * 100);
  42. if (percentOfTarget >= 100) {
  43.     percentOfTarget = 100;
  44.   }
  45. var forEach = function (array, callback, scope) {
  46.     for (var i = 0; i < array.length; i++) {
  47.         callback.call(scope, i, array[i]);
  48.     }
  49. };  
  50. var max = -219.99078369140625;
  51.     forEach(document.querySelectorAll('.progress'), function (index, value) {
  52.     percent = value.getAttribute('data-progress');
  53.         value.querySelector('.fill').setAttribute('style', 'stroke-dashoffset: ' + ((100 - percentOfTarget) / 100) * max);
  54.     });
  55. }
  56. function updateBar(amount) {
  57.     let percentage = amount / goal * 100;
  58.     $("#goalbar").css('height', Math.min(100, percentage) + "%");
  59.     if (percentage >= '100') {
  60.       $(".progress").addClass("reached");
  61.     }
  62. }
  63.  
  64.     window.addEventListener('onEventReceived', function (obj) {
  65.       const listener = obj.detail.event.listener.split("-")[0];
  66.       if (listener === 'embers') {
  67.           $(".fas").addClass("iconani");
  68.       setTimeout(function(){
  69.         $(".fas").removeClass("iconani");
  70.       }, 1800);
  71.     }
  72. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement