1(function ($) { 2 'use strict'; 3 $(document).ready(function () { 4 $('.stm_zooom_countdown').each(function () { 5 let $this = $(this); 6 let ts = $this.data('timer'); 7 ts = parseInt(ts) * 1000; 8 9 // If meeting is already in the past, show zeroes and a notice immediately 10 if (ts < Date.now()) { 11 $this.countdown({ 12 timestamp: ts, 13 callback: function (days, hours, minutes, seconds) { 14 // Already past: keep zeroes (library clamps to 0), show message 15 } 16 }); 17 if ($this.find('.stm-meeting-passed').length === 0) { 18 $this.after('<p class="stm-meeting-passed" style="text-align:center;color:#888;font-size:13px;margin-top:6px;">⚠ ' + (window.eroom_i18n && eroom_i18n.meeting_passed ? eroom_i18n.meeting_passed : 'This meeting has already passed.') + '</p>'); 19 } 20 return; 21 } 22 23 $this.countdown({ 24 timestamp: ts, 25 callback: function (days, hours, minutes, seconds) { 26 let summaryTime = days + hours + minutes + seconds; 27 28 if (days === 0 && hours === 0 && minutes === 0 && seconds === 1) { 29 setTimeout( () => { 30 location.reload(); 31 }, 2000); 32 } else if ( summaryTime === 0 ) { 33 // Meeting just ended â show zeroes and add passed message 34 if ($this.find('.stm-meeting-passed').length === 0) { 35 $this.after('<p class="stm-meeting-passed" style="text-align:center;color:#888;font-size:13px;margin-top:6px;">⚠ ' + (window.eroom_i18n && eroom_i18n.meeting_passed ? eroom_i18n.meeting_passed : 'This meeting has already passed.') + '</p>'); 36 } 37 return; 38 } 39 40 if (days > 99) { 41 days.toString().split('').slice(0, -2).reverse().forEach(function (el, i) { 42 let daysNumHtml = '<span class="position h1 days-number-'+i+'"><span class="digit static h1">'+el+'</span></span>'; 43 if ($this.find('.days-number-'+i).length === 0) { 44 $this.find('.countDays .countdown_label').after(daysNumHtml); 45 } else { 46 $this.find('.days-number-'+i+' span').text(el); 47 } 48 }); 49 } 50 } 51 }); 52 }) 53 }); 54})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.