1/** 2 * Populate pricing feature lists from i18n data without using innerHTML. 3 */ 4(function () { 5 if (typeof applyTranslations !== "function") return; 6 7 const originalApply = applyTranslations; 8 applyTranslations = function () { 9 originalApply(); 10 populatePricingFeatures(); 11 }; 12 13 function fillList(list, items) { 14 list.textContent = ""; 15 items.forEach(function (item) { 16 const li = document.createElement("li"); 17 li.textContent = String(item); 18 list.appendChild(li); 19 }); 20 } 21 22 function populatePricingFeatures() { 23 const freeList = document.getElementById("free-features"); 24 const proList = document.getElementById("pro-features"); 25 if (!freeList || !proList) return; 26 27 const freeFeatures = getNestedValue(translations, "pricing.free.features"); 28 const proFeatures = getNestedValue(translations, "pricing.pro.features"); 29 30 if (Array.isArray(freeFeatures)) { 31 fillList(freeList, freeFeatures); 32 } 33 if (Array.isArray(proFeatures)) { 34 fillList(proList, proFeatures); 35 } 36 } 37})();
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.