1document.addEventListener("DOMContentLoaded", function () { 2 let path = window.location.pathname; 3 let lang = document.documentElement.lang; 4 let translations; 5 if (path.includes("/grow-new-now")) { 6 translations = { 7 eng: ["Fanbase", "Business", "Influence", "Fans"], 8 es: ["Base de fans", "Negocios", "Influencia", "Aficionadas"], 9 de: ["Fanbasis", "Geschäft", "Einfluss","Fans"], 10 pl: ["Baza fanów", "Biznes", "WpÅyw", "Fani"], 11 pt: ["Base de fãs", "Negócios", "Influência", "Fãs"], 12 fr: ["Base de fans", "Affaires", "Influence", "Ventilateurs"], 13 it: ["Base di fan", "Affari", "Influenza", "Tifosi"], 14 ko: ["í¬ì¸µ", "ë¹ì¦ëì¤", "ìí¥ë ¥", "í¬"], 15 }; 16 } else { 17 translations = { 18 eng: ["Growth", "Fans", "Presence", "Audiences"], 19 es: ["Crecimiento", "Aficionadas", "Presencia", "Audiencias"], 20 de: ["Wachstum", "Fans", "Gegenwart", "Publikum"], 21 pl: ["Wzrost", "Fani", "ObecnoÅÄ", "PublicznoÅÄ"], 22 pt: ["Crescimento", "Fãs", "Presença", "Públicas"], 23 fr: ["Croissance", "Ventilateurs", "Présence", "Publics"], 24 it: ["Crescita", "Tifosi", "Presenza", "Pubblico"], 25 ko: ["ì±ì¥", "í¬", "ìì", "ì²ì¤"], 26 }; 27 } 28 29 const words = translations[lang] || translations.eng; 30 const container = document.getElementById("dynamic-text-container"); 31 32 // Create a Swiper container 33 container.classList.add("swiper-container"); 34 35 // Create a wrapper for the swiper slides 36 const swiperWrapper = document.createElement("div"); 37 swiperWrapper.classList.add("swiper-wrapper"); 38 39 // Loop through the words and create slide elements 40 words.forEach((word) => { 41 const slide = document.createElement("div"); 42 slide.classList.add("swiper-slide"); 43 slide.textContent = word; 44 swiperWrapper.appendChild(slide); 45 }); 46 47 // Append the swiper wrapper to the container 48 container.appendChild(swiperWrapper); 49 50 // Initialize the Swiper instance 51 new Swiper(container, { 52 direction: 'vertical', 53 loop: true, 54 autoplay: { delay: 1000 }, 55 speed: 1000, 56 effect: 'slide', 57 on: { 58 init: function () { 59 const initialized = container.querySelector(".swiper-container-initialized"); 60 if (initialized) { 61 initialized.style.display = "flex"; 62 } 63 }, 64 }, 65 }); 66}); 67 68/* ========================================== 69 NON-SWIPER TICKER (for /growth pages only) 70 â sets first value immediately, no flash 71===========================================*/ 72(function () { 73 document.addEventListener('DOMContentLoaded', function () { 74 var path = window.location.pathname; 75 var lang = document.documentElement.lang || 'eng'; 76 77 var translations = path.includes('/growth') ? { 78 eng: ['Fanbase','Business','Influence','Social Media'], 79 es: ['Base de fans','Negocios','Influencia','Redes sociales'], 80 de: ['Fanbasis','Geschäft','Einfluss','Soziale Medien'], 81 pl: ['Baza fanów','Biznes','WpÅyw','Media spoÅecznoÅciowe'], 82 pt: ['Base de fãs','Negócios','Influencia','MÃdias sociais'], 83 fr: ['Base de fans','Affaires','Influence','Médias sociaux'], 84 it: ['Base di fan','Affari','Influenza','Social media'], 85 ko: ['í¬ì¸µ','ë¹ì¦ëì¤','ìí¥ë ¥','ìì 미ëì´'] 86 } : { 87 eng: ['Fanbase','Business','Influence','Fans'], 88 es: ['Base de fans','Negocios','Influencia','Aficionadas'], 89 de: ['Fanbasis','Geschäft','Einfluss','Fans'], 90 pl: ['Baza fanów','Biznes','WpÅyw','Fani'], 91 pt: ['Base de fãs','Negócios','Influência','Fãs'], 92 fr: ['Base de fans','Affaires','Influence','Ventilateurs'], 93 it: ['Base di fan','Affari','Influenza','Tifosi'], 94 ko: ['í¬ì¸µ','ë¹ì¦ëì¤','ìí¥ë ¥','í¬'] 95 }; 96 97 var words = translations[lang] || translations.eng; 98 var index = 0; 99 var el = document.getElementById('dynamic-text'); 100 if (!el) return; 101 102 // avoid initial flash of empty content 103 el.style.visibility = 'hidden'; 104 105 function updateText() { 106 el.textContent = words[index]; 107 index = (index + 1) % words.length; 108 el.style.visibility = 'visible'; 109 } 110 111 updateText(); 112 setInterval(updateText, 2000); 113 114 }); 115})(); 116 117/* ========================================== 118 PRICING SWITCHER INIT (global, monthly first) 119 â monthly: no slashed price 120 â yearly: show ONLY yearly slashed price 121===========================================*/ 122(function () { 123 if (window.__pricingV1InitDone) return; 124 window.__pricingV1InitDone = true; 125 126 document.addEventListener("DOMContentLoaded", function () { 127 var yearlySwitch = document.getElementById("yearlySwitch"); 128 var monthlySwitch = document.getElementById("monthlySwitch"); 129 if (!yearlySwitch || !monthlySwitch) return; // not on this page 130 131 var yearlyPrices = document.querySelectorAll(".yearly-price"); 132 var monthlyPrices = document.querySelectorAll(".monthly-price"); 133 var yearlyPlanbtn = document.querySelectorAll(".yearly-plans"); 134 var monthlyPlanbtn = document.querySelectorAll(".monthly-plans");
135 var billyearlyDesc = document.querySelectorAll(".billedyearlycontent"); 136 var slashedPrice = document.querySelectorAll(".slashed-price"); 137 var jusCenter = document.querySelectorAll(".jus-enter"); 138 139 function hideAllSlashed() { 140 slashedPrice.forEach(function (el) { el.style.display = "none"; }); 141 } 142 143 function showOnlyYearlySlash() { 144 // hide all, then show only the ones that are BOTH yearly-price & slashed-price 145 hideAllSlashed(); 146 document.querySelectorAll(".yearly-price.slashed-price").forEach(function (el) { 147 el.style.display = "block"; 148 }); 149 } 150 151 function showYearly() { 152 yearlySwitch.classList.add("selectedupgrade"); 153 monthlySwitch.classList.remove("selectedupgrade"); 154 155 yearlyPrices.forEach(function (el) { el.style.display = "block"; }); 156 yearlyPlanbtn.forEach(function (el) { el.style.display = "block"; }); 157 158 monthlyPrices.forEach(function (el) { el.style.display = "none"; }); 159 monthlyPlanbtn.forEach(function (el){ el.style.display = "none"; }); 160 161 billyearlyDesc.forEach(function (el){ el.style.display = "block"; }); 162 jusCenter.forEach(function (el) { el.style.justifyContent = "unset"; }); 163 164 // ONLY yearly slashed price visible 165 showOnlyYearlySlash(); 166 } 167 168 function showMonthly() { 169 monthlySwitch.classList.add("selectedupgrade"); 170 yearlySwitch.classList.remove("selectedupgrade"); 171 172 monthlyPrices.forEach(function (el) { el.style.display = "block"; }); 173 monthlyPlanbtn.forEach(function (el){ el.style.display = "block"; }); 174 175 yearlyPlanbtn.forEach(function (el) { el.style.display = "none"; }); 176 yearlyPrices.forEach(function (el) { el.style.display = "none"; }); 177 178 billyearlyDesc.forEach(function (el){ el.style.display = "none"; }); 179 jusCenter.forEach(function (el) { el.style.justifyContent = "center"; }); 180 181 // NO slashed price on monthly 182 hideAllSlashed(); 183 } 184 185 yearlySwitch.addEventListener("click", showYearly); 186 monthlySwitch.addEventListener("click", showMonthly); 187 188 // default to Monthly on load 189 showMonthly(); 190 }); 191})(); 192/* ========================================== 193 Local Currency 194===========================================*/ 195(function () { 196 /** ----------------------- 197 * CONFIG 198 * ----------------------*/ 199 const COOKIE_CODE = "userLocalCurrency"; 200 const COOKIE_SYMBOL = "userCurrencySymbol"; 201 const COOKIE_TTL_DAYS = 30; 202 203 /** ----------------------- 204 * DATA MAPS 205 * ----------------------*/ 206 const currencySymbols = { 207 USD: "$", EUR: "â¬", GBP: "£", PLN: "zÅ", BRL: "R$", AED: "د.Ø¥", MXN: "MX$", 208 ARS: "ARS$", CAD: "CA$", PKR: "â¨", AUD: "A$", COP: "COP$", TRY: "âº", 209 THB: "฿", ILS: "âª", DOP: "RD$", PHP: "â±", SAR: "ï·¼", CLP: "CLP$", 210 IQD: "ع.د", KWD: "د.Ù", EGP: "E£", IDR: "Rp", JPY: "Â¥", TWD: "NT$", 211 NOK: "kr", HUF: "Ft", BDT: "à§³", ZAR: "R", INR: "â¹", BOB: "Bs", 212 CRC: "â¡", RUB: "â½" 213 }; 214 215 const countryToCurrency = { 216 AE: "AED", US: "USD", GB: "GBP", DE: "EUR", FR: "EUR", ES: "EUR", IT: "EUR", 217 PL: "PLN", BR: "BRL", MX: "MXN", AR: "ARS", CA: "CAD", PK: "PKR", AU: "AUD", 218 CO: "COP", TR: "TRY", TH: "THB", IL: "ILS", DO: "DOP", PH: "PHP", SA: "SAR", 219 CL: "CLP", IQ: "IQD", KW: "KWD", EG: "EGP", ID: "IDR", JP: "JPY", TW: "TWD", 220 NO: "NOK", HU: "HUF", BD: "BDT", ZA: "ZAR", IN: "INR", BO: "BOB", CR: "CRC", 221 RU: "RUB" 222 }; 223 224 /** ----------------------- 225 * HELPERS 226 * ----------------------*/ 227 228 // â Encode values to avoid Safari dropping cookies with special chars 229 function setCookie(name, value, days) { 230 const d = new Date(); 231 d.setTime(d.getTime() + days * 86400000); 232 const encoded = encodeURIComponent(value); 233 const secure = location.protocol === "https:" ? "; Secure" : ""; 234 document.cookie = `${name}=${encoded}; expires=${d.toUTCString()}; path=/; SameSite=Lax${secure}`; 235 } 236 237 function getCookie(name) { 238 const cookies = document.cookie.split("; "); 239 for (let c of cookies) { 240 const [k, ...v] = c.split("="); 241 if (k === name) { 242 return decodeURIComponent(v.join("=")); 243 } 244 } 245 return ""; 246 } 247 248 function currencySymbol(code) {
249 return currencySymbols[code] || "$"; 250 } 251 252 function countryToCurrencyOrUSD(countryCode) { 253 const ccy = countryToCurrency[countryCode]; 254 return ccy && currencySymbols[ccy] ? ccy : "USD"; 255 } 256 257 async function getUserCountry() { 258 if (window.CF_IPCOUNTRY) return window.CF_IPCOUNTRY.toUpperCase(); 259 260 try { 261 const res = await fetch("https://ssl.geoplugin.net/json.gp?k=0cb34033ae616ae4"); 262 const data = await res.json(); 263 return (data.geoplugin_countryCode || "US").toUpperCase(); 264 } catch (e) { 265 console.warn("GeoPlugin failed:", e); 266 return "US"; 267 } 268 } 269 270 /** ----------------------- 271 * DETECT + STORE 272 * ----------------------*/ 273 async function detectCurrency() { 274 const urlParams = new URLSearchParams(window.location.search); 275 const override = urlParams.get("currency")?.toUpperCase() || ""; 276 const cookieCode = getCookie(COOKIE_CODE); 277 let target = "USD"; 278 279 if (override && currencySymbols[override]) { 280 target = override; 281 } else if (cookieCode) { 282 target = cookieCode; 283 } else { 284 const country = await getUserCountry(); 285 target = countryToCurrencyOrUSD(country); 286 } 287 288 const symbol = currencySymbol(target); 289 290 // â Encoded cookie values for Safari 291 setCookie(COOKIE_CODE, target, COOKIE_TTL_DAYS);
292 setCookie(COOKIE_SYMBOL, symbol, COOKIE_TTL_DAYS); 293 294 console.log("Detected Currency:", target); 295 console.log("Detected Symbol:", symbol); 296 297 window.userCurrencyData = { 298 code: target, 299 symbol: symbol 300 }; 301 302 return window.userCurrencyData; 303 } 304 305 /** ----------------------- 306 * UPDATE FRONTEND PRICES 307 * ----------------------*/ 308 async function updateFrontendPrices() { 309 const currencyCode = getCookie(COOKIE_CODE) || "USD"; 310 const symbol = getCookie(COOKIE_SYMBOL) || "$"; 311 console.log(currencyCode) 312 console.log(symbol) 313 console.log(currencyCode) 314 console.log(symbol) 315 console.log(currencyCode) 316 console.log(symbol) 317 console.log(currencyCode) 318 console.log(symbol) 319 320 321 322 const pricingData = { 323 "USD": { 324 normal: { 325 basic: { yearly: 29, monthly: 49, dailyYearly: 0.97, dailyMonthly: 1.65, slashedYearly: 59, slashedMonthly: 79 }, 326 pro: { yearly: 41, monthly: 69, dailyYearly: 1.37, dailyMonthly: 2.30, slashedYearly: 83, slashedMonthly: 99 } 327 }, 328 tiktok: { 329 basic: { yearly: 29, monthly: 49, dailyYearly: 0.97, dailyMonthly: 1.65, slashedYearly: 59, slashedMonthly: 79 }, 330 pro: { yearly: 41, monthly: 69, dailyYearly: 1.37, dailyMonthly: 2.30, slashedYearly: 83, slashedMonthly: 99 } 331 }, 332 addons: { 333 likes: {monthly: 24, yearly: 14}, 334 stories:{monthly: 19, yearly: 11} 335 } 336 }, 337 "AUD": { 338 normal: { 339 basic: { yearly: 44, monthly: 74, dailyYearly: 1.51, dailyMonthly: 2.57, slashedYearly: 92, slashedMonthly: 123.3 }, 340 pro: { yearly: 62, monthly: 105, dailyYearly: 2.14, dailyMonthly: 3.59, slashedYearly: 130, slashedMonthly: 155 } 341 }, 342 tiktok: { 343 basic: { yearly: 44, monthly: 74, dailyYearly: 1.51, dailyMonthly: 2.57, slashedYearly: 92, slashedMonthly: 123.3 }, 344 pro: { yearly: 62, monthly: 105, dailyYearly: 2.14, dailyMonthly: 3.59, slashedYearly: 130, slashedMonthly: 155 } 345 }, 346 addons: { 347 likes: {monthly: 37, yearly: 21}, 348 stories:{monthly: 29, yearly: 17} 349 } 350 }, 351 "ARS": { 352 normal: { 353 basic: { yearly: 24922, monthly: 42513, dailyYearly: 831, dailyMonthly: 1417, slashedYearly: 51309, slashedMonthly: 0 }, 354 pro: { yearly: 35184, monthly: 60105, dailyYearly: 1173, dailyMonthly: 2003, slashedYearly: 73299, slashedMonthly: 0 } 355 }, 356 tiktok: { 357 basic: { yearly: 41462, monthly: 70056, dailyYearly: 831.00, dailyMonthly: 1417, slashedYearly: 64410, slashedMonthly: 0 }, 358 pro: { yearly: 58618, monthly: 98650, dailyYearly: 1173.00, dailyMonthly: 2003, slashedYearly: 90540, slashedMonthly: 0 } 359 }, 360 addons: { 361 likes: {monthly: 20524, yearly: 10262}, 362 stories:{monthly: 14660, yearly: 7330} 363 } 364 }, 365 "BRL": { 366 normal: { 367 basic: { yearly: 122, monthly: 207, dailyYearly: 5.00, dailyMonthly: 7.00, slashedYearly: 250, slashedMonthly: 0.00 }, 368 pro: { yearly: 176, monthly: 293, dailyYearly: 6.00, dailyMonthly: 10.00, slashedYearly: 356, slashedMonthly: 0.00 } 369 }, 370 tiktok: { 371 basic: { yearly: 155, monthly: 262, dailyYearly: 5.00, dailyMonthly: 7.00, slashedYearly: 360, slashedMonthly: 0.00 }, 372 pro: { yearly: 220, monthly: 370, dailyYearly: 6.00, dailyMonthly: 10.00, slashedYearly: 480, slashedMonthly: 0.00 } 373 }, 374 addons: { 375 likes: {monthly: 101, yearly: 53}, 376 stories:{monthly: 74, yearly: 37} 377 } 378 }, 379 "CLP": { 380 normal: { 381 basic: { yearly: 16177, monthly: 27596, dailyYearly: 539.00, dailyMonthly: 920.00, slashedYearly: 33305.00, slashedMonthly: 0.00 }, 382 pro: { yearly: 22838, monthly: 39014, dailyYearly: 761.00, dailyMonthly: 1300.00, slashedYearly: 47579.00, slashedMonthly: 0.00 } 383 }, 384 tiktok: { 385 basic: { yearly: 27823, monthly: 47011, dailyYearly: 539.00, dailyMonthly: 920.00, slashedYearly: 51270.00, slashedMonthly: 67080.00 }, 386 pro: { yearly: 39335, monthly: 66199, dailyYearly: 761.00, dailyMonthly: 1300.00, slashedYearly: 72090.00, slashedMonthly: 84150.00 } 387 }, 388 addons: {
389 likes: {monthly: 13322, yearly: 6661}, 390 stories:{monthly: 9516, yearly: 4758} 391 } 392 }, 393 "COP": { 394 normal: { 395 basic: { yearly: 66437, monthly: 113334, dailyYearly: 2214.00, dailyMonthly: 3778.00, slashedYearly: 136782.00, slashedMonthly: 332700.00 }, 396 pro: { yearly: 93794, monthly: 160231, dailyYearly: 3126.00, dailyMonthly: 5341.00, slashedYearly: 195404.00, slashedMonthly: 417330.00 } 397 }, 398 tiktok: { 399 basic: { yearly: 112255, monthly: 189672, dailyYearly: 2214.00, dailyMonthly: 3778.00, slashedYearly: 248940.00, slashedMonthly: 332700.00 }, 400 pro: { yearly: 158705, monthly: 267089, dailyYearly: 3126.00, dailyMonthly: 5341.00, slashedYearly: 350010.00, slashedMonthly: 417330.00 } 401 }, 402 addons: { 403 likes: {monthly: 54713, yearly: 27356}, 404 stories:{monthly: 39081, yearly: 19540} 405 } 406 }, 407 "EGP": { 408 normal: { 409 basic: { yearly: 819, monthly: 1397, dailyYearly: 27.00, dailyMonthly: 46.00, slashedYearly: 1686, slashedMonthly: 0 }, 410 pro: { yearly: 1156, monthly: 1975, dailyYearly: 38.00, dailyMonthly: 66.00, slashedYearly: 2409, slashedMonthly: 0 } 411 }, 412 tiktok: { 413 basic: { yearly: 1380, monthly: 2332, dailyYearly: 27.00, dailyMonthly: 46.00, slashedYearly: 2820, slashedMonthly: 0 }, 414 pro: { yearly: 1951, monthly: 3284, dailyYearly: 38.00, dailyMonthly: 66.00, slashedYearly: 4020, slashedMonthly: 3060 } 415 }, 416 addons: { 417 likes: {monthly: 674, yearly: 337}, 418 stories:{monthly: 482, yearly: 241} 419 } 420 }, 421 "EUR": { 422 normal: { 423 basic: { yearly: 25, monthly: 42, dailyYearly: 0.91, dailyMonthly: 1.55, slashedYearly: 56, slashedMonthly: 0 }, 424 pro: { yearly: 35, monthly: 59, dailyYearly: 1.29, dailyMonthly: 2.16, slashedYearly: 78, slashedMonthly: 0 } 425 }, 426 tiktok: { 427 basic: { yearly: 25, monthly: 42, dailyYearly: 0.91, dailyMonthly: 1.55, slashedYearly: 56, slashedMonthly: 71 }, 428 pro: { yearly: 35, monthly: 59, dailyYearly: 1.29, dailyMonthly: 2.16, slashedYearly: 78, slashedMonthly: 88.5 } 429 }, 430 addons: { 431 likes: {monthly: 21, yearly: 12}, 432 stories:{monthly: 16, yearly: 9} 433 } 434 }, 435 "GBP": { 436 normal: { 437 basic: { yearly: 22, monthly: 37, dailyYearly: 0.76, dailyMonthly: 1.29, slashedYearly: 46, slashedMonthly: 0 }, 438 pro: { yearly: 31, monthly: 51, dailyYearly: 1.07, dailyMonthly: 1.79, slashedYearly: 65, slashedMonthly: 0 } 439 }, 440 tiktok: { 441 basic: { yearly: 22, monthly: 37, dailyYearly: 0.76, dailyMonthly: 1.29, slashedYearly: 46, slashedMonthly: 62.4 }, 442 pro: { yearly: 31, monthly: 51, dailyYearly: 1.07, dailyMonthly: 1.79, slashedYearly: 65, slashedMonthly: 79 } 443 }, 444 addons: { 445 likes: {monthly: 18, yearly: 10}, 446 stories:{monthly: 14, yearly: 8} 447 } 448 }, 449 "IDR": { 450 normal: { 451 basic: { yearly: 278460, monthly: 475020, dailyYearly: 9282.00, dailyMonthly: 15834.00, slashedYearly: 573300, slashedMonthly: 0 }, 452 pro: { yearly: 393120, monthly: 671580, dailyYearly: 13104.00, dailyMonthly: 22386.00, slashedYearly: 819000, slashedMonthly: 0 } 453 }, 454 tiktok: { 455 basic: { yearly: 480875, monthly: 812513, dailyYearly: 9282.00, dailyMonthly: 15834.00, slashedYearly: 951750, slashedMonthly: 1230840 }, 456 pro: { yearly: 679858, monthly: 1144151, dailyYearly: 13104.00, dailyMonthly: 22386.00, slashedYearly: 1345500, slashedMonthly: 0 } 457 }, 458 addons: { 459 likes: {monthly: 397608, yearly: 231938}, 460 stories:{monthly: 314773, yearly: 182237} 461 } 462 }, 463 "KWD": { 464 normal: { 465 basic: { yearly: 9, monthly: 15, dailyYearly: 0.30, dailyMonthly: 0.51, slashedYearly: 18, slashedMonthly: 0 }, 466 pro: { yearly: 12, monthly: 21, dailyYearly: 0.43, dailyMonthly: 0.71, slashedYearly: 25.8, slashedMonthly: 0 } 467 }, 468 tiktok: { 469 basic: { yearly: 9, monthly: 15, dailyYearly: 0.30, dailyMonthly: 0.51, slashedYearly: 18, slashedMonthly: 0 }, 470 pro: { yearly: 12, monthly: 21, dailyYearly: 0.43, dailyMonthly: 0.71, slashedYearly: 25.8, slashedMonthly: 0 } 471 }, 472 addons: {
473 likes: {monthly: 7, yearly: 4}, 474 stories:{monthly: 6, yearly: 3} 475 } 476 }, 477 "AED": { 478 normal: { 479 basic: { yearly: 106, monthly: 180, dailyYearly: 4.00, dailyMonthly: 6.00, slashedYearly: 240, slashedMonthly: 0 }, 480 pro: { yearly: 150, monthly: 253, dailyYearly: 5.00, dailyMonthly: 9.00, slashedYearly: 300, slashedMonthly: 0 } 481 }, 482 tiktok: { 483 basic: { yearly: 106, monthly: 180, dailyYearly: 4.00, dailyMonthly: 6.00, slashedYearly: 240, slashedMonthly: 0 }, 484 pro: { yearly: 150, monthly: 253, dailyYearly: 5.00, dailyMonthly: 9.00, slashedYearly: 300, slashedMonthly: 0 } 485 }, 486 addons: { 487 likes: {monthly: 88, yearly: 51}, 488 stories:{monthly: 70, yearly: 40} 489 } 490 }, 491 "CAD": { 492 normal: { 493 basic: { yearly: 39, monthly: 68, dailyYearly: 1.32, dailyMonthly: 2.24, slashedYearly: 80, slashedMonthly: 71 }, 494 pro: { yearly: 57, monthly: 96, dailyYearly: 1.86, dailyMonthly: 3.13, slashedYearly: 113, slashedMonthly: 144 } 495 }, 496 tiktok: { 497 basic: { yearly: 39, monthly: 68, dailyYearly: 1.32, dailyMonthly: 2.24, slashedYearly: 80, slashedMonthly: 71 }, 498 pro: { yearly: 57, monthly: 96, dailyYearly: 1.86, dailyMonthly: 3.13, slashedYearly: 113, slashedMonthly: 144 } 499 }, 500 addons: { 501 likes: {monthly: 35, yearly: 20}, 502 stories:{monthly: 26, yearly: 16} 503 } 504 }, 505 "DOP": { 506 normal: { 507 basic: { yearly: 1524, monthly: 2477, dailyYearly: 60.00, dailyMonthly: 102.00, slashedYearly: 3110.00, slashedMonthly: 0 }, 508 pro: { yearly: 2096, monthly: 3493, dailyYearly: 85.00, dailyMonthly: 142.00, slashedYearly: 4260.00, slashedMonthly: 0 } 509 }, 510 tiktok: { 511 basic: { yearly: 1816, monthly: 3069, dailyYearly: 60.00, dailyMonthly: 102.00, slashedYearly: 3600.00, slashedMonthly: 155.00 }, 512 pro: { yearly: 2568, monthly: 4321, dailyYearly: 85.00, dailyMonthly: 142.00, slashedYearly: 5100.00, slashedMonthly: 194.00 } 513 }, 514 addons: { 515 likes: {monthly: 1503, yearly: 877}, 516 stories:{monthly: 1190, yearly: 689} 517 } 518 }, 519 "ILS": { 520 normal: { 521 basic: { yearly: 77, monthly: 131, dailyYearly: 2.00, dailyMonthly: 4.00, slashedYearly: 157, slashedMonthly: 300.00 }, 522 pro: { yearly: 111, monthly: 184, dailyYearly: 4.00, dailyMonthly: 6.00, slashedYearly: 224, slashedMonthly: 360.00 } 523 }, 524 tiktok: { 525 basic: { yearly: 95, monthly: 161, dailyYearly: 4.00, dailyMonthly: 6.00, slashedYearly: 240.00, slashedMonthly: 300.00 }, 526 pro: { yearly: 134, monthly: 226, dailyYearly: 6.00, dailyMonthly: 9.00, slashedYearly: 360.00, slashedMonthly: 360.00 } 527 }, 528 addons: { 529 likes: {monthly: 64, yearly: 34}, 530 stories:{monthly: 47, yearly: 23} 531 } 532 }, 533 "IQD": { 534 normal: { 535 basic: { yearly: 38026, monthly: 64252, dailyYearly: 1414.00, dailyMonthly: 2406.00, slashedYearly: 86160.00, slashedMonthly: 0 }, 536 pro: { yearly: 53762, monthly: 90477, dailyYearly: 1997.00, dailyMonthly: 3353.00, slashedYearly: 121170.00, slashedMonthly: 0 } 537 }, 538 tiktok: { 539 basic: { yearly: 38026, monthly: 64252, dailyYearly: 1414.00, dailyMonthly: 2406.00, slashedYearly: 86160.00, slashedMonthly: 3839.00 }, 540 pro: { yearly: 53762, monthly: 90477, dailyYearly: 1997.00, dailyMonthly: 3353.00, slashedYearly: 121170.00, slashedMonthly: 4818.00 } 541 }, 542 addons: { 543 likes: {monthly: 31470, yearly: 18358}, 544 stories:{monthly: 24914, yearly: 14424} 545 } 546 }, 547 "MXN": { 548 normal: { 549 basic: { yearly: 312, monthly: 532, dailyYearly: 10.00, dailyMonthly: 18.00, slashedYearly: 643.00, slashedMonthly: 0 }, 550 pro: { yearly: 441, monthly: 753, dailyYearly: 15.00, dailyMonthly: 25.00, slashedYearly: 918.00, slashedMonthly: 0 } 551 }, 552 tiktok: { 553 basic: { yearly: 534, monthly: 902, dailyYearly: 10.00, dailyMonthly: 18.00, slashedYearly: 1200.00, slashedMonthly: 1590.00 }, 554 pro: { yearly: 755, monthly: 1270, dailyYearly: 15.00, dailyMonthly: 25.00, slashedYearly: 1680.00, slashedMonthly: 1980.00 } 555 }, 556 addons: {
557 likes: {monthly: 257, yearly: 129}, 558 stories:{monthly: 184, yearly: 92} 559 } 560 }, 561 "PHP": { 562 normal: { 563 basic: { yearly: 972, monthly: 1658, dailyYearly: 32.00, dailyMonthly: 55.00, slashedYearly: 2001.00, slashedMonthly: 0 }, 564 pro: { yearly: 1372, monthly: 2344, dailyYearly: 46.00, dailyMonthly: 79.00, slashedYearly: 2859.00, slashedMonthly: 0 } 565 }, 566 tiktok: { 567 basic: { yearly: 1683, monthly: 2844, dailyYearly: 32.00, dailyMonthly: 55.00, slashedYearly: 3300.00, slashedMonthly: 0 }, 568 pro: { yearly: 2380, monthly: 4005, dailyYearly: 46.00, dailyMonthly: 79.00, slashedYearly: 4650.00, slashedMonthly: 0 } 569 }, 570 addons: { 571 likes: {monthly: 801, yearly: 400}, 572 stories:{monthly: 572, yearly: 286} 573 } 574 }, 575 "PKR": { 576 normal: { 577 basic: { yearly: 4785, monthly: 8162, dailyYearly: 159.00, dailyMonthly: 272.00, slashedYearly: 9851, slashedMonthly: 0 }, 578 pro: { yearly: 6755, monthly: 11539, dailyYearly: 225.00, dailyMonthly: 385.00, slashedYearly: 14073.00, slashedMonthly: 0 } 579 }, 580 tiktok: { 581 basic: { yearly: 8225, monthly: 13898, dailyYearly: 159.00, dailyMonthly: 272.00, slashedYearly: 16440, slashedMonthly: 22170.00 }, 582 pro: { yearly: 11629, monthly: 19570, dailyYearly: 225.00, dailyMonthly: 385.00, slashedYearly: 23130.00, slashedMonthly: 27870.00 } 583 }, 584 addons: { 585 likes: {monthly: 3940, yearly: 1970}, 586 stories:{monthly: 2815, yearly: 1407} 587 } 588 }, 589 "PLN": { 590 normal: { 591 basic: { yearly: 106, monthly: 179, dailyYearly: 4.00, dailyMonthly: 7.00, slashedYearly: 240, slashedMonthly: 0 }, 592 pro: { yearly: 150, monthly: 252, dailyYearly: 6.00, dailyMonthly: 10.00, slashedYearly: 360, slashedMonthly: 0 } 593 }, 594 tiktok: { 595 basic: { yearly: 106, monthly: 179, dailyYearly: 4.00, dailyMonthly: 7.00, slashedYearly: 240, slashedMonthly: 330 }, 596 pro: { yearly: 150, monthly: 252, dailyYearly: 6.00, dailyMonthly: 10.00, slashedYearly: 360, slashedMonthly: 420 } 597 }, 598 addons: { 599 likes: {monthly: 88, yearly: 51}, 600 stories:{monthly: 69, yearly: 40} 601 } 602 }, 603 "SAR": { 604 normal: { 605 basic: { yearly: 109, monthly: 184, dailyYearly: 4.00, dailyMonthly: 6.00, slashedYearly: 240.00, slashedMonthly: 0 }, 606 pro: { yearly: 154, monthly: 259, dailyYearly: 6.00, dailyMonthly: 9.00, slashedYearly: 360.00, slashedMonthly: 0 } 607 }, 608 tiktok: { 609 basic: { yearly: 109, monthly: 184, dailyYearly: 4.00, dailyMonthly: 6.00, slashedYearly: 240.00, slashedMonthly: 300.00 }, 610 pro: { yearly: 154, monthly: 259, dailyYearly: 6.00, dailyMonthly: 9.00, slashedYearly: 360.00, slashedMonthly: 360.00 } 611 }, 612 addons: { 613 likes: {monthly: 90, yearly: 53}, 614 stories:{monthly: 71, yearly: 41} 615 } 616 }, 617 "THB": { 618 normal: { 619 basic: { yearly: 942, monthly: 1591, dailyYearly: 32.00, dailyMonthly: 55.00, slashedYearly: 1920.00, slashedMonthly: 0 }, 620 pro: { yearly: 1331, monthly: 2240, dailyYearly: 46.00, dailyMonthly: 76.00, slashedYearly: 2760.00, slashedMonthly: 0 } 621 }, 622 tiktok: { 623 basic: { yearly: 942, monthly: 1591, dailyYearly: 32.00, dailyMonthly: 55.00, slashedYearly: 1920.00, slashedMonthly: 2670.00 }, 624 pro: { yearly: 1331, monthly: 2240, dailyYearly: 46.00, dailyMonthly: 76.00, slashedYearly: 2760.00, slashedMonthly: 0 } 625 }, 626 addons: { 627 likes: {monthly: 779, yearly: 455}, 628 stories:{monthly: 617, yearly: 357} 629 } 630 }, 631 "TRY": { 632 normal: { 633 basic: { yearly: 702, monthly: 1198, dailyYearly: 23.00, dailyMonthly: 40.00, slashedYearly: 1446.00, slashedMonthly: 0 }, 634 pro: { yearly: 992, monthly: 1694, dailyYearly: 33.00, dailyMonthly: 56.00, slashedYearly: 2066.00, slashedMonthly: 0 } 635 }, 636 tiktok: { 637 basic: { yearly: 1210, monthly: 2044, dailyYearly: 23.00, dailyMonthly: 40.00, slashedYearly: 2280.00, slashedMonthly: 3000.00 }, 638 pro: { yearly: 1710, monthly: 2878, dailyYearly: 33.00, dailyMonthly: 56.00, slashedYearly: 3180.00, slashedMonthly: 4080.00 } 639 }, 640 addons: {
641 likes: {monthly: 578, yearly: 289}, 642 stories:{monthly: 413, yearly: 207} 643 } 644 }, 645 "INR": { 646 normal:{ 647 basic: { yearly: 1498, monthly: 2556, dailyYearly: 50.00, dailyMonthly: 85.00, slashedYearly: 3085.00, slashedMonthly: 0 }, 648 pro: { yearly: 2115, monthly: 3613, dailyYearly: 70.00, dailyMonthly: 120.00, slashedYearly: 4407.00, slashedMonthly: 0 } 649 }, 650 tiktok:{ 651 basic: { yearly: 2572, monthly: 4346, dailyYearly: 50.00, dailyMonthly: 85.00, slashedYearly: 5239.00, slashedMonthly: 3660.00 }, 652 pro: { yearly: 3636, monthly: 6119, dailyYearly: 70.00, dailyMonthly: 120.00, slashedYearly: 7370.00, slashedMonthly: 5220.00 } 653 }, 654 addons: { 655 likes: {monthly: 1234, yearly: 617}, 656 stories:{monthly: 881, yearly: 441} 657 } 658 659 }, 660 "BDT": { 661 normal:{ 662 basic: { yearly: 2069, monthly: 3529, dailyYearly: 69.00, dailyMonthly: 118.00, slashedYearly: 4259.00, slashedMonthly: 0 }, 663 pro: { yearly: 2920, monthly: 4989, dailyYearly: 97.00, dailyMonthly: 166.00, slashedYearly: 6084.00, slashedMonthly: 0 } 664 }, 665 tiktok:{ 666 basic: { yearly: 3532, monthly: 5968, dailyYearly: 69.00, dailyMonthly: 118.00, slashedYearly: 7188.00, slashedMonthly: 0 }, 667 pro: { yearly: 4993, monthly: 8404, dailyYearly: 97.00, dailyMonthly: 166.00, slashedYearly: 10112.00, slashedMonthly: 0 } 668 }, 669 addons: { 670 likes: {monthly: 1704, yearly: 852}, 671 stories:{monthly: 1217, yearly: 608} 672 } 673 }, 674 "BOB": { 675 normal: { 676 basic: { yearly: 118, monthly: 201, dailyYearly: 4.00, dailyMonthly: 7.00, slashedYearly: 242.00, slashedMonthly: 0 }, 677 pro: { yearly: 166, monthly: 284, dailyYearly: 5.00, dailyMonthly: 9.00, slashedYearly: 346.00, slashedMonthly: 0 } 678 }, 679 tiktok: { 680 basic: { yearly: 201, monthly: 339, dailyYearly: 4.00, dailyMonthly: 7.00, slashedYearly: 408.00, slashedMonthly: 0 }, 681 pro: { yearly: 284, monthly: 478, dailyYearly: 5.00, dailyMonthly: 9.00, slashedYearly: 574.00, slashedMonthly: 0 } 682 }, 683 addons: { 684 likes: {monthly: 97, yearly: 48}, 685 stories:{monthly: 69, yearly: 35} 686 } 687 }, 688 "CHF":{ 689 normal: { 690 basic: { yearly: 23, monthly: 39, dailyYearly: 1.00, dailyMonthly: 1.60, slashedYearly: 60, slashedMonthly: 0 }, 691 pro: { yearly: 33, monthly: 56, dailyYearly: 1.40, dailyMonthly: 2.10, slashedYearly: 82, slashedMonthly: 0 } 692 }, 693 tiktok: { 694 basic: { yearly: 23, monthly: 39, dailyYearly: 1.00, dailyMonthly: 1.60, slashedYearly: 60, slashedMonthly: 75 }, 695 pro: { yearly: 33, monthly: 56, dailyYearly: 1.40, dailyMonthly: 2.10, slashedYearly: 82, slashedMonthly: 93 } 696 }, 697 addons: { 698 likes: {monthly: 20, yearly: 10}, 699 stories:{monthly: 14, yearly: 7} 700 } 701 }, 702 "CRC": { 703 normal: { 704 basic: { yearly: 8560, monthly: 14602, dailyYearly: 285.00, dailyMonthly: 487.00, slashedYearly: 17624.00, slashedMonthly: 0 }, 705 pro: { yearly: 12085, monthly: 20645, dailyYearly: 403.00, dailyMonthly: 688.00, slashedYearly: 25177.00, slashedMonthly: 0 } 706 }, 707 tiktok:{ 708 basic: { yearly: 14581, monthly: 24637, dailyYearly: 285.00, dailyMonthly: 487.00, slashedYearly: 29694.00, slashedMonthly: 0 }, 709 pro: { yearly: 20615, monthly: 34693, dailyYearly: 403.00, dailyMonthly: 688.00, slashedYearly: 41773.00, slashedMonthly: 0 } 710 }, 711 addons: { 712 likes: {monthly: 7049, yearly: 3525}, 713 stories:{monthly: 5035, yearly: 2518} 714 } 715 }, 716 "CZK":{ 717 normal: { 718 basic: { yearly: 650, monthly: 1080, dailyYearly: 22.00, dailyMonthly: 36.00, slashedYearly: 1280, slashedMonthly: 0 }, 719 pro: { yearly: 915, monthly: 1520, dailyYearly: 30.00, dailyMonthly: 49.00, slashedYearly: 1740, slashedMonthly: 0 } 720 }, 721 tiktok:{ 722 basic: { yearly: 650, monthly: 1080, dailyYearly: 22.00, dailyMonthly: 36.00, slashedYearly: 1280, slashedMonthly: 1600 }, 723 pro: { yearly: 915, monthly: 1520, dailyYearly: 30.00, dailyMonthly: 49.00, slashedYearly: 1740, slashedMonthly: 2100 } 724 }, 725 addons: {
726 likes: {monthly: 529, yearly: 258}, 727 stories:{monthly: 380, yearly: 183} 728 } 729 }, 730 "HUF": { 731 normal: { 732 basic: { yearly: 7612, monthly: 12907, dailyYearly: 254.00, dailyMonthly: 430.00, slashedYearly: 15554, slashedMonthly: 0 }, 733 pro: { yearly: 10921, monthly: 18202, dailyYearly: 364.00, dailyMonthly: 607.00, slashedYearly: 22173, slashedMonthly: 0 } 734 }, 735 tiktok:{ 736 basic: { yearly: 9988, monthly: 16538, dailyYearly: 254.00, dailyMonthly: 430.00, slashedYearly: 20002, slashedMonthly: 22000 }, 737 pro: { yearly: 13838, monthly: 23288, dailyYearly: 364.00, dailyMonthly: 607.00, slashedYearly: 28139, slashedMonthly: 30000 } 738 }, 739 addons: { 740 likes: {monthly: 6288, yearly: 3309}, 741 stories:{monthly: 4633, yearly: 2317} 742 } 743 }, 744 "JPY": { 745 normal: { 746 basic: { yearly: 3388, monthly: 5745, dailyYearly: 113.00, dailyMonthly: 191.00, slashedYearly: 6924, slashedMonthly: 0 }, 747 pro: { yearly: 4861, monthly: 8102, dailyYearly: 162.00, dailyMonthly: 270.00, slashedYearly: 9870, slashedMonthly: 0 } 748 }, 749 tiktok:{ 750 basic: { yearly: 4429, monthly: 7484, dailyYearly: 113.00, dailyMonthly: 191.00, slashedYearly: 8971, slashedMonthly: 0 }, 751 pro: { yearly: 6262, monthly: 10539, dailyYearly: 162.00, dailyMonthly: 270.00, slashedYearly: 12620, slashedMonthly: 0 } 752 }, 753 addons: { 754 likes: {monthly: 2799, yearly: 1473}, 755 stories:{monthly: 2062, yearly: 1031} 756 } 757 }, 758 "NOK": { 759 normal: { 760 basic: { yearly: 226, monthly: 383, dailyYearly: 7.00, dailyMonthly: 13.00, slashedYearly: 462, slashedMonthly: 0 }, 761 pro: { yearly: 324, monthly: 541, dailyYearly: 11.00, dailyMonthly: 18.00, slashedYearly: 659, slashedMonthly: 0 } 762 }, 763 tiktok:{ 764 basic: { yearly: 393, monthly: 495, dailyYearly: 7.00, dailyMonthly: 13.00, slashedYearly: 601, slashedMonthly: 0 }, 765 pro: { yearly: 414, monthly: 697, dailyYearly: 11.00, dailyMonthly: 18.00, slashedYearly: 846, slashedMonthly: 0 } 766 }, 767 addons: { 768 likes: {monthly: 187, yearly: 98}, 769 stories:{monthly: 138, yearly: 69} 770 } 771 }, 772 "RUB": { 773 normal: { 774 basic: { yearly: 1909, monthly: 3237, dailyYearly: 64.00, dailyMonthly: 108.00, slashedYearly: 3901.00, slashedMonthly: 0 }, 775 pro: { yearly: 2739, monthly: 4565, dailyYearly: 91.00, dailyMonthly: 152.00, slashedYearly: 5561.00, slashedMonthly: 0 } 776 }, 777 tiktok:{ 778 basic: { yearly: 2353, monthly: 3975, dailyYearly: 64.00, dailyMonthly: 108.00, slashedYearly: 4696.00, slashedMonthly: 0 }, 779 pro: { yearly: 3326, monthly: 5598, dailyYearly: 91.00, dailyMonthly: 152.00, slashedYearly: 6606.00, slashedMonthly: 0 } 780 }, 781 addons: { 782 likes: {monthly: 1577, yearly: 830}, 783 stories:{monthly: 1162, yearly: 581} 784 } 785 }, 786 "TWD": { 787 normal: { 788 basic: { yearly: 693, monthly: 1175, dailyYearly: 23.00, dailyMonthly: 39.00, slashedYearly: 1416, slashedMonthly: 0 }, 789 pro: { yearly: 994, monthly: 1657, dailyYearly: 33.00, dailyMonthly: 55.00, slashedYearly: 2018, slashedMonthly: 0 } 790 }, 791 tiktok:{ 792 basic: { yearly: 887, monthly: 1498, dailyYearly: 23.00, dailyMonthly: 39.00, slashedYearly: 1815, slashedMonthly: 0 }, 793 pro: { yearly: 1254, monthly: 2110, dailyYearly: 33.00, dailyMonthly: 55.00, slashedYearly: 2553, slashedMonthly: 0 } 794 }, 795 addons: { 796 likes: {monthly: 572, yearly: 301}, 797 stories:{monthly: 422, yearly: 211} 798 } 799 }, 800 "ZAR": { 801 normal: { 802 basic: { yearly: 295, monthly: 503, dailyYearly: 10.00, dailyMonthly: 17.00, slashedYearly: 608.00, slashedMonthly: 0 }, 803 pro: { yearly: 417, monthly: 712, dailyYearly: 14.00, dailyMonthly: 24.00, slashedYearly: 868.00, slashedMonthly: 0 } 804 }, 805 tiktok:{ 806 basic: { yearly: 499, monthly: 843, dailyYearly: 10.00, dailyMonthly: 17.00, slashedYearly: 1029.00, slashedMonthly: 0 }, 807 pro: { yearly: 705, monthly: 1187, dailyYearly: 14.00, dailyMonthly: 24.00, slashedYearly: 1447.00, slashedMonthly: 0 } 808 }, 809 addons: {
810 likes: {monthly: 243, yearly: 122}, 811 stories:{monthly: 174, yearly: 87} 812 } 813 }, 814 815 }; 816 const oneDollarPrices = { 817 "USD": 1.00, 818 "EUR": 1.00, 819 "GBP": 1.00, 820 "PLN": 5.00, 821 "BRL": 6.00, 822 "AED": 5.00, 823 "MXN": 19.00, 824 "ARS": 1400.00, 825 "CAD": 1.50, 826 "PKR": 280.00, 827 "AUD": 0.75, 828 "COP": 4500.00, 829 "TRY": 45.00, 830 "THB": 35.00, 831 "ILS": 5.00, 832 "DOP": 65.00, 833 "PHP": 60.00, 834 "SAR": 5.00, 835 "CLP": 999.00, 836 "IQD": 1400.00, 837 "KWD": 0.35, 838 "EGP": 50.00, 839 "IDR": 18000.00, 840 "JPY": 152.00, 841 "TWD": 31.00, 842 "NOK": 10.00, 843 "HUF": 340.00, 844 "BDT": 122.00, 845 "ZAR": 17.00, 846 "INR": 89.00, 847 "BOB": 7.00, 848 "CRC": 503.00, 849 "RUB": 80.00 850}; 851 852 853 const data = pricingData[currencyCode] || pricingData["USD"]; 854 Object.keys(data).forEach(currency => { 855 // detect if current page is the TikTok growth page 856 const isTikTokPage = window.location.pathname.includes('/tiktok-growth'); 857 // choose which set to use: 'tiktok' or 'normal' 858 const planSet = isTikTokPage ? data.tiktok : data.normal; 859 const addonSet = data.addons; 860 Object.keys(planSet).forEach(plan => { 861 const planData = planSet[plan]; 862 863 // helper function to keep decimals only if needed 864 function formatPrice(value) { 865 return Number.isInteger(value) ? value.toString() : value.toFixed(2); 866 } 867 868 // helper function to apply smaller styling if number length > 4 869 function applyCompactStyleIfNeeded(value, plan) { 870 const valueStr = value.toString().replace('.', ''); // ignore decimal point 871 const section = document.querySelector(`.${plan}_plan_section`); 872 if (!section) return; 873 874 // remove any previous inline style 875 const existing = section.querySelector('style[data-auto-style]'); 876 if (existing) existing.remove(); 877 if (valueStr.length > 3) { 878 const css = ` 879 .${plan}_plan_section .slashed-price { 880 margin-left: 0px !important; 881 margin-top: 45px !important; 882 font-size: 13px !important; 883 } 884 .${plan}_plan_section .pricing-plan-cost .currency { 885 font-size: 1.3rem !important; 886 } 887 .${plan}_plan_section .currency-amount { 888 font-size: 45px !important; 889 } 890 `; 891 const newStyle = document.createElement('style'); 892 newStyle.setAttribute('data-auto-style', ''); 893 newStyle.textContent = css; 894 section.appendChild(newStyle); 895 } 896 if (valueStr.length > 4) { 897 const css = ` 898 .${plan}_plan_section .slashed-price { 899 margin-left: -10px !important; 900 margin-top: 50px !important; 901 font-size: 11px !important; 902 } 903 .${plan}_plan_section .pricing-plan-cost .currency { 904 font-size: 1rem !important; 905 } 906 .${plan}_plan_section .currency-amount { 907 font-size: 45px !important; 908 } 909 `; 910 const newStyle = document.createElement('style'); 911 newStyle.setAttribute('data-auto-style', ''); 912 newStyle.textContent = css; 913 section.appendChild(newStyle); 914 } 915 } 916 917 // yearly & monthly prices 918 document.querySelectorAll(`.${plan}_plan_section .yearly-price .currency-amount`).forEach(el => { 919 el.textContent = formatPrice(planData.yearly); 920 applyCompactStyleIfNeeded(planData.yearly, plan); 921 }); 922 923 document.querySelectorAll(`.${plan}_plan_section .monthly-price .currency-amount`).forEach(el => { 924 el.textContent = formatPrice(planData.monthly); 925 applyCompactStyleIfNeeded(planData.monthly, plan); 926 }); 927 928 // per day prices 929 document.querySelectorAll(`.${plan}_plan_section .perday-pricing-label.yearly-price span[data-wg-notranslate]`).forEach(el => { 930 el.textContent = `${symbol}${formatPrice(planData.dailyYearly)}`; 931 }); 932 933 document.querySelectorAll(`.${plan}_plan_section .perday-pricing-label.monthly-price span[data-wg-notranslate]`).forEach(el => { 934 el.textContent = `${symbol}${formatPrice(planData.dailyMonthly)}`; 935 }); 936 937 // slashed prices 938 document.querySelectorAll(`.${plan}_plan_section .yearly-price .slashed-updated-price`).forEach(el => { 939 el.innerHTML = `<span data-wg-notranslate>${symbol}</span>${formatPrice(planData.slashedYearly)}`; 940 }); 941 942 document.querySelectorAll(`.${plan}_plan_section .monthly-price .slashed-updated-price`).forEach(el => { 943 el.innerHTML = `<span data-wg-notranslate>${symbol}</span>${formatPrice(planData.slashedMonthly)}`; 944 }); 945 946 // update currency symbol everywhere 947 document.querySelectorAll(`.${plan}_plan_section .currency`).forEach(el => { 948 el.textContent = symbol; 949 }); 950 951 // Checkout page script 952 const checkoutPage = window.location.pathname.includes('/checkout'); 953 if (checkoutPage) { 954 const params = new URLSearchParams(window.location.search); 955 const yearlyPrice = params.get('yearly') === 'true'; 956 const selectedPlan = params.get('plan'); // e.g. "pro" 957 const plannewData = planSet[selectedPlan]; 958 const likesData = addonSet.likes; 959 const storiesData = addonSet.stories; 960 961 function formatPrice(value) { 962 return Number.isInteger(value) ? value.toString() : value.toFixed(2); 963 } 964 965 // Update all currency symbols 966 document.querySelectorAll(".cur-symbol").forEach(el => { 967 el.textContent = symbol; 968 }); 969 970 if (yearlyPrice) { 971 // Update normal yearly prices 972 document.querySelectorAll(".normal-price").forEach(el => { 973 el.textContent = formatPrice(plannewData.yearly); 974 }); 975 976 // Update slashed prices 977 document.querySelectorAll(".slashed-price").forEach(el => { 978 el.textContent = `${symbol}${formatPrice(plannewData.slashedYearly)}/mo`; 979 }); 980 981 // Update total (annual) prices 982 if (symbol === "$") { 983 const allPriceValue = selectedPlan === "pro" ? "$500" : "$350"; 984 document.querySelectorAll(".all-price").forEach(el => { 985 el.textContent = allPriceValue; 986 }); 987 } else { 988 document.querySelectorAll(".all-price").forEach(el => { 989 el.textContent = `${symbol}${formatPrice(plannewData.yearly * 12)}`; 990 }); 991 } 992 993 //addons 994 document.querySelectorAll(".likesannualy").forEach(el => { 995 el.textContent = formatPrice(likesData.yearly); 996 }); 997 document.querySelectorAll(".storiesannualy").forEach(el => { 998 el.textContent = formatPrice(storiesData.yearly); 999 }); 1000 document.querySelectorAll(".likesmonthly").forEach(el => { 1001 el.textContent = formatPrice(likesData.yearly); 1002 }); 1003 document.querySelectorAll(".storiesmonthly").forEach(el => { 1004 el.textContent = formatPrice(storiesData.yearly); 1005 }); 1006 } else { 1007 // Monthly price updates 1008 document.querySelectorAll(".normal-price").forEach(el => { 1009 el.textContent = formatPrice(plannewData.monthly); 1010 }); 1011 document.querySelectorAll(".all-price").forEach(el => { 1012 el.textContent = `${symbol}${formatPrice(plannewData.monthly)}`; 1013 }); 1014 1015 //addons 1016 document.querySelectorAll(".likesmonthly").forEach(el => { 1017 el.textContent = formatPrice(likesData.monthly); 1018 }); 1019 document.querySelectorAll(".storiesmonthly").forEach(el => { 1020 el.textContent = formatPrice(storiesData.monthly); 1021 }); 1022 document.querySelectorAll(".likesannualy").forEach(el => { 1023 el.textContent = formatPrice(likesData.monthly); 1024 }); 1025 document.querySelectorAll(".storiesannualy").forEach(el => { 1026 el.textContent = formatPrice(storiesData.monthly); 1027 }); 1028 } 1029 } 1030 }); 1031 }); 1032
1033 const oneDollardata = oneDollarPrices[currencyCode] || oneDollarPrices["USD"]; 1034 function formatPrice(value) { 1035 return Number.isInteger(value) ? value.toString() : value.toFixed(2); 1036 } 1037 document.querySelectorAll(".onedol-price").forEach(el => { 1038 el.textContent = `${symbol}${formatPrice(oneDollardata)}/`; 1039 el.style.setProperty("display", "block", "important"); 1040 }); 1041 } 1042 1043 /** ----------------------- 1044 * RUN ON LOAD 1045 * ----------------------*/ 1046 document.addEventListener("DOMContentLoaded", async () => { 1047 await detectCurrency(); 1048 await updateFrontendPrices(); 1049 }); 1050})();
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.