1// JavaScript 2import { Controller } from "../stimulus.js"; 3import { InternalAds, InternalBannerAds } from "/js/enums/internalAds.js"; 4 5export default class extends Controller { 6 static targets = ["ad", "bannerAd"]; 7 8 connect() { 9 this._setAds(); 10 this._setBannerAds(); 11 } 12 13 _setAds() { 14 if (!this.adTargets.length) { 15 return; 16 } 17 this.adTargets.forEach((target, index) => { 18 const adIndex = index % InternalAds.length; 19 if (InternalAds[adIndex].image) { 20 target.innerHTML = ` 21 <a href="${InternalAds[adIndex].link}" target="_blank" rel="noopener noreferrer"> 22 <img src="${InternalAds[adIndex].image}" alt="Ad"></img> 23 </a> 24 `; 25 } else if (InternalAds[adIndex].video) { 26 target.innerHTML = ` 27 <a href="${InternalAds[adIndex].link}" target="_blank" rel="noopener noreferrer"> 28 <video autoplay muted loop playsinline src="${InternalAds[adIndex].video}" type="video/mp4"> 29 </video> 30 </a> 31 `; 32 } 33 }); 34 } 35 36 _setBannerAds() { 37 if (!this.bannerAdTargets.length) { 38 return; 39 } 40 const adIndex = Math.floor(Math.random() * 5); 41 this.bannerAdTarget.innerHTML = ` 42 <a href="${InternalBannerAds[adIndex].link}" target="_blank" rel="noopener noreferrer"> 43 <img src="${InternalBannerAds[adIndex].image}" alt="Banner Ad"></img> 44 </a> 45 `; 46 } 47}
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.