1 2 3 4 5 6<!DOCTYPE html> 7<html> 8<head> 9 <title>Online Classes for Architects and Planners</title> 10 <meta name="keywords" content="Online Classes for Architects and Planners"/> 11 <meta name="description" content="Online Classes for Architects and Planners"/> 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 69 70 71 72 73 74 75 76 77 78 79 80 81 <meta name="google" content="notranslate"> 82 83 84 <link rel="canonical" href="https://www.examassureclasses.com/s/store" /> 85 86 87 88<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> 89<link rel="icon" href="/favicon.ico" type="image/x-icon"> 90 91 92 93 94 95 96 97
97<script>var orgCountry = "IN";</script>
97 98 99 100 101 102<link id="theme" href="https://d502jbuhuh9wk.cloudfront.net/resources/themes/default/spectre.min.css" rel="stylesheet"> 103 104<link rel="preconnect" href="https://fonts.googleapis.com"> 105<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 106 107<link rel="preload" href="https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined" as="style" onload="this.onload=null;this.rel='stylesheet'"> 108<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined" ></noscript> 109 110<link rel="preload" href="https://d502jbuhuh9wk.cloudfront.net/resources/css/intlTelInput.css?v=1" as="style" onload="this.onload=null;this.rel='stylesheet'"> 111<noscript><link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/resources/css/intlTelInput.css?v=1" ></noscript> 112 113<link rel="preload" href="https://d502jbuhuh9wk.cloudfront.net/fontawesome/css/all.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 114<noscript><link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/fontawesome/css/all.min.css" ></noscript> 115 116<link id="theme-exp" href="https://d502jbuhuh9wk.cloudfront.net/resources/themes/default/spectre-exp.min.css" rel="stylesheet"> 117 118 119 120 121 <link href="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/stylesheets/sstyles_0f8f8346b730ed7f9d44d25335e652c6.css" rel="stylesheet"> 122 <link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/stylesheets/sstore_052a28d8fc16dab749345a09dfcd63bf.css"/> 123 124 <link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/resources/stylesheets/gtheme3.css?v=7"/> 125 126 <style type="text/css"> 127 #loginLoader{ 128 position: absolute; 129 left: 0; 130 right: 0; 131 margin-left: auto; 132 margin-right: auto; 133 width: 100px; 134 top: 50%; 135 } 136 .customSocialBtn { 137 display: flex; 138 white-space: nowrap; 139 justify-content: center; 140 align-items: center; 141 padding: 11px 67px; 142 position: static; 143 left: 0px; 144 top: 40px; 145 cursor: pointer; 146 margin: auto; 147 border: none; 148 gap: 10px; 149 /*width: 364px; 150 height: 48px; 151 background: #000000; */ 152 /*For New Button Remove Bellow Codes and Uncomment upper Code */ 153 background: white; 154 border-radius: 4px; 155 box-shadow: 0 2px 4px 0 rgb(0 0 0 / 25%); 156 width: 245px; 157 height: 40px; 158 } 159 160 .customSocialBtn img.icon { 161 height: 20px; 162 width: 20px; 163 } 164 .customSocialBtn span.buttonText { 165 font-style: normal; 166 font-weight: 900; 167 font-size: 16px; 168 line-height: 120%; 169 opacity: 0.9; 170 font-family: 'Roboto', sans-serif; 171 /* color: #F7F7F7; */ 172 /*For New Button Remove Bellow Codes and Uncomment upper Code */ 173 color: #808080; 174 } 175 </style> 176 177 178 179 180 181 <style type="text/css"> 182 183 .main.container { margin-top: calc(var(--headerHeight) + 25px); } 184 185 </style> 186 187 188 189 190 191 <style type="text/css"> 192 footer a, footer+div a { 193 color: var(--footerTextColor) !important; 194 } 195 footer .socialIcons {text-align: right;} 196 @media (max-width: 600px) { 197 footer .linksCont a { display: block !important; } 198 footer .socialIcons {text-align: center;margin-top: 20px;} 199 } 200 </style> 201 202 203 204 205 206 207 208<style type="text/css"> 209 :root { 210 --themeColor: #5755d9; 211 --themeBGColor: #fff; 212 --headerHeight: 80px; 213 --headerTextColor: #0a0959; 214 --headerBGColor: #fdfbfb; 215 --footerTextColor: #faf0f0; 216 } 217 218 219 :root { 220 --themeColor: #317AE7; 221 --themeBGColor: #EFF5FE; 222 --themeCornerRadius: 25px; 223 --themeGrayColor: #F5F5F5; 224 } 225 226</style> 227 228<style type="text/css"> 229 230 231 232</style> 233 234 235 236
237<script type="text/javascript"> 238 window.onload = function(event) { 239 document.querySelectorAll('header .avatar img').forEach(function(img){ 240 if(img.naturalWidth == 0) { 241 img.style.display='none'; 242 } 243 }) 244 }; 245 var RESCDN = "https://d502jbuhuh9wk.cloudfront.net"; 246 247 function showCourseDefaultCover(img, cid) { 248 var rndm = ((parseInt(cid.replace(/[a-z]/g, '')) % 10) % 6) + 1; 249 rndm = isNaN(rndm) ? 1 : rndm; 250 if(img === null) { 251 return RESCDN + "/resources/images/cc"+rndm+".jpg"; 252 } 253 254 img.src = RESCDN + "/resources/images/cc"+rndm+".jpg"; 255 } 256</script>
256 257 258 259 260 261 262 263 264 265 266 267 268
269<script type="text/javascript">var learnerConsentMsg = `We've updated our <a href='/termsofuse' target='_blank' style='text-decoration:underline'>terms and conditions</a> and <a href='/privacy-policy' target='_blank' style='text-decoration:underline'>privacy policy</a>.<br>By proceeding, you agree to our new terms.`;</script>
269 270
271<script type="text/javascript">var creatorConsentMsg = `We've updated our <a href='https://graphy.com/legal/terms' target='_blank' style='text-decoration:underline'>terms and conditions</a> and <a href='https://graphy.com/legal/privacy' target='_blank' style='text-decoration:underline'>privacy policy</a>.<br>By proceeding, you agree to our new terms.`;</script>
271 272
273<script type="text/javascript">var cookieMsg = `We use cookies to personalise your experience and to analyse our website traffic. By continuing to use our website, you consent to our cookies.`;</script>
273 274 275 276 277 278 279
280<script type="text/template" id="consentPromptTemplate"> 281<div class="spectre"> 282 <div class="modal active" id="consentPrompt"> 283 <a href="javascript:void(0);" class="modal-overlay" aria-label="Close"></a> 284 <div class="modal-container" style="max-width:325px"> 285 <div class="modal-header" style="padding:0.8rem 0.8rem 0px 0.8rem;"> 286 <div class="modal-title h5 text-center">Updated Terms</div> 287 </div> 288 <div class="modal-body"> 289 290 <form id="consentForm" style="text-align:center; font-size:13px"> 291 <div class="content"></div><br> 292 <div class="text-center"> 293 <button id="consentBtn" type="button" class="btn close btn-primary">I Agree</button> 294 </div> 295 </form> 296 297 </div> 298 </div> 299</div> 300</script>
300 301 302
303<script> 304 var hideCookiePopup = false; 305 var cookieConsentEnabled = true; 306 if(!cookieConsentEnabled){ 307 hideCookiePopup = true; 308 } 309 var SPORG = {subscriptionPlan: "rise", checkout_version: "2", customer_type: "r"}; 310</script>
vendor: 1 bytes, line 310
310
311<script type="text/template" id="cookiePopupTemplate"> 312<div class="spectre" style="position: fixed; bottom: 0; width: 100%; opacity:1; z-index: 9999;"> 313 <div class="modal-container p-0" id="cookiePopup"> 314 <form id="cookiePopupForm"> 315 <div class="columns" style="align-items: center;"> 316 <div class="column col-sm-12 content text-center"></div> 317 <div class="column col-sm-12 text-center"> 318 <a href="/privacy-policy" class="btn" target="_blank" id="viewPrivacyPolicyBtn" style="margin-right:15px;">View privacy policy</a> 319 <button id="acceptCookiesBtn" type="button" class="btn close btn-primary">Accept cookies</button> 320 </div> 321 </div> 322 </form> 323 </div> 324</div> 325</script>
325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344<!-- Google Tag Manager -->
345<script>
vendor: 327 bytes, lines 345-349
345(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 346new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 347j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 348'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 349})(window,document,'script','dataLayer','
349GTM-KW7N9P2
vendor: 4 bytes, line 349
349');
350</script>
350 351<!-- End Google Tag Manager --> 352 353
353<script defer type="text/javascript" src="https://api.pirsch.io/pirsch-extended.js" 354 id="pirschextendedjs" 355 data-code="Mfi2BaaP9QfRJFa9OucYanZlnWzacFYL"></script>
355 356 357 <meta name="google-site-verification" content="" /> 358</head> 359<body class="theme3"> 360 361 362 363 364 365 366 367<div class="header spectre fixed" 368 style="background-color: #fdfbfb;"> 369 370 <header class="navbar container" style="min-height: 80px;"> 371 372 <div id="navbar-section-btn"> 373 374 <a href="javascript:void(0);" amplitude-event="navbar_link_tapped_user_landing_page" amplitude-payload='{"custom_domain": "www.examassureclasses.com","button":"cart"}' class="nav-link badge cartBtn mr-2" data-badge="0"><i class="material-icons">shopping_cart</i></a> 375 376 <a class="btn btn-link btn-action ml-2" id="header-collapse-btn" href="javascript:void(0);"> 377 <i class="icon-menu material-icons">menu</i> 378 </a> 379 </div> 380 <section class="navbar-section" style="min-height: 80px;"> 381 <a href="/" amplitude-event="navbar_link_tapped_user_landing_page" amplitude-payload='{"custom_domain": "www.examassureclasses.com","button":"profile_logo"}'><img alt="logo" onerror="this.src='https://d502jbuhuh9wk.cloudfront.net/resources/images/yourlogohere.jpg'" src='https://d502jbuhuh9wk.cloudfront.net/logos/64410eb3e4b0f11fbe0f5d65.png?v=2'/></a> 382 </section> 383 384 <section class="navbar-section hide-md"> 385 <form class="input-group p-0 relative" action="/s/store/courses" method="GET" style="width:100%;background:transparent"> 386 <div class="input-group" style="width: 100%;"> 387 <input type="text" name="query" value="" class="form-input input-lg searchTxtBox" placeholder="Search"> 388 <button type="submit" class="btn btn-link"><i class="fa-regular fa-magnifying-glass"></i></button> 389 </div> 390 </form> 391 </section> 392 393 <section class="navbar-section menu-links"> 394 395 <a href="/s/store" class="nav-link" data-id="courses" amplitude-event="navbar_link_tapped_user_landing_page" amplitude-payload='{"custom_domain": "www.examassureclasses.com","button":"store"}'>Courses</a> 396 397 398 399 400 401 <a class="nav-link" href="https://examassure.com/archplan/jobsea/" data-id="dtau8j4tj" target='_blank'>Jobs Section</a> 402 403 404 405 406 407 408 409 410 411 412 413 414 <a href="javascript:void(0);" class="nav-link badge cartBtn hide-md" data-badge="0"><i class="fa-regular fa-cart-shopping"></i></a> 415 416 417 <a href="javascript:void(0);" class="btn btn-primary loginBtn">Login</a> 418 419 420 </section> 421 </header> 422 423 424 <form class="show-md container" action="/s/store/courses" method="GET" style="background:transparent;"> 425 <div class="input-group relative" style="width: 100%;"> 426 <input type="text" name="query" value="" class="form-input input-lg searchTxtBox" placeholder="Search"> 427 <button type="submit" class="btn btn-link"><i class="fa-regular fa-magnifying-glass"></i></button> 428 </div> 429 </form> 430 431</div> 432 433 434 <div class="spectre"> 435 <div class="main container" style="margin-top: 80px;"> 436 <div class="columns pt-2"> 437 <div class="column col-4 col-sm-12"> 438 <div class="dropdown categoriesBtn col-12"> 439 <a href="#" class="btn btn-lg btn-primary dropdown-toggle" tabindex="0"><span class="icon-text">Category</span> <i class="material-icons">arrow_drop_down</i></a> 440 <ul class="menu"></ul> 441 </div> 442 </div> 443 </div> 444 445 446 <div class="columns" style="margin-top: 50px;" id="courseslist"> 447 <div class="column col-12 loading loading-lg"></div> 448 <div class="empty col-12" style="display: none;"> 449 <p class="empty-title"> 450 451 Keep a lookout for our courses, they're coming soon 452 453 </p> 454 455 </div> 456 </div> 457 458 459 460 </div> 461 </div> 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 <div class="spectre" style="clear:both;"> 481<div class="bg-dark relative" style="padding-top: 80px; padding-bottom: 80px; background-color: #040339;color:#faf0f0;"> 482<footer class="p-2" 483 style=""> 484 <div class="container p-0"> 485 <div class="columns col-gapless"> 486 <div class="column col-9 col-md-6 col-sm-12 linksCont"> 487 488 <a class="btn btn-link" href="/termsofuse" data-id="termsofuse">Terms of use</a> 489 490 491 <a class="btn btn-link" href="/privacypolicy" data-id="privacypolicy">Privacy policy</a> 492 493 494 <a class="btn btn-link" href="/aboutus" data-id="aboutus">About us</a> 495 496 497 <a class="btn btn-link" href="/faqs" data-id="faqs">FAQs</a> 498 499 500 <a class="btn btn-link" href="/contactus" data-id="contactus">Contact us</a> 501 502 503 <a class="btn btn-link" href="/refundpolicy" data-id="refundpolicy">Refund policy</a> 504 505 506 507 508 </div> 509 <div class="column col-3 col-md-6 col-sm-12 socialIcons"> 510 511 <a class="btn btn-link fbPage" target="_blank" href="https://www.facebook.com/ExamAssure"><i class="fa-brands fa-facebook"></i></a> 512 513 514 515 <a class="btn btn-link yPage" target="_blank" href="https://www.youtube.com/c/GraphyUniversity"><i class="fa-brands fa-youtube"></i></a> 516 517 518 <a class="btn btn-link linkedinPage" target="_blank" href="https://www.linkedin.com/company/exam-assure/"><i class="fa-brands fa-linkedin"></i></a> 519 520 521 <a class="btn btn-link instaPage" target="_blank" href="https://www.instagram.com/examassure/"><i class="fa-brands fa-instagram"></i></a> 522 523 524 <a class="btn btn-link telegramPage" target="_blank" href="https://t.me/Jobs_ExamAssure"><i class="fa-brands fa-telegram"></i></a> 525 526 </div> 527 </div> 528 </div> 529</footer> 530 531</div> 532</div> 533
534<script type="text/javascript"> 535 window.onload = function(e) { 536 if($("footer").find(".socialIcons a").length == 0) { 537 $("footer").find(".socialIcons").remove(); 538 $("footer").find(".linksCont").attr("class", "linksCont column col-12 text-center"); 539 } 540 } 541 542</script>
542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557
558<script>const customDomain = "www.examassureclasses.com";</script>
558 559 560 561 562
563<script> 564var disabledLocleVar='Disabled'; 565var enabledLocaleVar='Enabled'; 566var smsLocaleVar='SMS'; 567var webpushLocaleVar='Web Push'; 568var mobilepushLocaleVar='Mobile Push'; 569var invoicenumberLocaleVar='Invoice Number'; 570var productLocaleVar='Product'; 571var dateLocaleVar='Date'; 572var amountLocaleVar='Amount'; 573var detailsLocaleVar='Details'; 574var subscriptionPlanLocaleVar='Subscription Plan'; 575var addonsLocaleVar='Add Ons'; 576var showLocalVar='Show'; 577var hideLocaleVar='Hide'; 578</script>
578 579<div class="spectre"> 580 581 582 583 584 585 586 587
587<script> 588 var isPopupLogin = true; 589 var login = ''; 590 var message = ''; 591 function closeLoginPopup() { 592 $("#loginFormHtml").removeClass("active"); 593 $("body").removeClass("overflowYDisable"); 594 } 595 </script>
595 596 597 598 599 600 601 602 <div class="modal" id="loginFormHtml"> 603 <iframe id="microfe-popup-login" src="/t/public/login" loading="lazy" 604 style="width: calc(100% + 10px); height: 100vh; border: none;" 605 onload="$(this).parent().removeClass('loading');"></iframe> 606 </div> 607 608 609 610 611 612 <div class="modal" id="cartHtml"> 613 <a href="javascript:void(0);" class="modal-overlay close" 614 aria-label="Close"></a> 615 <div class="modal-container" style="max-width: 800px;"> 616 <div class="modal-header"> 617 <a href="javascript:void(0);" 618 class="close btn btn-clear float-right" aria-label="Close"></a> 619 <div class="modal-title h5"> 620 <i class="fa-regular fa-shopping-cart"></i> 621 Cart 622 (<span class="cartCount">0</span> 623 Items 624 ) 625 </div> 626 </div> 627 <div class="modal-body" style="max-height: 70vh;"> 628 <div class="content"> 629 630 <div class="text-center msg loading"></div> 631 <div class="text-center msg noItems" style="display: none;"> 632 There are no items in your cart<br/> 633 <a class="btn btn-primary" href="/s/store" 634 style="margin: 20px auto;"> 635 Add More 636 </a> 637 </div> 638 <div class="items msg" style="display: none;"> 639 <div class="m-0 cartDiv"> 640 <table class="table cartTable"> 641 <thead> 642 <tr> 643 <th colspan="2">Item Details</th> 644 <th class="text-right">Price</th> 645 <th style="width: 50px;"></th> 646 </tr> 647 </thead> 648 <tbody></tbody> 649 </table> 650 </div> 651 <div class="suggestCart mt-2 bg-gray p-2" style="display: none;"> 652 <h6>You may also be interested in</h6> 653 <div class="columns loading" id="cartRelatedCont"></div> 654 </div> 655 </div> 656 </div> 657 </div> 658 <div class="modal-footer"> 659 <div class="msg items clearfix"> 660 661 662 663 <div class="float-left text-gray"> 664 Note: Promo Codes can be applied after checkout 665 </div> 666 667 668 669 <div class="float-right"> 670 Total Amount 671 <span class="text-primary curr">₹<span 672 class="totalAmount">0</span></span> 673 </div> 674 </div> 675 <div class="msg items clearfix mt-2"> 676 <a class="btn float-left" href="/s/store" amplitude-event="add_more_course_checkout"> 677 Add More 678 </a> 679 680 681 682 683 684 685 686 <a class="btn btn-primary float-right" href="/s/checkout" amplitude-event="checkout_tapped_course_checkout" amplitude-payload='{"currency": "INR" }'>Checkout</a> 687 </div> 688 </div> 689 </div> 690 </div> 691 <div class="modal" id="newCheckoutHtml" style="padding: 0; z-index: 10000;"> 692 <div id="newCheckoutLoader" class="loading loading-lg" style="position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.5); z-index: 1000;display:none;"></div> 693 <!-- <a href="javascript:void(0);" class="modal-overlay close" 694 aria-label="Close"></a> 695 <div class="modal-container" style=""> --> 696 697 698 <iframe onload="hideCheckoutLoader()" id="newCheckoutIframe" sandbox="allow-top-navigation allow-modals allow-popups allow-presentation allow-orientation-lock allow-pointer-lock allow-popups-to-escape-sandbox allow-top-navigation-by-user-activation allow-scripts allow-same-origin allow-forms" style = "width: calc(100% + 10px); height: 100%; border: none;" src=""></iframe> 699 700 <!-- </div> --> 701 </div> 702</div> 703
704<script type="text/template" id="cartItemTemplate"> 705 <tr data-id="<@- item.id @>" data-type="<@- item.type @>" data-title="<@- item.title @>" data-price="<@- item.price @>" data-coursecategory="<@- item.courseCategory @>"> 706 <@ var itemType = item.type; @> 707 <td style="width:150px;"> 708 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item.id +"/"+ item.id +"_scaled_cover.jpg?v=" + coverVersion; if(isNaN(coverVersion)) { curl = showCourseDefaultCover(null, item.id) } @> 709 <img alt="<@- item.title @> cover" style="width:100%;max-height:100px;" class="img-fit-contain lazy" onerror="showCourseDefaultCover(this, '<@- item.id @>')" 710 data-src='<@- curl @>' /> 711 </td> 712 <td class="itemTitle"><@- item.title @><@ if(item.description !== undefined) { @><div class='text-gray variantDescription'><@ print(item.description) @></div><@ } @></td> 713 <td class="text-right curr"><@ if(item.priceWithoutTax !== undefined && 'GST' != '') { @><@ print(getDisplayAmount(item.priceWithoutTax)) @><br><small><@ print(getDisplayAmount(item.price)) @> incl. <@- item.gstRate @>% GST</small><@ } else { @><@ print(getDisplayAmount(item.price)) @> <@ if(item.gstRate > 0 && 'GST' != '') { print("<br><small>incl. " +item.gstRate+"% GST</small>") } @><@ } @> 714 <@ if(item.pgChargesLearnerPercent !==undefined && getDisplayAmount(item.pgChargesLearnerPercent).includes('₹')) {@> <br><small>Internet handling fees: <@print(getDisplayAmount(item.pgChargesLearnerPercent/100*item.price))@></small> <@} @> 715 </td> 716 <td>
716<button class="btn btn-sm btn-error btn-action circle removeItemBtn" data-url="/s/cart/remove/<@- item.id @>"><i class="material-icons">clear</i></button></td> 717 </tr> 718 </script>
vendor: 1 bytes, line 718
718
719<script type="text/template" id="cartcoursecard-template"> 720 <div class="column col-2 col-md-4 scourse <@- item['spayee:resource']['spayee:courseType'] @>" title="<@- item["spayee:resource"]["spayee:title"] @>"> 721 <a class="card" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 722 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item["spayee:resource"]["spayee:coverVersion"]; if(isNaN(item["spayee:resource"]["spayee:coverVersion"])) { curl = showCourseDefaultCover(null, item._id) } @> 723 <img style="width: 100%;" alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="lazy" data-src="<@- curl @>" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 724 <div class="card-footer" style="padding: 0.2rem;"><span class="ctitle text-ellipsis d-block" style="color:#2f4f4f;font-size:small;"><@- item["spayee:resource"]["spayee:title"] @></span></div> 725 </a> 726 </div> 727 </script>
vendor: 1 bytes, line 727
727
728<script type="text/template" id="coursecard-template"> 729 <div class="column scourse <@- item['spayee:resource']['spayee:courseType'] @> hidePackageRibbon<@- item['spayee:resource']['spayee:hidePackageRibbon'] @>"> 730 731 732 733 <@ var itemCategory = (item['spayee:resource']['spayee:filter1'] !== undefined)? item['spayee:resource']['spayee:filter1'][0]:'' @> 734 735 <a class="card courseDiscId" style="height:100%" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" data-id="<@- item._id@>" data-dcid="<@-item._id@>" 736 amplitude-event="course_card_tapped_checkout" 737 amplitude-payload='{"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', '', item, '18.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable('', item) @>","wallet_coins_enabled_on_school":"true","category":"<@- itemCategory @>"}' 738 > 739 740 741 742 <div class="card-image relative <@ print(item["spayee:resource"]["spayee:availableForMembership"] ? 'includedInMembership' : '') @>"> 743 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id + "/" + item._id +"_scaled_cover.jpg?v=" + item["spayee:resource"]["spayee:coverVersion"]; if(isNaN(item["spayee:resource"]["spayee:coverVersion"])) { curl = showCourseDefaultCover(null, item._id); } @> 744 <div class="blurbg lazy" data-bg="<@- curl @>"></div> 745 <img alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="lazy" data-src="<@- curl @>" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 746 </div> 747 <div class="card-body text-ellipsis"> 748 <span class="ctitle" style="color:#2f4f4f;text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;"><@- item["spayee:resource"]["spayee:title"] @></span><br> 749 750 <@ if(item.rating !== undefined) { @> 751 <span class="text-gray ratingIcons icon-text"> 752 <@ for(var i=1;i<6;i++) { @> 753 <@ if(item.rating.avgRating >= i) { @><i class="material-icons text-primary">star</i><@ }else if(item.rating.avgRating > i-1 && item.rating.avgRating < i) { @><i class="material-icons text-primary">star_half</i><@ }else { @> 754 <i class="material-icons">star_border</i> 755 <@ } } @></span><small class="d-inline-block pl-1 text-dark"><@ print(formatRating(item['rating']['avgRating'])) @> (<@- item['rating']['total'] @> ratings)</small> 756 <@ }else { @> <span class="text-gray ratingIcons icon-text"> </span> <@ } @> 757 <br> 758 <span class="text-gray"> 759 <@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @> 760 <@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses 761 <@ }else { @> 762 <@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?htmlEntities(item["spayee:resource"]["spayee:publisher"]):" ") @> 763 <@ } @> 764 </span> 765 </div> 766 <div class="card-footer"> 767 <@ print(getCourseDisplayPrice('₹', '', item, '18.0', '', true)) @> 768 <span class="text-gray" style="font-size:small"> 769 <@ if(item['spayee:resource']['spayee:instalmentPlanId']!=null && item['spayee:resource']['spayee:instalmentPlanId'] !== "") { @> 770 <@ print(getCourseInstalmentDisplayPrice('', item))@> 771 <@ }else { @> 772 <@ " " @> 773 <@ } @> 774 </span> 775 </div> 776 <div style="padding: 0 0.8rem 0.8rem 0.8rem;"> 777 <span class="text-gray" style="font-size:small"> 778 <@ if(getMultiplePlanLabel('', item)>1) {@> 779 <i class="material-icons text-primary" style="font-size:small">discount</i> 780 <@ print(' Flexible pricing plans') } @> 781 </span> 782 </div> 783 </a> 784 </div> 785 </script>
785 786
787<script type="text/template" id="blogcard-template"> 788 <div class="column col-3 col-md-6 col-sm-6 col-xs-12 scourse" style="margin-bottom: 20px;"> 789 <a class="card" title="<@- item['spayee:resource']['spayee:title'] @>" href="/blog/<@- item['spayee:resource']['spayee:url'] @>"> 790 <div class="card-image relative"> 791 <@ if(item['spayee:resource']['spayee:cover'] !== undefined && item['spayee:resource']['spayee:cover']) { @> 792 <div class="blurbg lazy" data-bg="https://d502jbuhuh9wk.cloudfront.net/articles/<@- item._id @>/cover.jpg<@ print(item["spayee:resource"]["spayee:coverVersion"] !== undefined?"?v="+item["spayee:resource"]["spayee:coverVersion"]:"") @>"></div> 793 <img alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="img-responsive centered relative lazy" style="max-height: 100%;" data-src="https://d502jbuhuh9wk.cloudfront.net/articles/<@- item._id @>/cover.jpg?v=<@- item['spayee:resource']['spayee:coverVersion'] @>" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 794 <@ }else { @> 795 <div class="blurbg lazy" data-bg="https://d502jbuhuh9wk.cloudfront.net/resources/images/defaultCourseCover.png"></div> 796 <img alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="img-responsive centered relative lazy" style="max-height: 100%;" data-src='https://d502jbuhuh9wk.cloudfront.net/resources/images/defaultCourseCover.png'> 797 <@ } @> 798 </div> 799 <div class="card-body text-ellipsis"><span style="color:#2f4f4f;"><@- item["spayee:resource"]["spayee:title"] @></span></div> 800 <div class="card-footer" style="padding: 0.4rem;"> 801 <span class="text-gray float-left text-ellipsis" style="max-width: calc(100% - 110px);"><@ print(item["spayee:resource"]["spayee:author"]!==undefined?htmlEntities(item["spayee:resource"]["spayee:author"]):"") @></span> 802 <@ var pdate = item.createdDate.$date; if(item['spayee:resource']['spayee:publishDate'] !== undefined && item['spayee:resource']['spayee:publishDate'] !== '') { pdate = item['spayee:resource']['spayee:publishDate']; } @> 803 <time class="float-right text-warning"><@ print(formatDate(new Date(pdate))) @></time> 804 </div> 805 </a> 806 </div> 807 </script>
807 808 809
809<script type="text/javascript"> 810 var uuid = function (a) { 811 // https://github.com/amplitude/Amplitude-Javascript/blob/master/src/uuid.js 812 return a // if the placeholder was passed, return 813 ? // a random number from 0 to 15 814 ( 815 a ^ // unless b is 8, 816 ((Math.random() * // in which case 817 16) >> // a random number from 818 (a / 4)) 819 ) // 8 to 11 820 .toString(16) // in hexadecimal 821 : // or otherwise a concatenated string: 822 ( 823 [1e7] + // 10000000 + 824 -1e3 + // -1000 + 825 -4e3 + // -4000 + 826 -8e3 + // -80000000 + 827 -1e11 828 ) // -100000000000, 829 .replace( 830 // replacing 831 /[018]/g, // zeroes, ones, and eights with 832 uuid, // random hex digits 833 ); 834 }; 835 836 (function(e,t){var n=e.amplitude||{_q:[],_iq:{}};var r=t.createElement("script") 837 ;r.type="text/javascript" 838 ;r.integrity="sha384-tzcaaCH5+KXD4sGaDozev6oElQhsVfbJvdi3//c2YvbY02LrNlbpGdt3Wq4rWonS" 839 ;r.crossOrigin="anonymous";r.async=true 840 ;r.src="https://cdn.amplitude.com/libs/amplitude-8.5.0-min.gz.js" 841 ;r.onload=function(){if(!e.amplitude.runQueuedFunctions){ 842 console.log("[Amplitude] Error: could not load SDK")}} 843 ;var i=t.getElementsByTagName("script")[0];i.parentNode.insertBefore(r,i) 844 ;function s(e,t){e.prototype[t]=function(){ 845 this._q.push([t].concat(Array.prototype.slice.call(arguments,0)));return this}} 846 var o=function(){this._q=[];return this} 847 ;var a=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove"] 848 ;for(var c=0;c<a.length;c++){s(o,a[c])}n.Identify=o;var u=function(){this._q=[] 849 ;return this} 850 ;var l=["setProductId","setQuantity","setPrice","setRevenueType","setEventProperties"] 851 ;for(var p=0;p<l.length;p++){s(u,l[p])}n.Revenue=u 852 ;var d=["init","logEvent","logRevenue","setUserId","setUserProperties","setOptOut","setVersionName","setDomain","setDeviceId","enableTracking","setGlobalUserProperties","identify","clearUserProperties","setGroup","logRevenueV2","regenerateDeviceId","groupIdentify","onInit","logEventWithTimestamp","logEventWithGroups","setSessionId","resetSessionId"] 853 ;function v(e){function t(t){e[t]=function(){ 854 e._q.push([t].concat(Array.prototype.slice.call(arguments,0)))}} 855 for(var n=0;n<d.length;n++){t(d[n])}}v(n);n.getInstance=function(e){ 856 e=(!e||e.length===0?"$default_instance":e).toLowerCase() 857 ;if(!Object.prototype.hasOwnProperty.call(n._iq,e)){n._iq[e]={_q:[]};v(n._iq[e]) 858 }return n._iq[e]};e.amplitude=n})(window,document); 859 860 amplitude.getInstance().init('e56929a4c3888c23e97a7e70e34ccf6c'); 861 amplitude.getInstance().setUserId(null); 862 //amplitude.getInstance().regenerateDeviceId(); 863 864 var userProperties = { 865 custom_domain: "www.examassureclasses.com", 866 org_id: "64410eb3e4b0f11fbe0f5d65", 867 default_google_login_enabled: 'true' == 'true', 868 personalized_google_login_enabled: '' != '' && 'true' == 'false' ? true : false, 869 facebook_login_enabled: '' == 'true' ? true : false 870 }; 871 amplitude.getInstance().setUserProperties(userProperties); 872 873/* var deviceId = uuid(); 874 amplitude.getInstance().setDeviceId(deviceId); 875 sessionStorage.setItem('amplitudeDeviceId', deviceId); */ 876 </script>
876 877 878
878<script type="text/javascript"> 879 window.signupParams = {source: "store", platform: "web", sourceId: null}; 880 var showGraphyFomoFlag = ''; 881 882 showGraphyFomoFlag = '64410eb3e4b0f11fbe0f5d65'; 883 884 </script>
884 885 886
886<script type="text/javascript"> 887 function hideCheckoutLoader() { 888 if(typeof window.hideLoader =="function") { 889 window.hideLoader(); 890 } 891 } 892 var checkoutRedirectGuestUsers = 'signup'; 893 </script>
893 894 895 896 897 898 899
900<script type="text/template" id="spcoursecard-2-template"> 901 <div class="column third"> 902 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 903 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 904 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 905 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 906 <h4 class="size-21 text-ellipsis" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><@- item['spayee:resource']['spayee:title'] @></h4> 907 <p class="size-16"><@ if(item.rating !== undefined) { @> 908 <span class="text-gray ratingIcons icon-text"> 909 <@ for(var i=1;i<6;i++) { @> 910 <@ if(item.rating.avgRating >= i) { @><i class="material-icons text-primary">star</i><@ }else if(item.rating.avgRating > i-1 && item.rating.avgRating < i) { @><i class="material-icons text-primary">star_half</i><@ }else { @> 911 <i class="material-icons">star_border</i> 912 <@ } } @></span><span><@ print(formatRating(item['rating']['avgRating'])) @> (<@- item['rating']['total'] @> ratings)</span> 913 <@ }else { @> <span class="text-gray ratingIcons icon-text"> </span> <@ } @></p> 914 <p class="size-16 text-ellipsis"><@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @><@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses<@ }else { @> 915 <@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?item["spayee:resource"]["spayee:publisher"]:" ") @><@ } @></p> 916 917 <p class="size-18"><span style="color: rgb(21, 101, 192);"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', true)) @></span><br></p> 918 <div style="margin:1em 0"></div> 919 </a> 920 </div> 921 </script>
vendor: 1 bytes, line 921
921
922<script type="text/template" id="spcoursecard-1-template"> 923 <div class="column third"> 924 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 925 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 926 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 927 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 928 <h4 class="size-21 text-ellipsis" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><@- item['spayee:resource']['spayee:title'] @></h4> 929 <div class="size-16 text-ellipsis" style="max-height: 3rem;"><@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @></div> 930 931 <p class="size-18"><span style="color: rgb(21, 101, 192);"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', true)) @></span><br></p> 932 <div style="margin:1em 0"></div> 933 </a> 934 </div> 935 </script>
vendor: 1 bytes, line 935
935
936<script type="text/template" id="spcoursecard-3-template"> 937 <div class="column third"> 938 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 939 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 940 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 941 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 942 <h4 class="size-21 text-ellipsis" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><@- item['spayee:resource']['spayee:title'] @></h4> 943 <div class="size-16 text-ellipsis" style="max-height: 3rem;"><@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @></div> 944 <p class="size-16 text-ellipsis"><@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @><@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses<@ }else { @> 945 <@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?item["spayee:resource"]["spayee:publisher"]:" ") @><@ } @></p> 946 <p class="size-18"><span style="color: rgb(21, 101, 192);"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', true)) @></span><br></p> 947 <div style="margin:1em 0"></div> 948 </a> 949 </div> 950 </script>
950 951
952<script type="text/template" id="spcoursecard-4-template"> 953 <div class="column third text-center" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 0px;"> 954 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 955 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 956 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 957 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 958 </a> 959 <h3 class="size-18 text-center" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><b class="text-primary"><@- item['spayee:resource']['spayee:title'] @></b></h3> 960 <div class="discription"><@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @></div> 961 <p class="size-18 price text-primary"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', true)) @></p> 962 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'>Buy now<br></a> 963 </div> 964 </script>
964
965<script type="text/template" id="spcoursecard-5-template"> 966 <div class="column third" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 0px;"> 967 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 968 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 969 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 970 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 971 </a> 972 <h3 class="sub-heading"><b class="size-18 text-primary"><@- item['spayee:resource']['spayee:title'] @></b></h4> 973 <p class="size-16 description text-primary"> <@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @><@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses<@ }else { @> 974 Instructor : <@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?item["spayee:resource"]["spayee:publisher"]:" ") @><@ } @></p> 975 <@if(item.rating){@> 976 <p class="size-16 description text-primary">Rating: 977 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 978 <@if(item.rating){@> 979 <@if(item.rating.avgRating){@> 980 <@ if(item.rating.avgRating >= ratingsSize) {@> 981 <i class="icon ion-android-star text-primary"></i> 982 <@ } else if(item.rating.avgRating > ratingsSize-1 && item.rating.avgRating < ratingsSize) { @> 983 <i class="icon ion-android-star-half text-primary"></i> 984 <@ } @> 985 <@}@> 986 <@}@> 987 <@}@> 988 </p> 989 <@}@> 990 991 <p class="size-18 price text-primary">Price : <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', true)) @></p> 992 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'>Buy now</a> 993 </div> 994 </script>
994 995
996<script type="text/template" id="spcoursecard-6-template"> 997 <div class="column third"> 998 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 999 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1000 1001 1002 <@ var itemCategory = (item['spayee:resource']['spayee:filter1'] !== undefined)? item['spayee:resource']['spayee:filter1'][0]:''@> 1003 1004 <@ if (item['spayee:resource']['spayee:availableForMarket']==="true" ) { @> 1005 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="course_card_tapped_checkout" amplitude-payload='{"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}'> 1006 <@ } else { @> 1007 <a title="<@- item['spayee:resource']['spayee:title'] @>" amplitude-event="course_card_tapped_checkout" amplitude-payload='{"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}'> 1008 <@ } @> 1009 1010 1011 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')" style="border-radius: 20px; margin-bottom: 0px; width: 100%; height: 190px;object-fit:cover;"> 1012 </a> 1013 <div style="font-weight: 800; line-height: 1.1; text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;" class="text-ellipsis"><@- item['spayee:resource']['spayee:title'] @></div> 1014 <p class="size-16 description text-primary"><@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @> Courses<@ } @></p> 1015 <p class="size-18 price text-primary"><@ if (item['spayee:resource']['spayee:availableForMarket']==="true" ) @> <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @></p> 1016 <@ if (item.isMembershipPage != undefined && !item.isMembershipPage) { @> 1017 1018 1019 <@ var itemCategory = (item['spayee:resource']['spayee:filter1'] !== undefined)? item['spayee:resource']['spayee:filter1'][0]:'' @> 1020 <@ if(isMultiplePlansAvailable(sessionCountry, item) === false) { @> 1021 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="/single-checkout/<@- item['_id'] @>?pid=<@ print(getCoursePid(sessionCountry, item)) @>" class="buy-btn btn btn-primary" amplitude-event="course_buy_now_tapped_checkout" amplitude-payload='{"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}' style="border: none;padding: 16px 61px; font-size: 16px; letter-spacing: 0.08px; line-height: 16px; font-weight: 600; text-decoration: none; display: block; text-align: center;"> 1022 Buy now 1023 </a> 1024 <@ } else { @> 1025 1026 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="course_buy_now_tapped_checkout" amplitude-payload='{"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}' style="border: none;padding: 16px 61px; font-size: 16px; letter-spacing: 0.08px; line-height: 16px; font-weight: 600; text-decoration: none; display: block; text-align: center;"> 1027 Buy now 1028 </a> 1029 <@ } @> 1030 1031 1032 1033 <@ } @> 1034 </div> 1035 </script>
1035 1036 1037
1038<script type="text/template" id="spcoursecard-7-template"> 1039 <div class="column third course-mob-block"> 1040 <div class="inner-course-block"> 1041 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1042 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1043 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 1044 <img class="lazy" data-style="width: 100%; height: auto;" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')" > 1045 </a> 1046 <div class="course-price-block"> 1047 <p class="text-ellipsis" title="<@- item['spayee:resource']['spayee:title'] @>" style="font-size: 18px; font-weight: 700; line-height: 1.3rem; width: 100%; margin-top: 0px; margin-bottom: 0px; min-height: 47px; text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"> 1048 <@- item['spayee:resource']['spayee:title'] @> 1049 </p> 1050 <p class="text-primary" style="word-break: break-all; font-size: 14px; font-weight: 500; line-height: 1.5; margin-top: 16px; margin-bottom: 0px;"> 1051 <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @> 1052 </p> 1053 </div> 1054 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="display: inline-block; text-decoration: none; transition: all 0.16s ease 0s; border: none; cursor: pointer; border-radius: 4px; padding: 13px 28px; line-height: 1.5; font-weight: 600; font-size: 14px; letter-spacing: 0.15px; margin-top: 28px;"> 1055 Enroll now 1056 </a> 1057 </div> 1058 </div> 1059</script>
1059 1060
1061<script type="text/template" id="spcoursecard-8-template"> 1062 <div class="row clearfix" style="margin-bottom: 24px; margin-top: 14px;"> 1063 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1064 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1065 <div class="column third center" style="padding-left: 0px; padding-right: 0px;"> 1066 <img 1067 class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')" 1068 style="margin-top: 0px; margin-bottom: 0px;" 1069 /> 1070 </div> 1071 <div class="column two-third course-block-mob" style="display: flex; flex-direction: column; justify-content: center;"> 1072 <div class="course-price-block"> 1073 <h3 style="color: rgb(255, 255, 255); font-size: 18px; font-weight: 700; line-height: 1.1; margin-bottom: 0px; margin-top: 0px; text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"> 1074 <@- item['spayee:resource']['spayee:title'] @> 1075 </h3> 1076 <div class="sortDescription8"> 1077 <@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @> 1078 </div> 1079 </div> 1080 1081 <a class="buy-btn btn btn-primary" title="<@- item['spayee:resource']['spayee:title'] @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" style="width: fit-content; text-align: left; display: inline-block; text-decoration: none; transition: all 0.16s ease 0s; cursor: pointer; background-color: rgb(231, 215, 73); color: rgb(0, 0, 0);border-radius: 0px;padding: 16px 48px;line-height: 16px;font-weight: 700;font-size: 16px;letter-spacing: 0.08px;border-image: initial;"> 1082 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @> 1083 </a> 1084 </div> 1085 </div> 1086 </script>
1086 1087 1088 1089 <!-- vegas TEMPLATE 9 NEW--> 1090
1090<script type="text/template" id="spcoursecard-9-template" > 1091 <div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 2rem; text-align:left;"> 1092 <div style="border:1px solid #D7D7D7; border-radius:24px; padding-bottom: 20px; height: 100%; display: flex; flex-direction: column;"> 1093 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1094 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1095 1096 <a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'> 1097 <img style="height:200px; width:100%; object-fit:fill; margin:0px 0px; border-top-left-radius:24px; border-top-right-radius:24px;" class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1098 </a> 1099 1100 <div style="padding:10px 20px; flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content"> 1101 <h3 1102 class="size-18 text-left" 1103 title="<@- item['spayee:resource']['spayee:title'] @>" 1104 style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: black;" 1105 > 1106 <b style="color:black;"><@- item['spayee:resource']['spayee:title'] @></b> 1107 </h3> 1108 1109 <div 1110 class="size-16 text-ellipsis course-card-text" 1111 title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" 1112 style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;" 1113 > 1114 <@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @> 1115 </div> 1116 </div> 1117 1118 <div style="margin-top: auto; margin-left:10px;"> 1119 <a style="background-color:#FB5607 !important; border:0px !important; border-radius:62px !important; padding:10px 16px !important; width: fit-content; display: inline-block; text-decoration: none; color: white; padding: 12px 24px; font-weight: 600 !important; font-size: 16px;letter-spacing:0px; !important" 1120 class="buy-btn btn btn-primary" 1121 title="<@- item['spayee:resource']['spayee:title'] @>" 1122 amplitude-event="buy_now_tapped_course_checkout" 1123 amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 1124 href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1125 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @> 1126 </a> 1127 </div> 1128 </div> 1129 </div> 1130 </div> 1131</script>
1131 1132 1133 <!--Blaze Course nEW tEMPLATE 10--> 1134
1134<script type="text/template" id="spcoursecard-10-template"> 1135 <div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 10px;margin-top:10px; text-align:left;"> 1136 <div style="height: 100%; display: flex; flex-direction: column;"> 1137 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1138 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1139 1140 <a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none; color:black; font-size:24px;"> 1141 <img style="height:320px; object-fit:cover; margin:0px 0px;" class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1142 </a> 1143 1144 <div style=" flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content"> 1145 <h3 1146 class="size-18 text-left" 1147 style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: white;" 1148 > 1149 <b title="<@= item['spayee:resource']['spayee:title'] @>" style="color:white;"> 1150 <@- item['spayee:resource']['spayee:title'] @> 1151 </b> 1152 </h3> 1153 1154 <div title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" class="size-16 text-ellipsis course-card-text" style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;color:white;"> 1155 <@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @> 1156 </div> 1157 1158 <div style="margin-top: auto;"> 1159 <a style="width:100% !important;font-weight:600 !important; letter-spacing:0px; color:black !important; background-color:#D8FD46 !important; border:0px !important; border-radius:0px !important; padding:20px 36px !important; width: fit-content; display: inline-block; text-decoration: none; transition: all 0.16s ease 0s; cursor: pointer; padding: 16px 28px; line-height: 16px; font-weight: 700; font-size: 16px; letter-spacing: 0px; border-image: initial;" 1160 class="buy-btn btn btn-primary" 1161 title="<@- item['spayee:resource']['spayee:title'] @>" 1162 amplitude-event="buy_now_tapped_course_checkout" 1163 amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 1164 href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1165 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @> 1166 </a> 1167 1168 </div> 1169 </div> 1170 </div> 1171 </div> 1172 </script>
1172 1173 1174 <!--Olive Course 11--> 1175
1175<script type="text/template" id="spcoursecard-11-template" > 1176 <@ 1177 // Calculate colors based on index 1178 var colorIndex = (typeof window.courseCardColorIndex === 'undefined') ? 0 : window.courseCardColorIndex; 1179 var colors = [ 1180 { bg: '#FFA46B', btnBg: '#361500' }, // Orange card → Dark brown button 1181 { bg: '#87A1F6', btnBg: '#001A71' }, // Blue card → Dark blue button 1182 { bg: '#B073DC', btnBg: '#34005A' } // Purple card → Dark brown button (default) 1183 ]; 1184 var currentColor = colors[colorIndex % 3]; 1185 window.courseCardColorIndex = colorIndex + 1; 1186 @> 1187 1188 <div class="column third text-center course-card course-card-fixed-height" style="padding: 0 15px; margin-bottom: 30px;"> 1189 <div class="course-card-wrapper" style="background-color: <@- currentColor.bg @>; height: 100%; border-radius: 32px; overflow: hidden;"> 1190 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; 1191 if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1192 1193 <a class="course-image-link" style="display: block; padding: 16px;padding-bottom:0px" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1194 <img style="height:320px; width:100%; object-fit:cover; border-radius: 32px;" class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1195 </a> 1196 1197 <div style="padding: 20px;" class="course-card-content"> 1198 <h3 style="font-size:24px; text-transform:uppercase; color: black; margin: 0 0 15px 0; text-align: left;white-space:nowrap; overflow: hidden; text-overflow: ellipsis;width: 100%;display:block;"> 1199 <b title="<@= item['spayee:resource']['spayee:title'] @>"><@- item['spayee:resource']['spayee:title'] @></b> 1200 </h3> 1201 <div title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" class="size-16 text-ellipsis course-card-text" style="max-height: 3rem; min-height: 3rem; color:black; margin-bottom: 12px;text-align: left;"> 1202 <@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:" ") @> 1203 </div> 1204 <a class="enroll-button" 1205 style="display: block; 1206 background-color: <@- currentColor.btnBg @>; 1207 color: white !important; 1208 padding: 12px; 1209 text-align: center; 1210 font-weight: 600; 1211 text-decoration: none; 1212 border-radius: 32px;" 1213 href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1214 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @> 1215 </a> 1216 </div> 1217 </div> 1218 </div> 1219 1220 </script>
1220 1221 1222 1223 <!-- Nebula Course 12--> 1224
1224<script type="text/template" id="spcoursecard-12-template" > 1225 <div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 2rem; text-align:left;"> 1226 <div style="border:0px; border-radius:16px; padding-bottom: 20px; height: 100%; display: flex; flex-direction: column;"> 1227 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1228 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1229 1230 <a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'> 1231 <img style="height:240px; width:100%; object-fit:fill; margin:0px 0px; border-radius:16px; " class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1232 </a> 1233 1234 <div style="padding:10px 0px; flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content"> 1235 <h3 1236 class="size-18 text-left" 1237 title="<@- item['spayee:resource']['spayee:title'] @>" 1238 style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: black;" 1239 > 1240 <b style="color:black;"><@- item['spayee:resource']['spayee:title'] @></b> 1241 </h3> 1242 1243 <div 1244 class="size-16 text-ellipsis course-card-text" 1245 title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" 1246 style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;" 1247 > 1248 <@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @> 1249 </div> 1250 </div> 1251 1252 <div style="margin-top: auto; margin-left:0px;"> 1253 <a style="background-color:#6715FF !important; border-radius:12px !important; padding:10px 16px !important; width: fit-content; display: inline-block; text-decoration: none; color: white; padding: 12px 24px; font-weight: 600 !important; font-size: 16px;letter-spacing:0px; !important" 1254 class="buy-btn btn btn-primary" 1255 title="<@- item['spayee:resource']['spayee:title'] @>" 1256 amplitude-event="buy_now_tapped_course_checkout" 1257 amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 1258 href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1259 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @> 1260 </a> 1261 </div> 1262 </div> 1263 </div> 1264 </div> 1265 </script>
1265 1266 1267 1268 1269 <!--Dusk Course-13--> 1270
1270<script type="text/template" id="spcoursecard-13-template" > 1271 <div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 2rem; text-align:left;"> 1272 <div style="border:0px; border-radius:16px; padding-bottom: 20px; height: 100%; display: flex; flex-direction: column;"> 1273 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1274 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '18.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1275 1276 <a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'> 1277 <img style="height:240px; width:100%; object-fit:fill; margin:0px 0px; border-radius:16px; " class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1278 </a> 1279 1280 <div style="padding:10px 0px; flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content"> 1281 <h3 1282 class="size-18 text-left" 1283 title="<@- item['spayee:resource']['spayee:title'] @>" 1284 style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: black;" 1285 > 1286 <b style="color:black;"><@- item['spayee:resource']['spayee:title'] @></b> 1287 </h3> 1288 1289 <div 1290 class="size-16 text-ellipsis course-card-text" 1291 title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" 1292 style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;" 1293 > 1294 <@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @> 1295 </div> 1296 </div> 1297 1298 1299 1300 <div style="margin-top: auto; margin-left:0px;"> 1301 <a style="background-color:#282400 !important;border:0px ; border-radius:41px !important; padding:10px 24px !important; width: fit-content; display: inline-block; text-decoration: none; color: white; padding: 12px 24px; font-weight: 600 !important; font-size: 16px;letter-spacing:0px; !important" 1302 class="buy-btn btn btn-primary" 1303 title="<@- item['spayee:resource']['spayee:title'] @>" 1304 amplitude-event="buy_now_tapped_course_checkout" 1305 amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 1306 href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1307 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '18.0', '', false)) @> 1308 </a> 1309 </div> 1310 </div> 1311 </div> 1312 </div> 1313 </script>
1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323<!-- Curriculum 1st Template -->
1324<script type="text/template" id="coursecurr-1-template"> 1325 <table class="table courseContents"> 1326 <thead> 1327 <tr> 1328 <td style="width: 50px;"></td> 1329 <td style="width: 50px;"></td> 1330 <td></td> 1331 </tr> 1332 </thead> 1333 <tbody> 1334 <@ $.each(item, function(index, value) { @> 1335 <tr> 1336 <td><i class="material-icons courseItemIcon" data-type="<@- value.type @>"></i></td> 1337 <td colspan="2"> 1338 <@- value.title @> 1339 <@ if(value.type == 'aiheading') { @> 1340 <small>(coming soon)</small><@ } @> 1341 <@ if(assetInfo && value.type == 'video' && value.duration !== undefined && value.duration > 0) { @> 1342 <small>(<@ print(Math.floor(value.duration)) @>:00)</small><@ } @> 1343 <@ if(assetInfo && value.type == 'pdf' && value.pages !== undefined && value.pages > 0) { @> 1344 <small>(<@- value.pages @> pages)</small> 1345 <@ } @> 1346 </td> 1347 </tr> 1348 <@ if(value.items != undefined) { @> <@ $.each(value['items'], function(index1, value1) { @> 1349 <tr> 1350 <td></td> 1351 <td><i class="material-icons courseItemIcon" data-type="<@- value1.type @>"></i></td> 1352 <td> 1353 <@- value1.title @> 1354 <@ if(assetInfo && value.type == 'video' && value1.duration !== undefined && value1.duration > 0) { @><small>(<@ print(Math.floor(value1.duration)) @>:00)</small><@ } @> 1355 <@ if(assetInfo && value1.type =='pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @> 1356 <@ if(value1.type =='aiheading') { @><small>(coming soon)</small><@ } @> 1357 </td> 1358 </tr> 1359 <@ }); @> <@ } @> <@ }); @> 1360 </tbody> 1361 </table> 1362</script>
1362 1363 1364 1365<!-- Curriculum 2nd Template -->
1366<script type="text/template" id="coursecurr-2-template"> 1367 <div class="column full curriculum2" spellcheck="false"> 1368 <div class="course-content1" > 1369 <p style="font-size: 15px; font-weight: 400; margin-top: 0px;"> 1370 <@if(summary.modules && summary.modules>0){@> 1371 <@print(summary.modules)@> Modules <i class="icon ion-android-folder-open"></i> <@if(summary.sessions && summary.sessions>0 && curriculumAssetInfo){@>|<@}@> 1372 <@}@> 1373 <@if(summary.sessions && summary.sessions>0 && curriculumAssetInfo){@> 1374 <@print(summary.sessions)@> Sessions <i class="icon ion-android-laptop"></i> <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@>|<@}@> 1375 <@}@> 1376 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 1377 <@print(millisecondsToHHMMSSStr(summary.durations))@> Total Time <i class="icon ion-ios-clock-outline"></i> 1378 <@}@> 1379 </p> 1380 </div> 1381 1382 1383 <@ $.each(item, function(index, value) { @> 1384 <div class="course-course-content-box" > 1385 <div class="course-content-blue-title <@if(value && value.contents){@> bg-primary <@}else if($('#'+id).closest('div.is-section').hasClass("is-bg-grey")){@>bg-white<@}else{@>is-bg-grey<@}@>" > 1386 <span class="title-icon"> 1387 <span class="material-icons <@if(value && !value.contents){@> text-primary <@}@>"><@ print(getCourseAssetIcon(value.type))@></span> 1388 </span> 1389 <div class="titl5b" > 1390 <h3 class="<@if(value && !value.contents){@> text-primary <@}@>"> 1391 <@print(value.title)@> <@ if(curriculumAssetInfo && value.type == 'pdf' && value.pages !== undefined && value.pages > 0) { @><small>(<@- value.pages @> pages)</small><@ } @> 1392 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 1393 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>-<@- courseId @>#<@print(value.id)@>" class="previewBtn"><span class="<@if(value && !value.contents){@> text-primary <@}@>">Preview</span></a> 1394 <@}@> 1395 </h3> 1396 <p class="<@if(value && !value.contents){@> text-primary <@}@>"><@if(value && value.contents && curriculumAssetInfo){@> 1397 Sessions: <@print(value.contents)@> 1398 <@}@> 1399 <@if(value.moduleDurations && curriculumAssetInfo){@><@if(value && value.contents){@>|<@}@> 1400 Time: <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1401 <@}@> 1402 <@if(value && value.contents>0){@><span class="material-icons">expand_more</span><@}@> </p> 1403 </div> 1404 </div> 1405 <@if(value && value.items){@> 1406 <@ $.each(value['items'], function(index1, value1) { @> 1407 <div class="course-content-body <@if(index==0){@>showing<@ }@>" > 1408 <div class="desc1 " > 1409 <div class="is-box-9" > 1410 <div class="boxa1" > 1411 <span class="material-icons text-primary"><@ print(getCourseAssetIcon(value1.type))@></span> 1412 <p> <@print(value1.title)@> <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @> 1413 <@ if(value1.type == 'aiheading') { @><small>(coming soon)</small><@ } @> 1414 </p> 1415 1416 </div> 1417 </div> 1418 <div class="is-box-1" > 1419 <div class="boxa2" > 1420 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 1421 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>#<@print(value1.id)@>"> 1422 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 1423 </a> 1424 <@}@> 1425 </div> 1426 </div> 1427 <div class="is-box-2" > 1428 <div class="boxa2" > 1429 <p class="duration"><@if(value1.duration && curriculumAssetInfo){@><@print(millisecondsToHHMMSSStr(value1.duration))@><@}@></p> 1430 </div> 1431 </div> 1432 </div> 1433 </div> 1434 <@ }); @> 1435 <@}@> 1436 </div> 1437 <@ }); @> 1438 1439 </div> 1440</script>
1440 1441 1442 1443 1444 1445 1446<!-- Curriculum 3rd Template -->
1447<script type="text/template" id="coursecurr-3-template"> 1448 <div class="column full" spellcheck="false" data-gramm="false"> 1449 <div class="accordion-syllabus" > 1450 <@ $.each(item, function(index, value) { @> 1451 <div class="accordion-syllabus-item"> 1452 <header class="accordion-syllabus-header"> 1453 <h4 class="accordion-syllabus-header__title"> 1454 <span class="text-primary"> 1455 <@if(index<9){@> 1456 0<@print(index+1)@> 1457 <@ } else {@> 1458 <@print(index+1)@> 1459 <@ } @> 1460 </span> 1461 <p><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;"> 1462 <@if(value && value.items){@> 1463 <@ print(value.items.length) @> attachment(s) 1464 <@}@> 1465 <@if(value.moduleDurations && curriculumAssetInfo){@> 1466 <@if(value && value.contents){@> • <@}@> 1467 <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1468 <@}@> 1469 </span></p> 1470 1471 </h4> 1472 <div class="accordion-syllabus-header__info"> 1473 <p class="text-primary hide-sm"> 1474 <@if(value && value.items){@> 1475 <@ print(value.items.length) @> attachment(s) 1476 <@}@> 1477 <@if(value.moduleDurations && curriculumAssetInfo){@> 1478 <@if(value && value.contents){@> • <@}@> 1479 <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1480 <@}@> 1481 </p> 1482 <@if(value && value.items){@> 1483 <div class="accordion-syllabus-header__icon text-primary"> 1484 <i class="fa fa-angle-left" aria-hidden="true"></i> 1485 </div> 1486 <@}@> 1487 </div> 1488 </header> 1489 <@if(value && value.items){@> 1490 <div class="accordion-content" style=""> 1491 <div class="accordian-content-block"> 1492 <ul class="accordian-list"> 1493 <@ $.each(value['items'], function(index1, value1) { @> 1494 <li class="accordian-list__item"> 1495 <div class="accordian-content-card"> 1496 <div class="accordian-content-card__info"> 1497 <div class="accordian-content-card__ico"> 1498 <@ if(value1.type == 'code'){ @> 1499 <img src="/resources/images/CodeIcon.svg"> 1500 <@ } else { @> 1501 <span class="material-icons text-primary"> 1502 <@ print(getCourseAssetIcon(value1.type))@> 1503 </span> 1504 <@ } @> 1505 </div> 1506 <div class="accordian-content-card__title"> 1507 <@print(value1.title)@> <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @> 1508 <@ if(value1.type == 'aiheading') { @><small>(coming soon)</small><@ } @> 1509 </div> 1510 </div> 1511 <div class="accordian-content-card__link"> 1512 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 1513 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>-<@- courseId @>#<@print(value1.id)@>" class="previewBtn"> 1514 <span class="text-primary"> 1515 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @><span style="color:#000"><i class="fa fa-solid fa-arrow-up-right"></i></span> 1516 </span> 1517 </a> 1518 <@}@> 1519 </div> 1520 </div> 1521 </li> 1522 <@ }); @> 1523 </ul> 1524 </div> 1525 </div> 1526 <@ } @> 1527 </div> 1528 <@ }); @> 1529 </div> 1530 </div> 1531</script>
1531 1532 1533 1534 1535<!-- Curriculum 4th Template -->
1536<script type="text/template" id="coursecurr-4-template"> 1537 <div class="column full coursecurr4"> 1538 <@ $.each(item, function(index, value) { @> 1539 <div class="accordion-syllabus-item"> 1540 <header class="accordion-syllabus-header" > 1541 <h4 class="accordion-syllabus-header__title"> 1542 <span> 1543 <@if(index<9){@>0<@print(index+1)@><@ } else {@> <@print(index+1)@> <@ } @> 1544 </span> 1545 <div class="accordion-syllabus-header__title-block" > 1546 <p style="font-size: 20px; font-weight: 700;"> 1547 <@print(value.title)@> 1548 </p> 1549 <p class="text-primary" style="font-weight: 500; font-size: 14px; line-height: 150%; margin-top: 10px; "> 1550 <@if(value && value.type == 'aiheading'){@> 1551 (coming soon) 1552 <@}@> 1553 <@if(value && value.items){@> 1554 <@ print(value.items.length) @> attachment(s) 1555 <@}@> 1556 <@if(value.moduleDurations && curriculumAssetInfo){@><@if(value && value.contents){@> • <@}@> 1557 <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1558 <@}@> 1559 </p> 1560 </div> 1561 </h4> 1562 <@if(value && value.items){@> 1563 <div class="accordion-syllabus-header__info" > 1564 <div class="accordion-syllabus-header__icon" > 1565 <i class="fa fa-angle-left" aria-hidden="true"></i> 1566 </div> 1567 </div> 1568 <@ } @> 1569 </header> 1570 <@if(value && value.items){@> 1571 <div class="accordion-content" style=""> 1572 <div class="accordian-content-block" > 1573 <ul class="accordian-list"> 1574 <@ $.each(value['items'], function(index1, value1) { @> 1575 <li class="accordian-list__item"> 1576 <div class="accordian-content-card" > 1577 <div class="accordian-content-card__info" > 1578 <div class="accordian-content-card__ico" > 1579 <@ if(value1.type == 'code'){ @> 1580 <img src="/resources/images/CodeIcon.svg"> 1581 <@ } else { @> 1582 <span class="material-icons text-primary"> 1583 <@ print(getCourseAssetIcon(value1.type))@>262 1584 </span> 1585 <@ } @> 1586 </div> 1587 <div class="accordian-content-card__title" > 1588 <@print(value1.title)@> <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @> 1589 <@ if(value1.type == 'aiheading') { @><small>(coming soon)</small><@ } @> 1590 </div> 1591 </div> 1592 <div class="accordian-content-card__link" > 1593 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 1594 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>-<@- courseId @>#<@print(value1.id)@>" class="previewBtn"> 1595 <span class="text-primary"> 1596 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right"></i></span> 1597 </span> 1598 </a> 1599 <@ } @> 1600 </div> 1601 </div> 1602 </li> 1603 <@ }); @> 1604 </ul> 1605 </div> 1606 </div> 1607 <@ } @> 1608 </div> 1609 <@ }); @> 1610 </div> 1611 </script>
1611 1612 1613 <!-- vegas curriculum-5--> 1614
1614<script> 1615 // Simple responsive positioning 1616 function updatePosition() { 1617 const element = document.getElementById('totalTimeElement'); 1618 if(element){ 1619 if (window.innerWidth > 768) { 1620 element.style.position = 'absolute'; 1621 element.style.top = "5px"; 1622 element.style.right = '122px'; 1623 } else { 1624 element.style.position = 'static'; 1625 element.style.margin = '0 0'; 1626 } 1627 } 1628 } 1629 1630 // Run on load and resize 1631 window.addEventListener('load', updatePosition); 1632 window.addEventListener('resize', updatePosition); 1633 </script>
1633 1634
1634<script type="text/template" id="coursecurr-5-template"> 1635 <div class="total-time" id="totalTimeElement" style=" 1636 font-size: 18px; 1637 font-weight: 600; 1638 color: #FB5607; 1639 padding: 8px 12px; 1640 border-radius: 4px; 1641 white-space: nowrap;"> 1642 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 1643 <@print(millisecondsToHHMMSSStr(summary.durations))@> 1644 <@}@> 1645</div> 1646 1647<div class="accordion-syllabus" style="max-width:1000px !important"> 1648 <@ $.each(item, function(index, value) { @> 1649 <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>"> 1650 <header class="accordion-syllabus-header" style="background:#F5F5F5 !important; border-radius:0px;box-shadow:none;padding:0.5rem !important"> 1651 <h4 class="accordion-syllabus-header__title"> 1652 <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 1653 <@if(index < 9) {@> 1654 Week <@print(index + 1)@>: 1655 <@ } else {@> 1656 Week <@print(index + 1)@>: 1657 <@ } @> 1658 </span> 1659 <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;"> 1660 <@if(value && value.items){@> 1661 <@ print(value.items.length) @> attachment(s) 1662 <@} else {@> 1663 1 attachment(s) 1664 <@}@> 1665 <@if(value.moduleDurations && curriculumAssetInfo){@> 1666 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1667 <@}@> 1668 </span></p> 1669 </h4> 1670 1671 <div class="accordion-syllabus-header__info"> 1672 <p class="text-primary hide-sm" style="color:#FB5607 !important;"> 1673 <@if(value && value.items){@> 1674 <@ print(value.items.length) @> attachment(s) 1675 <@} else {@> 1676 1 attachment(s) 1677 <@}@> 1678 <@if(value.moduleDurations && curriculumAssetInfo){@> 1679 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1680 <@}@> 1681 </p> 1682 <div class="accordion-syllabus-header__icon text-primary"> 1683 <i class="fa fa-angle-left" aria-hidden="true" style="color:#FB5607;"></i> 1684 </div> 1685 </div> 1686 </header> 1687 <div class="accordion-content" style="filter:none;"> 1688 <div class="accordian-content-block" style="background:#F5F5F5 !important;box-shadow:none;padding:16px 66px 3px 69px !important;"> 1689 <ul class="accordian-list"> 1690 <@ var itemsCount = value['items'] ? value['items'].length : 0; @> 1691 <@ if(value['items'] && value['items'].length > 0) { @> 1692 <@ $.each(value['items'], function(index1, value1) { @> 1693 <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 1694 <style> 1695 @media (max-width: 768px) { 1696 .accordian-content-card { 1697 flex-direction: column !important; 1698 align-items: stretch !important; 1699 } 1700 1701 .accordian-content-card__top { 1702 flex-direction: row !important; 1703 justify-content: space-between !important; 1704 align-items: center !important; 1705 width: 100% !important; 1706 } 1707 1708 .accordian-content-card__title { 1709 flex: 1 !important; 1710 margin: 0 10px !important; 1711 white-space: nowrap; 1712 overflow: hidden; 1713 text-overflow: ellipsis; 1714 } 1715 1716 .accordian-content-card__bottom { 1717 flex-direction: row !important; 1718 justify-content: space-between !important; 1719 align-items: center !important; 1720 width: 100% !important; 1721 margin-top: 6px !important; 1722 } 1723 1724 .accordian-content-card__link { 1725 flex: 1 !important; 1726 min-width: 0 !important; 1727 text-align: left !important; 1728 } 1729 1730 .accordian-content-card__time { 1731 flex-shrink: 0 !important; 1732 text-align: right !important; 1733 } 1734 } 1735 </style> 1736 1737 <div class="accordian-content-card" 1738 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 1739 1740 1741 <!-- Row 1: Icon + Title + Collapse Icon --> 1742 <div class="accordian-content-card__top" 1743 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 1744 1745 <!-- Icon --> 1746 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 1747 <@ if(value1.type == 'code'){ @> 1748 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 1749 <@ } else { @>
1750 <span class="material-icons text-primary" style="color:#FB5607; font-size: 24px;"> 1751 <@ print(getCourseAssetIcon(value1.type))@> 1752 </span> 1753 <@ } @> 1754 </div> 1755 1756 <!-- Title --> 1757 <div class="accordian-content-card__title" 1758 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 1759 <@print(value1.title)@> 1760 </div> 1761 1762 <!-- Collapse Icon (optional) --> 1763 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 1764 <!-- Example placeholder, add real icon if needed --> 1765 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 1766 </div> 1767 </div> 1768 1769 <!-- Row 2: Preview Button and Time --> 1770 <div class="accordian-content-card__bottom" 1771 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 1772 1773 <!-- Preview Button --> 1774 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 1775 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 1776 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>" 1777 class="previewBtn" 1778 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #FB5607; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 1779 <span class="text-primary" style="color:#FB5607;"> 1780 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 1781 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#FB5607;"></i></span> 1782 </span> 1783 </a> 1784 <@}@> 1785 </div> 1786 1787 <!-- Time --> 1788 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 1789 <p class="text-primary course-asset-time" 1790 style="font-size: 14px; font-weight: 500; color:#FB5607 !important; margin: 0;"> 1791 <@ if(value1.duration && value1.duration > 0) { @> 1792 <@ print(millisecondsToHHMMSSStr(value1.duration)) @> 1793 <@ } else { @> 1794 -- 1795 <@ } @> 1796 </p> 1797 </div> 1798 1799 </div> 1800 </div> 1801 1802 1803 </li> 1804 <@ }); @> 1805 <@ } else { @> 1806 <li class="accordian-list__item" style="padding:0px 0px !important;"> 1807 <div class="accordian-content-card" 1808 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 1809 1810 <!-- Row 1: Icon + Title + Collapse Icon --> 1811 <div class="accordian-content-card__top" 1812 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 1813 1814 <!-- Icon --> 1815 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 1816 <@ if(value.type == 'code'){ @> 1817 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 1818 <@ } else { @> 1819 <span class="material-icons text-primary" style="color:#FB5607; font-size: 24px;"> 1820 <@ print(getCourseAssetIcon(value.type))@> 1821 </span> 1822 <@ } @> 1823 </div> 1824 1825 <!-- Title --> 1826 <div class="accordian-content-card__title" 1827 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 1828 <@print(value.title)@> 1829 </div> 1830 1831 <!-- Collapse Icon (optional) --> 1832 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 1833 <!-- Example placeholder, add real icon if needed --> 1834 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 1835 </div> 1836 </div> 1837 1838 <!-- Row 2: Preview Button and Time --> 1839 <div class="accordian-content-card__bottom" 1840 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 1841 1842 <!-- Preview Button --> 1843 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 1844 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 1845 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>" 1846 class="previewBtn" 1847 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #FB5607; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
1848 <span class="text-primary" style="color:#FB5607;"> 1849 <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 1850 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#FB5607;"></i></span> 1851 </span> 1852 </a> 1853 <@}@> 1854 </div> 1855 1856 <!-- Time --> 1857 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 1858 <p class="text-primary course-asset-time" 1859 style="font-size: 14px; font-weight: 500; color:#FB5607 !important; margin: 0;"> 1860 <@ if(value.duration && value.duration > 0) { @> 1861 <@ print(millisecondsToHHMMSSStr(value.duration)) @> 1862 <@ } else { @> 1863 -- 1864 <@ } @> 1865 </p> 1866 </div> 1867 </div> 1868 </div> 1869 </li> 1870 <@ } @> 1871 </ul> 1872 1873 <@ if(itemsCount > 5) { @> 1874 <div style="text-align: center; margin-top: 10px;"> 1875 <button style="background-color: #FB5607; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 1876 onclick=" 1877 var parentAccordion = this.closest('.accordion-content'); 1878 parentAccordion.style.maxHeight = 'none'; 1879 this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 1880 this.style.display = 'none'; 1881 "> 1882 View All 1883 </button> 1884 </div> 1885 <@ } @> 1886 </div> 1887 </div> 1888 </div> 1889 <@ }); @> 1890 <@ if(item.length > 5) { @> 1891 <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;"> 1892 <button style="background-color: #FB5607; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 1893 onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';"> 1894 View All Sessions 1895 </button> 1896 </div> 1897 <@ } @> 1898</div> 1899 </div> 1900</script>
1900 1901 1902 1903<!--Blaze-Curriculum-6-->
1904<script type="text/template" id="coursecurr-6-template"> 1905 <div class="column full" spellcheck="false" data-gramm="false"> 1906 <div class="total-time" id="totalTimeElement" style=" 1907 font-size: 18px; 1908 font-weight: 600; 1909 color: #D8FD46; 1910 padding: 8px 12px; 1911 border-radius: 4px; 1912 white-space: nowrap; 1913 background: #232323; 1914 margin-bottom: 20px;"> 1915 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 1916 <@print(millisecondsToHHMMSSStr(summary.durations))@> 1917 <@}@> 1918 </div> 1919 1920 <div class="accordion-syllabus"> 1921 <@ $.each(item, function(index, value) { @> 1922 <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>"> 1923 <header class="accordion-syllabus-header" style="background:#232323 !important; border-radius:0px;box-shadow:none;padding:20px 20px !important"> 1924 <h4 class="accordion-syllabus-header__title"> 1925 <span class="text-primary" style="font-size:18px ; font-weight:600; color:white;"> 1926 <@if(index < 9) {@> 1927 Week <@print(index + 1)@>: 1928 <@ } else {@> 1929 Week <@print(index + 1)@>: 1930 <@ } @> 1931 </span> 1932 <p style="font-size:18px ; font-weight:600;color:white;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;color:#D8FD46 !important;"> 1933 <@if(value && value.items){@> 1934 <@ print(value.items.length) @> attachment(s) 1935 <@} else {@> 1936 1 attachment(s) 1937 <@}@> 1938 <@if(value.moduleDurations && curriculumAssetInfo){@> 1939 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1940 <@}@> 1941 </span></p> 1942 </h4> 1943 <div class="accordion-syllabus-header__info"> 1944 <p class="text-primary hide-sm" style="color:#D8FD46 !important;"> 1945 <@if(value && value.items){@> 1946 <@ print(value.items.length) @> attachment(s) 1947 <@} else {@> 1948 1 attachment(s) 1949 <@}@> 1950 <@if(value.moduleDurations && curriculumAssetInfo){@> 1951 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 1952 <@}@> 1953 </p> 1954 <div class="accordion-syllabus-header__icon text-primary"> 1955 <i class="fa fa-angle-left" aria-hidden="true" style="color:#D8FD46;"></i> 1956 </div> 1957 </div> 1958 </header> 1959 <div class="accordion-content" style="filter:none;background:#181818;"> 1960 <div class="accordian-content-block" style="box-shadow:none;padding:16px 20px !important;background:transparent !important;"> 1961 <ul class="accordian-list"> 1962 <@ var itemsCount = value['items'] ? value['items'].length : 0; @> 1963 <@ if(value['items'] && value['items'].length > 0) { @> 1964 <@ $.each(value['items'], function(index1, value1) { @> 1965 <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 1966 <style> 1967 @media (max-width: 768px) { 1968 .accordian-content-card { 1969 flex-direction: column !important; 1970 align-items: stretch !important; 1971 } 1972 1973 .accordian-content-card__top { 1974 flex-direction: row !important; 1975 justify-content: space-between !important; 1976 align-items: center !important; 1977 width: 100% !important; 1978 } 1979 1980 .accordian-content-card__title { 1981 flex: 1 !important; 1982 margin: 0 10px !important; 1983 white-space: nowrap; 1984 overflow: hidden; 1985 text-overflow: ellipsis; 1986 } 1987 1988 .accordian-content-card__bottom { 1989 flex-direction: row !important; 1990 justify-content: space-between !important; 1991 align-items: center !important; 1992 width: 100% !important; 1993 margin-top: 6px !important; 1994 } 1995 1996 .accordian-content-card__link { 1997 flex: 1 !important; 1998 min-width: 0 !important; 1999 text-align: left !important; 2000 } 2001 2002 .accordian-content-card__time { 2003 flex-shrink: 0 !important; 2004 text-align: right !important; 2005 } 2006 } 2007 </style> 2008 2009 <div class="accordian-content-card" 2010 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; "> 2011 2012 <!-- Row 1: Icon + Title + Collapse Icon --> 2013 <div class="accordian-content-card__top" 2014 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2015 2016 <!-- Icon --> 2017 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2018 <@ if(value1.type == 'code'){ @> 2019 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px; filter: invert(1);"> 2020 <@ } else { @>
2021 <span class="material-icons text-primary" style="color:#D8FD46; font-size: 24px;"> 2022 <@ print(getCourseAssetIcon(value1.type))@> 2023 </span> 2024 <@ } @> 2025 </div> 2026 2027 <!-- Title --> 2028 <div class="accordian-content-card__title" 2029 style="font-weight: 400; font-size: 14px; color: white; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2030 <@print(value1.title)@> 2031 <!-- <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @> 2032 <small style="color: #999;">(<@- value1.pages @> pages)</small> 2033 <@ } @> 2034 <@ if(value1.type == 'aiheading') { @> 2035 <small style="color: #999;">(coming soon)</small> 2036 <@ } @> --> 2037 </div> 2038 2039 <!-- Collapse Icon --> 2040 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2041 </div> 2042 </div> 2043 2044 <!-- Row 2: Preview Button and Time --> 2045 <div class="accordian-content-card__bottom" 2046 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2047 2048 <!-- Preview Button --> 2049 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2050 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 2051 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>" 2052 class="previewBtn" 2053 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #D8FD46 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 2054 <span class="text-primary" style="color:#D8FD46;"> 2055 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2056 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#D8FD46;"></i></span> 2057 </span> 2058 </a> 2059 <@}@> 2060 </div> 2061 2062 <!-- Time --> 2063 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2064 <p class="text-primary course-asset-time" 2065 style="font-size: 14px; font-weight: 500; color:#D8FD46 !important; margin: 0;"> 2066 <@ if(value1.duration && value1.duration > 0) { @> 2067 <@ print(millisecondsToHHMMSSStr(value1.duration)) @> 2068 <@ } else { @> 2069 -- 2070 <@ } @> 2071 </p> 2072 </div> 2073 </div> 2074 </div> 2075 </li> 2076 <@ }); @> 2077 <@ } else { @> 2078 <li class="accordian-list__item" style="padding:0px 0px !important;"> 2079 <div class="accordian-content-card" 2080 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; "> 2081 2082 <!-- Row 1: Icon + Title + Collapse Icon --> 2083 <div class="accordian-content-card__top" 2084 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2085 2086 <!-- Icon --> 2087 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2088 <@ if(value.type == 'code'){ @> 2089 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px; filter: invert(1);"> 2090 <@ } else { @> 2091 <span class="material-icons text-primary" style="color:#D8FD46; font-size: 24px;"> 2092 <@ print(getCourseAssetIcon(value.type))@> 2093 </span> 2094 <@ } @> 2095 </div> 2096 2097 <!-- Title --> 2098 <div class="accordian-content-card__title" 2099 style="font-weight: 400; font-size: 14px; color: white; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2100 <@print(value.title)@> 2101 </div> 2102 2103 <!-- Collapse Icon (optional) --> 2104 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2105 <!-- Example placeholder, add real icon if needed --> 2106 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2107 </div> 2108 </div> 2109 2110 <!-- Row 2: Preview Button and Time --> 2111 <div class="accordian-content-card__bottom" 2112 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2113 2114 <!-- Preview Button --> 2115 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2116 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 2117 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>" 2118 class="previewBtn" 2119 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #D8FD46 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 2120 <span class="text-primary" style="color:#D8FD46;"> 2121 <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2122 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#D8FD46;"></i></span> 2123 </span> 2124 </a> 2125 <@}@> 2126 </div> 2127 2128 <!-- Time --> 2129 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2130 <p class="text-primary course-asset-time" 2131 style="font-size: 14px; font-weight: 500; color:#D8FD46 !important; margin: 0;"> 2132 <@ if(value.duration && value.duration > 0) { @> 2133 <@ print(millisecondsToHHMMSSStr(value.duration)) @> 2134 <@ } else { @> 2135 -- 2136 <@ } @> 2137 </p> 2138 </div> 2139 </div> 2140 </div> 2141 </li> 2142 <@ } @> 2143 </ul> 2144 2145 <@ if(itemsCount > 5) { @> 2146 <div style="text-align: center; margin-top: 10px;"> 2147 <button style="background-color: #D8FD46; color: black; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 0px;" 2148 onclick=" 2149 var parentAccordion = this.closest('.accordion-content'); 2150 parentAccordion.style.maxHeight = 'none'; 2151 this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 2152 this.style.display = 'none'; 2153 "> 2154 View All 2155 </button> 2156 </div> 2157 <@ } @> 2158 </div> 2159 </div> 2160 </div> 2161 <@ }); @> 2162 <@ if(item.length > 5) { @> 2163 <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;"> 2164 <button style="background-color: #D8FD46; color: black; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 0px;" 2165 onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';"> 2166 View All Sessions 2167 </button> 2168 </div> 2169 <@ } @> 2170 </div> 2171 </div> 2172</script>
2172 2173
2174<script> 2175 // Simple responsive positioning (same as Vegas) 2176 function updatePosition() { 2177 const element = document.getElementById('totalTimeElement'); 2178 if(element){ 2179 if (window.innerWidth > 768) { 2180 element.style.position = 'absolute'; 2181 element.style.top = "5px"; 2182 element.style.right = '122px'; 2183 } else { 2184 element.style.position = 'static'; 2185 element.style.margin = '0 0'; 2186 } 2187 } 2188 } 2189 2190 // Run on load and resize 2191 window.addEventListener('load', updatePosition); 2192 window.addEventListener('resize', updatePosition); 2193</script>
2193 2194 2195 2196 2197 2198<!--Nebula Curriculum 7--> 2199 2200
2201<script> 2202 // Simple responsive positioning 2203 function updatePosition() { 2204 const element = document.getElementById('totalTimeElement'); 2205 if(element){ 2206 if (window.innerWidth > 768) { 2207 element.style.position = 'absolute'; 2208 element.style.top = "5px"; 2209 element.style.right = '122px'; 2210 } else { 2211 element.style.position = 'static'; 2212 element.style.margin = '0 0'; 2213 } 2214 } 2215 } 2216 2217 // Run on load and resize 2218 window.addEventListener('load', updatePosition); 2219 window.addEventListener('resize', updatePosition); 2220 </script>
2220 2221
2221<script type="text/template" id="coursecurr-7-template"> 2222 <div class="total-time" id="totalTimeElement" style=" 2223 font-size: 18px; 2224 font-weight: 600; 2225 color: #6715FF; 2226 padding: 8px 12px; 2227 border-radius: 4px; 2228 white-space: nowrap;"> 2229 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 2230 <@print(millisecondsToHHMMSSStr(summary.durations))@> 2231 <@}@> 2232</div> 2233 2234<div class="accordion-syllabus" style="max-width:1000px !important"> 2235 <@ $.each(item, function(index, value) { @> 2236 <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>"> 2237 <header class="accordion-syllabus-header" style="background:#F1ECFB !important; border-radius16px;box-shadow:none;padding:20px !important"> 2238 <h4 class="accordion-syllabus-header__title"> 2239 <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 2240 <@if(index < 9) {@> 2241 Week <@print(index + 1)@>: 2242 <@ } else {@> 2243 Week <@print(index + 1)@>: 2244 <@ } @> 2245 </span> 2246 <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;"> 2247 <@if(value && value.items){@> 2248 <@ print(value.items.length) @> attachment(s) 2249 <@} else {@> 2250 1 attachment(s) 2251 <@}@> 2252 <@if(value.moduleDurations && curriculumAssetInfo){@> 2253 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2254 <@}@> 2255 </span></p> 2256 </h4> 2257 2258 <div class="accordion-syllabus-header__info"> 2259 <p class="text-primary hide-sm" style="color:#6715FF !important;"> 2260 <@if(value && value.items){@> 2261 <@ print(value.items.length) @> attachment(s) 2262 <@} else {@> 2263 1 attachment(s) 2264 <@}@> 2265 <@if(value.moduleDurations && curriculumAssetInfo){@> 2266 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2267 <@}@> 2268 </p> 2269 <div class="accordion-syllabus-header__icon text-primary"> 2270 <i class="fa fa-angle-left" aria-hidden="true" style="color:#6715FF;"></i> 2271 </div> 2272 </div> 2273 </header> 2274 <div class="accordion-content" style="filter:none;background:transparent !important;"> 2275 <div class="accordian-content-block" style="background:transparent !important;box-shadow:none;padding:16px 66px 3px 69px !important;"> 2276 <ul class="accordian-list"> 2277 <@ var itemsCount = value['items'] ? value['items'].length : 0; @> 2278 <@ if(value['items'] && value['items'].length > 0) { @> 2279 <@ $.each(value['items'], function(index1, value1) { @> 2280 <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 2281 <style> 2282 @media (max-width: 768px) { 2283 .accordian-content-card { 2284 flex-direction: column !important; 2285 align-items: stretch !important; 2286 } 2287 2288 .accordian-content-card__top { 2289 flex-direction: row !important; 2290 justify-content: space-between !important; 2291 align-items: center !important; 2292 width: 100% !important; 2293 } 2294 2295 .accordian-content-card__title { 2296 flex: 1 !important; 2297 margin: 0 10px !important; 2298 white-space: nowrap; 2299 overflow: hidden; 2300 text-overflow: ellipsis; 2301 } 2302 2303 .accordian-content-card__bottom { 2304 flex-direction: row !important; 2305 justify-content: space-between !important; 2306 align-items: center !important; 2307 width: 100% !important; 2308 margin-top: 6px !important; 2309 } 2310 2311 .accordian-content-card__link { 2312 flex: 1 !important; 2313 min-width: 0 !important; 2314 text-align: left !important; 2315 } 2316 2317 .accordian-content-card__time { 2318 flex-shrink: 0 !important; 2319 text-align: right !important; 2320 } 2321 } 2322 </style> 2323 2324 <div class="accordian-content-card" 2325 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 2326 2327 2328 <!-- Row 1: Icon + Title + Collapse Icon --> 2329 <div class="accordian-content-card__top" 2330 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2331 2332 <!-- Icon --> 2333 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2334 <@ if(value1.type == 'code'){ @> 2335 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 2336 <@ } else { @>
2337 <span class="material-icons text-primary" style="color:#6715FF; font-size: 24px;"> 2338 <@ print(getCourseAssetIcon(value1.type))@> 2339 </span> 2340 <@ } @> 2341 </div> 2342 2343 <!-- Title --> 2344 <div class="accordian-content-card__title" 2345 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2346 <@print(value1.title)@> 2347 </div> 2348 2349 <!-- Collapse Icon (optional) --> 2350 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2351 <!-- Example placeholder, add real icon if needed --> 2352 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2353 </div> 2354 </div> 2355 2356 <!-- Row 2: Preview Button and Time --> 2357 <div class="accordian-content-card__bottom" 2358 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2359 2360 <!-- Preview Button --> 2361 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2362 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 2363 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>" 2364 class="previewBtn" 2365 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #6715FF; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 2366 <span class="text-primary" style="color:#6715FF;"> 2367 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2368 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#6715FF;"></i></span> 2369 </span> 2370 </a> 2371 <@}@> 2372 </div> 2373 2374 <!-- Time --> 2375 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2376 <p class="text-primary course-asset-time" 2377 style="font-size: 14px; font-weight: 500; color:#6715FF !important; margin: 0;"> 2378 <@ if(value1.duration && value1.duration > 0) { @> 2379 <@ print(millisecondsToHHMMSSStr(value1.duration)) @> 2380 <@ } else { @> 2381 -- 2382 <@ } @> 2383 </p> 2384 </div> 2385 2386 </div> 2387 </div> 2388 2389 2390 </li> 2391 <@ }); @> 2392 <@ } else { @> 2393 <li class="accordian-list__item" style="padding:0px 0px !important;"> 2394 <div class="accordian-content-card" 2395 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 2396 2397 <!-- Row 1: Icon + Title + Collapse Icon --> 2398 <div class="accordian-content-card__top" 2399 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2400 2401 <!-- Icon --> 2402 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2403 <@ if(value.type == 'code'){ @> 2404 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 2405 <@ } else { @> 2406 <span class="material-icons text-primary" style="color:#6715FF; font-size: 24px;"> 2407 <@ print(getCourseAssetIcon(value.type))@> 2408 </span> 2409 <@ } @> 2410 </div> 2411 2412 <!-- Title --> 2413 <div class="accordian-content-card__title" 2414 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2415 <@print(value.title)@> 2416 </div> 2417 2418 <!-- Collapse Icon (optional) --> 2419 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2420 <!-- Example placeholder, add real icon if needed --> 2421 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2422 </div> 2423 </div> 2424 2425 <!-- Row 2: Preview Button and Time --> 2426 <div class="accordian-content-card__bottom" 2427 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2428 2429 <!-- Preview Button --> 2430 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2431 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 2432 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>" 2433 class="previewBtn" 2434 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #6715FF; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
2435 <span class="text-primary" style="color:#6715FF;"> 2436 <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2437 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#6715FF;"></i></span> 2438 </span> 2439 </a> 2440 <@}@> 2441 </div> 2442 2443 <!-- Time --> 2444 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2445 <p class="text-primary course-asset-time" 2446 style="font-size: 14px; font-weight: 500; color:#6715FF !important; margin: 0;"> 2447 <@ if(value.duration && value.duration > 0) { @> 2448 <@ print(millisecondsToHHMMSSStr(value.duration)) @> 2449 <@ } else { @> 2450 -- 2451 <@ } @> 2452 </p> 2453 </div> 2454 </div> 2455 </div> 2456 </li> 2457 <@ } @> 2458 </ul> 2459 2460 <@ if(itemsCount > 5) { @> 2461 <div style="text-align: center; margin-top: 10px;"> 2462 <button style="background-color: #6715FF; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 2463 onclick=" 2464 var parentAccordion = this.closest('.accordion-content'); 2465 parentAccordion.style.maxHeight = 'none'; 2466 this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 2467 this.style.display = 'none'; 2468 "> 2469 View All 2470 </button> 2471 </div> 2472 <@ } @> 2473 </div> 2474 </div> 2475 </div> 2476 <@ }); @> 2477 <@ if(item.length > 5) { @> 2478 <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;"> 2479 <button style="background-color: #6715FF; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 2480 onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';"> 2481 View All Sessions 2482 </button> 2483 </div> 2484 <@ } @> 2485</div> 2486 </div> 2487</script>
2487 2488 2489 2490 2491<!--Olive Curriculum 8-->
2492<script> 2493 // Simple responsive positioning 2494 function updatePosition() { 2495 const element = document.getElementById('totalTimeElement'); 2496 if(element){ 2497 if (window.innerWidth > 768) { 2498 element.style.position = 'absolute'; 2499 element.style.top = "5px"; 2500 element.style.right = '122px'; 2501 } else { 2502 element.style.position = 'static'; 2503 element.style.margin = '0 0'; 2504 } 2505 } 2506 } 2507 2508 // Run on load and resize 2509 window.addEventListener('load', updatePosition); 2510 window.addEventListener('resize', updatePosition); 2511 </script>
2511 2512
2512<script type="text/template" id="coursecurr-8-template"> 2513 <div class="total-time" id="totalTimeElement" style=" 2514 font-size: 18px; 2515 font-weight: 600; 2516 color: #064400; 2517 padding: 8px 12px; 2518 border-radius: 4px; 2519 white-space: nowrap;"> 2520 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 2521 <@print(millisecondsToHHMMSSStr(summary.durations))@> 2522 <@}@> 2523</div> 2524 2525<div class="accordion-syllabus" style="max-width:1000px !important"> 2526 <@ $.each(item, function(index, value) { @> 2527 <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>"> 2528 <header class="accordion-syllabus-header" style="background:#E5E5E5 !important; border-radius16px;box-shadow:none;padding:20px !important"> 2529 <h4 class="accordion-syllabus-header__title"> 2530 <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 2531 <@if(index < 9) {@> 2532 Week <@print(index + 1)@>: 2533 <@ } else {@> 2534 Week <@print(index + 1)@>: 2535 <@ } @> 2536 </span> 2537 <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;"> 2538 <@if(value && value.items){@> 2539 <@ print(value.items.length) @> attachment(s) 2540 <@} else {@> 2541 1 attachment(s) 2542 <@}@> 2543 <@if(value.moduleDurations && curriculumAssetInfo){@> 2544 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2545 <@}@> 2546 </span></p> 2547 </h4> 2548 2549 <div class="accordion-syllabus-header__info"> 2550 <p class="text-primary hide-sm" style="color:#064400 !important;"> 2551 <@if(value && value.items){@> 2552 <@ print(value.items.length) @> attachment(s) 2553 <@} else {@> 2554 1 attachment(s) 2555 <@}@> 2556 <@if(value.moduleDurations && curriculumAssetInfo){@> 2557 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2558 <@}@> 2559 </p> 2560 <div class="accordion-syllabus-header__icon text-primary"> 2561 <i class="fa fa-angle-left" aria-hidden="true" style="color:#064400;"></i> 2562 </div> 2563 </div> 2564 </header> 2565 <div class="accordion-content" style="filter:none;background:transparent !important;"> 2566 <div class="accordian-content-block" style="background:transparent !important;box-shadow:none;padding:16px 66px 3px 69px !important;"> 2567 <ul class="accordian-list"> 2568 <@ var itemsCount = value['items'] ? value['items'].length : 0; @> 2569 <@ if(value['items'] && value['items'].length > 0) { @> 2570 <@ $.each(value['items'], function(index1, value1) { @> 2571 <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 2572 <style> 2573 @media (max-width: 768px) { 2574 .accordian-content-card { 2575 flex-direction: column !important; 2576 align-items: stretch !important; 2577 } 2578 2579 .accordian-content-card__top { 2580 flex-direction: row !important; 2581 justify-content: space-between !important; 2582 align-items: center !important; 2583 width: 100% !important; 2584 } 2585 2586 .accordian-content-card__title { 2587 flex: 1 !important; 2588 margin: 0 10px !important; 2589 white-space: nowrap; 2590 overflow: hidden; 2591 text-overflow: ellipsis; 2592 } 2593 2594 .accordian-content-card__bottom { 2595 flex-direction: row !important; 2596 justify-content: space-between !important; 2597 align-items: center !important; 2598 width: 100% !important; 2599 margin-top: 6px !important; 2600 } 2601 2602 .accordian-content-card__link { 2603 flex: 1 !important; 2604 min-width: 0 !important; 2605 text-align: left !important; 2606 } 2607 2608 .accordian-content-card__time { 2609 flex-shrink: 0 !important; 2610 text-align: right !important; 2611 } 2612 } 2613 </style> 2614 2615 <div class="accordian-content-card" 2616 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 2617 2618 2619 <!-- Row 1: Icon + Title + Collapse Icon --> 2620 <div class="accordian-content-card__top" 2621 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2622 2623 <!-- Icon --> 2624 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2625 <@ if(value1.type == 'code'){ @> 2626 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 2627 <@ } else { @>
2628 <span class="material-icons text-primary" style="color:#064400; font-size: 24px;"> 2629 <@ print(getCourseAssetIcon(value1.type))@> 2630 </span> 2631 <@ } @> 2632 </div> 2633 2634 <!-- Title --> 2635 <div class="accordian-content-card__title" 2636 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2637 <@print(value1.title)@> 2638 </div> 2639 2640 <!-- Collapse Icon (optional) --> 2641 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2642 <!-- Example placeholder, add real icon if needed --> 2643 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2644 </div> 2645 </div> 2646 2647 <!-- Row 2: Preview Button and Time --> 2648 <div class="accordian-content-card__bottom" 2649 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2650 2651 <!-- Preview Button --> 2652 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2653 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 2654 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>" 2655 class="previewBtn" 2656 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #064400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 2657 <span class="text-primary" style="color:#064400;"> 2658 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2659 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#064400;"></i></span> 2660 </span> 2661 </a> 2662 <@}@> 2663 </div> 2664 2665 <!-- Time --> 2666 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2667 <p class="text-primary course-asset-time" 2668 style="font-size: 14px; font-weight: 500; color:#064400 !important; margin: 0;"> 2669 <@ if(value1.duration && value1.duration > 0) { @> 2670 <@ print(millisecondsToHHMMSSStr(value1.duration)) @> 2671 <@ } else { @> 2672 -- 2673 <@ } @> 2674 </p> 2675 </div> 2676 2677 </div> 2678 </div> 2679 2680 2681 </li> 2682 <@ }); @> 2683 <@ } else { @> 2684 <li class="accordian-list__item" style="padding:0px 0px !important;"> 2685 <div class="accordian-content-card" 2686 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 2687 2688 <!-- Row 1: Icon + Title + Collapse Icon --> 2689 <div class="accordian-content-card__top" 2690 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2691 2692 <!-- Icon --> 2693 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2694 <@ if(value.type == 'code'){ @> 2695 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 2696 <@ } else { @> 2697 <span class="material-icons text-primary" style="color:#064400; font-size: 24px;"> 2698 <@ print(getCourseAssetIcon(value.type))@> 2699 </span> 2700 <@ } @> 2701 </div> 2702 2703 <!-- Title --> 2704 <div class="accordian-content-card__title" 2705 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2706 <@print(value.title)@> 2707 </div> 2708 2709 <!-- Collapse Icon (optional) --> 2710 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2711 <!-- Example placeholder, add real icon if needed --> 2712 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2713 </div> 2714 </div> 2715 2716 <!-- Row 2: Preview Button and Time --> 2717 <div class="accordian-content-card__bottom" 2718 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2719 2720 <!-- Preview Button --> 2721 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2722 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 2723 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>" 2724 class="previewBtn" 2725 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #064400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
2726 <span class="text-primary" style="color:#064400;"> 2727 <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2728 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#064400;"></i></span> 2729 </span> 2730 </a> 2731 <@}@> 2732 </div> 2733 2734 <!-- Time --> 2735 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2736 <p class="text-primary course-asset-time" 2737 style="font-size: 14px; font-weight: 500; color:#064400 !important; margin: 0;"> 2738 <@ if(value.duration && value.duration > 0) { @> 2739 <@ print(millisecondsToHHMMSSStr(value.duration)) @> 2740 <@ } else { @> 2741 -- 2742 <@ } @> 2743 </p> 2744 </div> 2745 </div> 2746 </div> 2747 </li> 2748 <@ } @> 2749 </ul> 2750 2751 <@ if(itemsCount > 5) { @> 2752 <div style="text-align: center; margin-top: 10px;"> 2753 <button style="background-color: #064400; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 2754 onclick=" 2755 var parentAccordion = this.closest('.accordion-content'); 2756 parentAccordion.style.maxHeight = 'none'; 2757 this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 2758 this.style.display = 'none'; 2759 "> 2760 View All 2761 </button> 2762 </div> 2763 <@ } @> 2764 </div> 2765 </div> 2766 </div> 2767 <@ }); @> 2768 <@ if(item.length > 5) { @> 2769 <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;"> 2770 <button style="background-color: #064400; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 2771 onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';"> 2772 View All Sessions 2773 </button> 2774 </div> 2775 <@ } @> 2776</div> 2777 </div> 2778</script>
2778 2779 2780 2781 2782<!--Dusk Curriculum 9-->
2783<script> 2784 // Simple responsive positioning 2785 function updatePosition() { 2786 const element = document.getElementById('totalTimeElement'); 2787 if(element){ 2788 if (window.innerWidth > 768) { 2789 element.style.position = 'absolute'; 2790 element.style.top = "5px"; 2791 element.style.right = '122px'; 2792 } else { 2793 element.style.position = 'static'; 2794 element.style.margin = '0 0'; 2795 } 2796 } 2797 } 2798 2799 // Run on load and resize 2800 window.addEventListener('load', updatePosition); 2801 window.addEventListener('resize', updatePosition); 2802 </script>
2802 2803
2803<script> 2804 // Simple responsive positioning 2805 function updatePosition() { 2806 const element = document.getElementById('totalTimeElement'); 2807 if(element){ 2808 if (window.innerWidth > 768) { 2809 element.style.position = 'absolute'; 2810 element.style.top = "5px"; 2811 element.style.right = '122px'; 2812 } else { 2813 element.style.position = 'static'; 2814 element.style.margin = '0 0'; 2815 } 2816 } 2817 } 2818 2819 // Run on load and resize 2820 window.addEventListener('load', updatePosition); 2821 window.addEventListener('resize', updatePosition); 2822 </script>
2822 2823
2823<script type="text/template" id="coursecurr-9-template"> 2824 <div class="total-time" id="totalTimeElement" style=" 2825 font-size: 18px; 2826 font-weight: 600; 2827 color: #282400; 2828 padding: 8px 12px; 2829 border-radius: 4px; 2830 white-space: nowrap;"> 2831 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 2832 <@print(millisecondsToHHMMSSStr(summary.durations))@> 2833 <@}@> 2834</div> 2835 2836<div class="accordion-syllabus" style="max-width:1000px !important"> 2837 <@ $.each(item, function(index, value) { @> 2838 <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>"> 2839 <header class="accordion-syllabus-header" style="background:#F5F5F5 !important; border-radius:8px;box-shadow:none;padding:20px !important"> 2840 <h4 class="accordion-syllabus-header__title"> 2841 <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 2842 <@if(index < 9) {@> 2843 Week <@print(index + 1)@>: 2844 <@ } else {@> 2845 Week <@print(index + 1)@>: 2846 <@ } @> 2847 </span> 2848 <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;"> 2849 <@if(value && value.items){@> 2850 <@ print(value.items.length) @> attachment(s) 2851 <@} else {@> 2852 1 attachment(s) 2853 <@}@> 2854 <@if(value.moduleDurations && curriculumAssetInfo){@> 2855 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2856 <@}@> 2857 </span></p> 2858 </h4> 2859 2860 <div class="accordion-syllabus-header__info"> 2861 <p class="text-primary hide-sm" style="color:#282400 !important;"> 2862 <@if(value && value.items){@> 2863 <@ print(value.items.length) @> attachment(s) 2864 <@} else {@> 2865 1 attachment(s) 2866 <@}@> 2867 <@if(value.moduleDurations && curriculumAssetInfo){@> 2868 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2869 <@}@> 2870 </p> 2871 <div class="accordion-syllabus-header__icon text-primary"> 2872 <i class="fa fa-angle-left" aria-hidden="true" style="color:#282400;"></i> 2873 </div> 2874 </div> 2875 </header> 2876 <div class="accordion-content" style="filter:none;background:transparent !important;"> 2877 <div class="accordian-content-block" style="background:transparent !important;box-shadow:none;padding:16px 66px 3px 69px !important;"> 2878 <ul class="accordian-list"> 2879 <@ var itemsCount = value['items'] ? value['items'].length : 0; @> 2880 <@ if(value['items'] && value['items'].length > 0) { @> 2881 <@ $.each(value['items'], function(index1, value1) { @> 2882 <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 2883 <style> 2884 @media (max-width: 768px) { 2885 .accordian-content-card { 2886 flex-direction: column !important; 2887 align-items: stretch !important; 2888 } 2889 2890 .accordian-content-card__top { 2891 flex-direction: row !important; 2892 justify-content: space-between !important; 2893 align-items: center !important; 2894 width: 100% !important; 2895 } 2896 2897 .accordian-content-card__title { 2898 flex: 1 !important; 2899 margin: 0 10px !important; 2900 white-space: nowrap; 2901 overflow: hidden; 2902 text-overflow: ellipsis; 2903 } 2904 2905 .accordian-content-card__bottom { 2906 flex-direction: row !important; 2907 justify-content: space-between !important; 2908 align-items: center !important; 2909 width: 100% !important; 2910 margin-top: 6px !important; 2911 } 2912 2913 .accordian-content-card__link { 2914 flex: 1 !important; 2915 min-width: 0 !important; 2916 text-align: left !important; 2917 } 2918 2919 .accordian-content-card__time { 2920 flex-shrink: 0 !important; 2921 text-align: right !important; 2922 } 2923 } 2924 </style> 2925 2926 <div class="accordian-content-card" 2927 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 2928 2929 2930 <!-- Row 1: Icon + Title + Collapse Icon --> 2931 <div class="accordian-content-card__top" 2932 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2933 2934 <!-- Icon --> 2935 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2936 <@ if(value1.type == 'code'){ @> 2937 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 2938 <@ } else { @>
2939 <span class="material-icons text-primary" style="color:#282400; font-size: 24px;"> 2940 <@ print(getCourseAssetIcon(value1.type))@> 2941 </span> 2942 <@ } @> 2943 </div> 2944 2945 <!-- Title --> 2946 <div class="accordian-content-card__title" 2947 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2948 <@print(value1.title)@> 2949 </div> 2950 2951 <!-- Collapse Icon (optional) --> 2952 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2953 <!-- Example placeholder, add real icon if needed --> 2954 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2955 </div> 2956 </div> 2957 2958 <!-- Row 2: Preview Button and Time --> 2959 <div class="accordian-content-card__bottom" 2960 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2961 2962 <!-- Preview Button --> 2963 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2964 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 2965 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>" 2966 class="previewBtn" 2967 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #282400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 2968 <span class="text-primary" style="color:#282400;"> 2969 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2970 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#282400;"></i></span> 2971 </span> 2972 </a> 2973 <@}@> 2974 </div> 2975 2976 <!-- Time --> 2977 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2978 <p class="text-primary course-asset-time" 2979 style="font-size: 14px; font-weight: 500; color:#282400 !important; margin: 0;"> 2980 <@ if(value1.duration && value1.duration > 0) { @> 2981 <@ print(millisecondsToHHMMSSStr(value1.duration)) @> 2982 <@ } else { @> 2983 -- 2984 <@ } @> 2985 </p> 2986 </div> 2987 2988 </div> 2989 </div> 2990 2991 2992 </li> 2993 <@ }); @> 2994 <@ } else { @> 2995 <li class="accordian-list__item" style="padding:0px 0px !important;"> 2996 <div class="accordian-content-card" 2997 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 2998 2999 <!-- Row 1: Icon + Title + Collapse Icon --> 3000 <div class="accordian-content-card__top" 3001 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 3002 3003 <!-- Icon --> 3004 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 3005 <@ if(value.type == 'code'){ @> 3006 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 3007 <@ } else { @> 3008 <span class="material-icons text-primary" style="color:#282400; font-size: 24px;"> 3009 <@ print(getCourseAssetIcon(value.type))@> 3010 </span> 3011 <@ } @> 3012 </div> 3013 3014 <!-- Title --> 3015 <div class="accordian-content-card__title" 3016 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 3017 <@print(value.title)@> 3018 </div> 3019 3020 <!-- Collapse Icon (optional) --> 3021 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 3022 <!-- Example placeholder, add real icon if needed --> 3023 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 3024 </div> 3025 </div> 3026 3027 <!-- Row 2: Preview Button and Time --> 3028 <div class="accordian-content-card__bottom" 3029 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 3030 3031 <!-- Preview Button --> 3032 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 3033 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 3034 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>" 3035 class="previewBtn" 3036 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #282400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
3037 <span class="text-primary" style="color:#282400;"> 3038 <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 3039 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#282400;"></i></span> 3040 </span> 3041 </a> 3042 <@}@> 3043 </div> 3044 3045 <!-- Time --> 3046 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 3047 <p class="text-primary course-asset-time" 3048 style="font-size: 14px; font-weight: 500; color:#282400 !important; margin: 0;"> 3049 <@ if(value.duration && value.duration > 0) { @> 3050 <@ print(millisecondsToHHMMSSStr(value.duration)) @> 3051 <@ } else { @> 3052 -- 3053 <@ } @> 3054 </p> 3055 </div> 3056 </div> 3057 </div> 3058 </li> 3059 <@ } @> 3060 </ul> 3061 3062 <@ if(itemsCount > 5) { @> 3063 <div style="text-align: center; margin-top: 10px;"> 3064 <button style="background-color: #282400; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 3065 onclick=" 3066 var parentAccordion = this.closest('.accordion-content'); 3067 parentAccordion.style.maxHeight = 'none'; 3068 this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 3069 this.style.display = 'none'; 3070 "> 3071 View All 3072 </button> 3073 </div> 3074 <@ } @> 3075 </div> 3076 </div> 3077 </div> 3078 <@ }); @> 3079 <@ if(item.length > 5) { @> 3080 <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;"> 3081 <button style="background-color: #282400; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 3082 onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';"> 3083 View All Sessions 3084 </button> 3085 </div> 3086 <@ } @> 3087</div> 3088 </div> 3089</script>
3089 3090 3091 3092 3093 3094 3095 3096<!-- Feedback Template First -->
3097<script type="text/template" id="widget-1-template"> 3098<div class="column full feedbackContainer feedback1 spectre"> 3099<@if(msg){@> 3100 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3101<@}else{@> 3102<div class="avgratingbox"> 3103 <div class="flex-row" > 3104 <div class="is-box-2" > 3105 <p style="color: rgb(247, 247, 247); font-weight: 700!important; font-size: 40px!important; text-align: center; letter-spacing: 3px; padding-bottom: 0px; margin-bottom: 0px; line-height: 1; margin-top: 0px;"> 3106 <@ if(ratings && ratings.avgRating) {@> 3107 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3108 <@}else{@> 3109 0 3110 <@}@> 3111 </p> 3112 <h5 class="ratings1" style="text-align: center; margin-bottom: 0px; margin-top: 0px; line-height: 1;"> 3113 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3114 <@if(ratings){@> 3115 <@ if(ratings.avgRating >= ratingsSize) {@> 3116 <i class="icon ion-android-star"></i> 3117 <@ } else if(ratings.avgRating > ratingsSize-1 && ratings.avgRating < ratingsSize) { @> 3118 <i class="icon ion-android-star-half"></i> 3119 <@ } else { @> 3120 <i class="icon ion-android-star-outline"></i> 3121 <@ } @> 3122 <@} else {@> 3123 <i class="icon ion-android-star-outline"></i> 3124 <@}@> 3125 <@}@> 3126 </h5> 3127 <p style="margin: 10px 0 0 !important;text-align: center;line-height: 1;font-size: 30px!important;"><i class="fa-light fa-users t-white"></i> </p> 3128 <p style="margin-bottom: 10px; margin-top: 0px; font-size: 12px!important; letter-spacing: 1px; font-weight: 500!important; color: rgb(247, 247, 247); text-align: center;"> 3129 Total <@ if(ratings){print(ratings.total) }else{0}@> Reviews 3130 </p> 3131 </div> 3132 <div class="is-box-9"> 3133 <@ for (i = 0; i < 5; i++) {@> 3134 <div class="box7878"> 3135 <div style="flex:1;"> 3136 <div class="meter <@print(ratingsPer[(parseInt(i)+1)+'-star'].cls)@> nostripes"> 3137 <span style="width: <@print(ratingsPer[(parseInt(i)+1)+'-star'].rates)@>%"></span> 3138 </div> 3139 </div> 3140 <div id="ratingbox"> 3141 <p class="ratings2" style=" line-height: 1;"> 3142 <@ for (ratingsSize = 5; ratingsSize >=1; ratingsSize--) {@> 3143 <@if(ratingsSize>i){@> 3144 <i class="fa fa-solid fa-star-sharp text-primary"></i> 3145 <@} else {@> 3146 <i class="fa fa-solid fa-star-sharp"></i> 3147 <@}@> 3148 <@}@> 3149 <span class="t-white"> 3150 <@ if(ratings && ratings.ratingsCount){print(ratings.ratingsCount[(parseInt(5)-i)+'-stars'])}else{0} @> 3151 </span> 3152 </p> 3153 3154 </div> 3155 </div> 3156 <@}@> 3157 </div> 3158 </div> 3159</div> 3160 <div class="bg-secondary" style="padding:15px 15px;border-radius:10px;border-top-right-radius: 0;border-top-left-radius: 0;" > 3161 <p 3162 style="font-size: 16px!important; font-weight: 500!important; letter-spacing: 1px;" class="text-primary"> 3163 Reviews 3164 </p> 3165 3166<div class="review-box" id="createCustomReview" style="display:none"> 3167<div class="flex-row"> 3168 <div class="is-box-2 centerbox"> 3169 <div class="spectre"> 3170 <figure data-initial="<@if(typeof SPUSER !== 'undefined'){print(SPUSER.email.substring(0, 1))}else{@>Me<@}@>" class="uppercase avatar avatar-lg figsize" > 3171 <img src="/s/profile/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ if(typeof SPUSER !== 'undefined'){print(SPUSER.mhash)} @>"> 3172 </figure> 3173 <@if(typeof SPUSER !== 'undefined'){ @><p class="review-name"><@ print(SPUSER.name) @> </p><@ } @> 3174 </div> 3175 </div> 3176 <div class="is-box-10"> 3177 <textarea rows="3" class="form-input" 3178 placeholder="Add your review here"></textarea> 3179 <div class="rating3"> 3180 <p id="rating-stars"> 3181 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <i 3182 class="fa fa-solid fa-star-sharp text-primary rating-star" data-value='<@- ratingsSize @>'></i> <@}@> 3183 </p> 3184 3185 <button class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 3186 data-reviewData="reviewlist" 3187 style="padding: 2px 28px; text-transform: uppercase; border-radius: 40px;">Post</button> 3188 </div> 3189 </div> 3190</div> 3191</div> 3192 3193 <div id="reviewlist"> 3194 <@ $.each(items, function(index, item) { @> 3195 <div class="review-box reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 3196 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3197 <a class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 3198 <@ } @> 3199 <div class="flex-row"> 3200 <div class="is-box-2 centerbox"> 3201 <div class="spectre"> 3202 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3203 <figure data-initial="<@if(typeof SPUSER !== 'undefined'){print(SPUSER.email.substring(0, 1))}else{@>Me<@}@>" class="uppercase avatar avatar-lg figsize" > 3204 <img src="/s/profile/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ if(typeof SPUSER !== 'undefined'){print(SPUSER.mhash)} @>"> 3205 <@ } else {@> 3206 <figure data-initial="<@ print(getUserInitial(null, item.userName)) @>" class="uppercase avatar avatar-lg figsize" > 3207 <img src="/s/profile/<@- item.userId @>/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ item.mhash @>"> 3208 <@ } @> 3209 </figure> 3210 <p class="review-name"><@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @><@ print(SPUSER.name) @><@ } else {@> <@ print(item.userName) @><@ } @> </p> 3211 </div> 3212 </div> 3213 <div class="is-box-10"> 3214 <div class="rating4"> 3215 <p> 3216 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <@ 3217 if(item.rating >= ratingsSize) {@> 3218 <i class="fa fa-solid fa-star-sharp text-primary"></i> 3219 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 3220 <i class="fa fa-solid fa-star-sharp-half text-primary"></i> 3221 <@ } else { @> 3222 <i class="fa fa-solid fa-star-sharp"></i> 3223 <@}@> 3224 <@ }@> 3225 </p> 3226 <p 3227 style="font-size: 13px!important; color: rgb(174, 170, 170); font-weight: 600!important; margin-top: 4px;"> 3228 <time class="timestamp"
3229 datetime="<@ print((new Date(item.createdDate.$date)).toISOString()) @>"><@ 3230 print(parseDate(item.createdDate.$date)) @></time> 3231 </p> 3232 </div> 3233 <p class="reviewTxt" 3234 style="color: rgb(102, 102, 102); font-weight: 500!important; font-size: 13px!important; margin-bottom: 10px;"><@ 3235 print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @></p> 3236 <div class="comment-tag"> 3237 <@ if(item.isFeatured) {@><span>Featured Review </span><@ } @><@ if(item.isVerifiedPurchase) {@> <span>Verified Purchase </span><@ } @> 3238 </div> 3239 </div> 3240 </div> 3241 </div> 3242 <@ }); @> 3243 </div> 3244 <button class="bg-primary loadMoreReviewsBtn reviewLMbtn" data-itemTemplate="feedback-1-item-template" data-reviewData="reviewlist" >Load More Reviews</button> 3245</div> 3246<@}@> 3247</script>
3247 3248 3249
3250<script type="text/template" id="feedback-1-item-template"> 3251<div class="review-box reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>""> 3252<@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3253 <a class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 3254<@ } @> 3255<div class="flex-row"> 3256 <div class="is-box-2 centerbox"> 3257 <div class="spectre"> 3258 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3259 <figure data-initial="<@if(typeof SPUSER !== 'undefined'){print(SPUSER.email.substring(0, 1))}else{@>Me<@}@>" class="avatar avatar-lg figsize" > 3260 <img src="/s/profile/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ if(typeof SPUSER !== 'undefined'){print(SPUSER.mhash)} @>"> 3261 <@ } else {@> 3262 <figure data-initial="<@ print(getUserInitial(null, item.userName)) @>" class="avatar avatar-lg figsize" > 3263 <img src="/s/profile/<@- item.userId @>/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ item.mhash @>"> 3264 <@ } @> 3265 </figure> 3266 <p class="review-name"><@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @><@ print(SPUSER.name) @><@ } else {@> <@ print(item.userName) @><@ } @> </p> 3267 </div> 3268 </div> 3269 <div class="is-box-10"> 3270 <div class="rating4"> 3271 <p> 3272 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <@ 3273 if(item.rating >= ratingsSize) {@> 3274 <i class="fa fa-solid fa-star-sharp text-primary"></i> 3275 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 3276 <i class="fa fa-solid fa-star-sharp-half text-primary"></i> 3277 <@ } else { @> 3278 <i class="fa fa-solid fa-star-sharp-outline"></i> 3279 <@}@> 3280 <@ } @> 3281 </p> 3282 <p 3283 style="font-size: 13px!important; color: rgb(174, 170, 170); font-weight: 600!important; margin-top: 4px;"> 3284 <time class="timestamp" 3285 datetime="<@ print((new Date(item.createdDate.$date)).toISOString()) @>"><@ 3286 print(parseDate(item.createdDate.$date)) @></time> 3287 </p> 3288 </div> 3289 <p class="reviewTxt" 3290 style="color: rgb(102, 102, 102); font-weight: 500!important; font-size: 13px!important; margin-bottom: 10px;"><@ 3291 print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @></p> 3292 <div class="comment-tag"> 3293 <@ if(item.isFeatured) {@><span>Featured Review </span><@ } @><@ if(item.isVerifiedPurchase) {@> <span>Verified Purchase </span><@ } @> 3294 </div> 3295 </div> 3296</div> 3297</div> 3298</script>
3298 3299 3300 3301<!-- Feedback Template Second -->
3302<script type="text/template" id="feedback-2-template"> 3303<div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 3304<@if(msg){@> 3305 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3306<@}else{@> 3307<@ if(total > 0 && ratings && ratings.avgRating) {@> 3308<div class="avgratingbox"> 3309<div class="column third"> 3310 <div class="is-card avgRatingContainer" > 3311 <div class="avgRatingInnerContainer"> 3312 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3> 3313 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 3314 <i class="icon ion-android-star text-primary" style="font-size: 80px;"></i> 3315 <div style="margin-left: 25px;"> 3316 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 3317 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: var(--themeColor); line-height: 1.3;"> 3318 <@ if(ratings && ratings.avgRating) {@> 3319 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3320 <@}else{@> 3321 0 3322 <@}@> 3323 </h3> 3324 <p class="avgRatingReviews">/5</p> 3325 </span> 3326 <p class="avgRatingReviews"> 3327 <@ if(ratings){print(ratings.total) }else{0}@> reviews 3328 </p> 3329 </div> 3330 </div> 3331 </div> 3332 </div> 3333</div> 3334</div> 3335<@ } @> 3336<div id="feedback2Reviewlist" class="reviewslist"> 3337 <@ $.each(items, function(index, item) { @> 3338 <@ var template = _.template($("#feedback-2-item-template").html()); print(template({item: item})) @> 3339 <@ }); @> 3340 <@}@> 3341</div> 3342<div class="row clearfix"> 3343 <div class="column full"> 3344 <p class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-2-item-template" data-reviewData="feedback2Reviewlist" style="text-align: right; font-size: 14px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none;"> 3345 View more 3346 </p> 3347 </div> 3348</div> 3349</script>
3349 3350
3351<script type="text/template" id="feedback-2-item-template"> 3352 <div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 3353 <div class="is-card avgRatingContainer"> 3354 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" > 3355 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3356 <a class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 3357 <@ } @> 3358 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 80px; max-height: 80px; overflow: hidden;"> 3359 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 3360 </p> 3361 <div class="reviewerName"> 3362 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px;"> 3363 <@ print(item.userName) @> 3364 </p></div> 3365 3366 <p style="margin: 0px;"> 3367 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3368 <@ if(item.rating >= ratingsSize) {@> 3369 <i class="fa fa-solid fa-star-sharp text-primary"></i> 3370 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 3371 <i class="fa fa-solid fa-star-sharp-half text-primary"></i> 3372 <@ } @> 3373 <@ }@> 3374 </p> 3375 3376 </div> 3377 </div> 3378 </div> 3379</script>
vendor: 1 bytes, line 3379
3379
3380<script type="text/template" id="feedback-2-createTemplate"> 3381 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 3382 <div class="is-boxes"> 3383 <div class="is-box-centered"> 3384 <div class="is-container container" style="max-width: 940px;"> 3385 3386 <div class="review-box review-add-box"> 3387 <div class="is-container container is-content-800" > 3388 <div class="row clearfix" > 3389 <div class="column full" > 3390 <h1 style="text-align: center; font-size: 28px; line-height: 1.1; font-weight: 700; letter-spacing: 0px; color: var(--themeColor); margin-bottom: 44px;">Add a review</h1> 3391 </div> 3392 </div> 3393 <div class="textarea-cont"> 3394 <div class="review-star text-primary" style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;"> 3395 <span id="rating-stars"> 3396 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <i 3397 class="fa fa-solid fa-star-sharp rating-star" data-value='<@- ratingsSize @>'></i> <@}@> 3398 </span> 3399 </div> 3400 <textarea class="add-review-textarea" id="reviewText" style="background: transparent;width: 100%; border-width: 0px; padding-right: 28px; padding-bottom: 28px; min-height: 150px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;" placeholder="Add your review here"></textarea> 3401 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 3402 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p> 3403 <@ } @> 3404 </div> 3405 <div style="margin-top: 20px; display: flex; justify-content: flex-end;"> 3406 <button id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 3407 data-reviewData="feedback2Reviewlist" disabled >Submit</button> 3408 </div> 3409 </div> 3410 </div> 3411 </div> 3412 </div> 3413 </div> 3414</div> 3415</script>
3415 3416 3417<!-- Vegas 4th feedback Template--> 3418 3419
3420<script type="text/template" id="feedback-4-template"> 3421 <div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 3422 <@if(msg){@> 3423 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3424 <@}else{@> 3425 <@ if(total > 0 && ratings && ratings.avgRating) {@> 3426 <div class="avgratingbox"> 3427 <div class="column third"> 3428 <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;" > 3429 <div class="avgRatingInnerContainer"> 3430 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3> 3431 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 3432 <i class="icon ion-android-star text-primary" style="font-size: 80px;"></i> 3433 <div style="margin-left: 25px;"> 3434 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 3435 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: var(--themeColor); line-height: 1.3;"> 3436 <@ if(ratings && ratings.avgRating) {@> 3437 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3438 <@}else{@> 3439 0 3440 <@}@> 3441 </h3> 3442 <p class="avgRatingReviews">/5</p> 3443 </span> 3444 <p class="avgRatingReviews"> 3445 <@ if(ratings){print(ratings.total) }else{0}@> reviews 3446 </p> 3447 </div> 3448 </div> 3449 </div> 3450 </div> 3451 </div> 3452 </div> 3453 <@ } @> 3454 <div id="feedback4Reviewlist" class="reviewslist"> 3455 <@ $.each(items, function(index, item) { @> 3456 <@ var template = _.template($("#feedback-4-item-template").html()); print(template({item: item})) @> 3457 <@ }); @> 3458 <@}@> 3459 </div> 3460 <div class="row clearfix"> 3461 <div class="column full" style="text-align: center;"> 3462 <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-4-item-template" data-reviewData="feedback4Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#FB5607; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;"> 3463 View All Reviews 3464 </a> 3465 </div> 3466 </div> 3467 </script>
3467 3468 3469
3469<script type="text/template" id="feedback-4-item-template"> 3470 <div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 3471 <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:white; padding:20px; "> 3472 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" > 3473 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3474 <a style="color:#FB5607 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 3475 <@ } @> 3476 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;"> 3477 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 3478 </p> 3479 <div class="reviewerName"> 3480 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5;"> 3481 <@ print(item.userName) @> 3482 </p></div> 3483 3484 <p style="margin: 0px;"> 3485 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3486 <@ if(item.rating >= ratingsSize) {@> 3487 <i class="fa fa-solid fa-star-sharp text-primary" style="color:#FB5607 !important;"></i> 3488 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 3489 <i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#FB5607 !important;"></i> 3490 <@ } @> 3491 <@ }@> 3492 </p> 3493 3494 </div> 3495 </div> 3496 </div> 3497 </script>
3497 3498
3498<script type="text/template" id="feedback-4-createTemplate"> 3499 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 3500 <div class="is-boxes"> 3501 <div class="is-box-centered"> 3502 <div class="is-container container" style="max-width: 1200px;"> 3503 3504 <div class="review-box review-add-box"> 3505 <div class="is-container container is-content-1200" > 3506 <div class="row clearfix" > 3507 <div class="column full" > 3508 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1> 3509 </div> 3510 </div> 3511 <div class="textarea-cont"> 3512 <div style="display:flex; gap:30px;"> 3513 <div><h3 style="font-size:18px;font-weight:600;">Overall Rating</h3></div> 3514 <div class="review-star1 text-primary" 3515 style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important"> 3516 <span id="rating-stars" > 3517 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3518 <i class="fa fa-solid fa-star-sharp rating-star" 3519 data-value='<@- ratingsSize @>' 3520 style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i> 3521 <@}@> 3522 </span> 3523 </div> 3524 <style></style> 3525 3526 3527 </div> 3528 <textarea class="add-review-textarea" id="reviewText" style="background:#E5E5E5;width: 100%; border: 1px solid #E5E5E5; padding-right: 28px; padding-bottom: 28px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea> 3529 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 3530 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p> 3531 <@ } @> 3532 </div> 3533 <div style=" display: flex; justify-content: center;"> 3534 <button style="letter-spacing:0px !important ; background-color:#FB5607;padding:12px 28px !important;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 3535 data-reviewData="feedback4Reviewlist" disabled >Submit</button> 3536 </div> 3537 </div> 3538 </div> 3539 </div> 3540 </div> 3541 </div> 3542 </div> 3543 </script>
3543 3544 3545 3546 3547 3548<!-- Blaze 5th feedback Template-->
3549<script type="text/template" id="feedback-5-template"> 3550 <div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 3551 <@if(msg){@> 3552 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3553 <@}else{@> 3554 <@ if(total > 0 && ratings && ratings.avgRating) {@> 3555 <div class="avgratingbox"> 3556 <div class="column third"> 3557 <div class="is-card avgRatingContainer" style="background:#232323; border-radius:0px;padding:21px;" > 3558 <div class="avgRatingInnerContainer"> 3559 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;color:white;">Customer ratings</h3> 3560 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 3561 <i class="icon ion-android-star text-primary" style="font-size: 80px;color:rgb(216, 253, 70);"></i> 3562 <div style="margin-left: 25px;"> 3563 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 3564 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: rgb(216, 253, 70); line-height: 1.3;"> 3565 <@ if(ratings && ratings.avgRating) {@> 3566 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3567 <@}else{@> 3568 0 3569 <@}@> 3570 </h3> 3571 <p class="avgRatingReviews" style="color:white;">/5</p> 3572 </span> 3573 <p class="avgRatingReviews" style="color:white;"> 3574 <@ if(ratings){print(ratings.total) }else{0}@> reviews 3575 </p> 3576 </div> 3577 </div> 3578 </div> 3579 </div> 3580 </div> 3581 </div> 3582 <@ } @> 3583 <div id="feedback5Reviewlist" class="reviewslist"> 3584 <@ $.each(items, function(index, item) { @> 3585 <@ var template = _.template($("#feedback-5-item-template").html()); print(template({item: item})) @> 3586 <@ }); @> 3587 <@}@> 3588 </div> 3589 <div class="row clearfix"> 3590 <div class="column full" style="text-align: center;"> 3591 <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-5-item-template" data-reviewData="feedback5Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#D8FD46; color:black; padding:12px 28px; border-radius:0px;text-decoration:none;"> 3592 View All Reviews 3593 </a> 3594 </div> 3595 </div> 3596 </script>
3596 3597 3598 3599
3599<script type="text/template" id="feedback-5-item-template"> 3600 <style> 3601 .template5-review .reviewTxt{ 3602 color:white !important; 3603 } 3604 .template5-review .reviewerName p{ 3605 color:white !important; 3606 } 3607 </style> 3608 <div class="column third reviewcontainer template5-review <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> selfreview <@ } @>"> 3609 <div class="is-card avgRatingContainer" style="border:1px solid #232323;padding:20px;"> 3610 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;"> 3611 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3612 <a style="color:#D8FD46 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"> 3613 <i class="material-icons">delete</i> 3614 </a> 3615 <@ } @> 3616 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;"> 3617 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 3618 </p> 3619 <div class="reviewerName"> 3620 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5; "> 3621 <@ print(item.userName) @> 3622 </p> 3623 </div> 3624 3625 <p style="margin: 0px;"> 3626 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) { @> 3627 <@ if(item.rating >= ratingsSize) { @> 3628 <i class="fa fa-solid fa-star-sharp text-primary" style="color:#D8FD46 !important;"></i> 3629 <@ } else if(item.rating > ratingsSize - 1 && item.rating < ratingsSize) { @> 3630 <i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#D8FD46 !important;"></i> 3631 <@ } @> 3632 <@ } @> 3633 </p> 3634 </div> 3635 </div> 3636 </div> 3637 </script>
3637 3638 3639
3639<script type="text/template" id="feedback-5-createTemplate"> 3640 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 3641 <div class="is-boxes"> 3642 <div class="is-box-centered" style="background:#181818;"> 3643 <div class="is-container container" style="max-width: 1200px;"> 3644 3645 <div class="review-box review-add-box"> 3646 <div class="is-container container is-content-1200" > 3647 <div class="row clearfix" > 3648 <div class="column full" > 3649 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: white; ">Add a review</h1> 3650 </div> 3651 </div> 3652 <div class="textarea-cont" style="background:transparent"> 3653 <div style="display:flex; gap:30px;"> 3654 <div><h3 style="font-size:18px;font-weight:600; color:white;">Overall Rating</h3></div> 3655 <div class="review-star text-primary" 3656 style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important"> 3657 <span id="rating-stars" > 3658 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3659 <i class="fa fa-solid fa-star-sharp rating-star" 3660 data-value='<@- ratingsSize @>' 3661 style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i> 3662 <@}@> 3663 </span> 3664 </div> 3665 3666 3667 </div> 3668 <textarea class="add-review-textarea" id="reviewText" style="color:white;background:#232323;width: 100%; border: 1px solid #636363; padding: 28px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:0px !important" placeholder="Add your review here"></textarea> 3669 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 3670 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p> 3671 <@ } @> 3672 </div> 3673 <div style=" display: flex; justify-content: center;margin-top:20px;"> 3674 <button style="letter-spacing:0px !important ; background-color:#D8FD46;padding:12px 28px !important; border-radius:0px !important; color:black;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 3675 data-reviewData="feedback5Reviewlist" disabled >Submit</button> 3676 </div> 3677 </div> 3678 </div> 3679 </div> 3680 </div> 3681 </div> 3682 </div> 3683 </script>
3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699<!-- Nebula Feedback 6--> 3700
3701<script type="text/template" id="feedback-6-template"> 3702 <div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 3703 <@if(msg){@> 3704 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3705 <@}else{@> 3706 <@ if(total > 0 && ratings && ratings.avgRating) {@> 3707 <div class="avgratingbox"> 3708 <div class="column third"> 3709 <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;" > 3710 <div class="avgRatingInnerContainer"> 3711 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3> 3712 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 3713 <i class="icon ion-android-star text-primary" style="font-size: 80px; color: #6715FF !important;"></i> 3714 <div style="margin-left: 25px;"> 3715 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 3716 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: #6715FF !important; line-height: 1.3;"> 3717 <@ if(ratings && ratings.avgRating) {@> 3718 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3719 <@}else{@> 3720 0 3721 <@}@> 3722 </h3> 3723 <p class="avgRatingReviews">/5</p> 3724 </span> 3725 <p class="avgRatingReviews"> 3726 <@ if(ratings){print(ratings.total) }else{0}@> reviews 3727 </p> 3728 </div> 3729 </div> 3730 </div> 3731 </div> 3732 </div> 3733 </div> 3734 <@ } @> 3735 <div id="feedback6Reviewlist" class="reviewslist"> 3736 <@ $.each(items, function(index, item) { @> 3737 <@ var template = _.template($("#feedback-6-item-template").html()); print(template({item: item})) @> 3738 <@ }); @> 3739 <@}@> 3740 </div> 3741 <div class="row clearfix"> 3742 <div class="column full" style="text-align: center;"> 3743 <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-6-item-template" data-reviewData="feedback6Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#6715FF; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;"> 3744 View All Reviews 3745 </a> 3746 </div> 3747 </div> 3748 </script>
3748 3749 3750
3750<script type="text/template" id="feedback-6-item-template"> 3751 <div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 3752 <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:white; padding:20px; "> 3753 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" > 3754 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3755 <a style="color:#6715FF !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 3756 <@ } @> 3757 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;"> 3758 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 3759 </p> 3760 <div class="reviewerName"> 3761 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5;"> 3762 <@ print(item.userName) @> 3763 </p></div> 3764 3765 <p style="margin: 0px;"> 3766 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3767 <@ if(item.rating >= ratingsSize) {@> 3768 <i class="fa fa-solid fa-star-sharp text-primary" style="color:#6715FF !important;"></i> 3769 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 3770 <i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#6715FF !important;"></i> 3771 <@ } @> 3772 <@ }@> 3773 </p> 3774 3775 </div> 3776 </div> 3777 </div> 3778 </script>
3778 3779
3779<script type="text/template" id="feedback-6-createTemplate"> 3780 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 3781 <div class="is-boxes"> 3782 <div class="is-box-centered"> 3783 <div class="is-container container" style="max-width: 1200px;"> 3784 3785 <div class="review-box review-add-box"> 3786 <div class="is-container container is-content-1200" > 3787 <div class="row clearfix" > 3788 <div class="column full" > 3789 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1> 3790 </div> 3791 </div> 3792 <div class="textarea-cont" style="background:transparent"> 3793 <div style="display:flex; gap:30px;"> 3794 <div><h3 style="font-size:18px;font-weight:600;">Overall Rating</h3></div> 3795 <div class="review-star1 text-primary" 3796 style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important"> 3797 <span id="rating-stars" > 3798 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3799 <i class="fa fa-solid fa-star-sharp rating-star" 3800 data-value='<@- ratingsSize @>' 3801 style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i> 3802 <@}@> 3803 </span> 3804 </div> 3805 <style></style> 3806 3807 3808 </div> 3809 <textarea class="add-review-textarea" id="reviewText" style="background:white;width: 100%; border: 1px solid #c3c0c0; padding-right: 28px; padding-bottom: 28px;padding-left:20px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea> 3810 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 3811 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: grey; margin-top: 0px;"><@ print(SPUSER.name) @></p> 3812 <@ } @> 3813 </div> 3814 <div style=" display: flex; justify-content: center;"> 3815 <button style="letter-spacing:0px !important ; background-color:#6715FF;padding:12px 28px !important;margin-top:30px;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 3816 data-reviewData="feedback6Reviewlist" disabled >Submit</button> 3817 </div> 3818 </div> 3819 </div> 3820 </div> 3821 </div> 3822 </div> 3823 </div> 3824 </script>
3824 3825 3826 3827 3828 3829 3830<!-- Olive Feedback 7-->
3831<script type="text/template" id="feedback-7-template"> 3832 <div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 3833 <@if(msg){@> 3834 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3835 <@}else{@> 3836 <@ if(total > 0 && ratings && ratings.avgRating) {@> 3837 <div class="avgratingbox"> 3838 <div class="column third"> 3839 <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;" > 3840 <div class="avgRatingInnerContainer"> 3841 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3> 3842 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 3843 <i class="icon ion-android-star text-primary" style="font-size: 80px; color: #064400 !important;"></i> 3844 <div style="margin-left: 25px;"> 3845 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 3846 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: #064400 !important; line-height: 1.3;"> 3847 <@ if(ratings && ratings.avgRating) {@> 3848 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3849 <@}else{@> 3850 0 3851 <@}@> 3852 </h3> 3853 <p class="avgRatingReviews">/5</p> 3854 </span> 3855 <p class="avgRatingReviews"> 3856 <@ if(ratings){print(ratings.total) }else{0}@> reviews 3857 </p> 3858 </div> 3859 </div> 3860 </div> 3861 </div> 3862 </div> 3863 </div> 3864 <@ } @> 3865 <div id="feedback7Reviewlist" class="reviewslist"> 3866 <@ $.each(items, function(index, item) { @> 3867 <@ var template = _.template($("#feedback-7-item-template").html()); print(template({item: item})) @> 3868 <@ }); @> 3869 <@}@> 3870 </div> 3871 <div class="row clearfix"> 3872 <div class="column full" style="text-align: center;"> 3873 <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-7-item-template" data-reviewData="feedback7Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#064400; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;"> 3874 View All Reviews 3875 </a> 3876 </div> 3877 </div> 3878 </script>
3878 3879 3880
3880<script type="text/template" id="feedback-7-item-template"> 3881 <div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 3882 <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:white; padding:20px; "> 3883 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" > 3884 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3885 <a style="color:#064400 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 3886 <@ } @> 3887 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;"> 3888 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 3889 </p> 3890 <div class="reviewerName"> 3891 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5;"> 3892 <@ print(item.userName) @> 3893 </p></div> 3894 3895 <p style="margin: 0px;"> 3896 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3897 <@ if(item.rating >= ratingsSize) {@> 3898 <i class="fa fa-solid fa-star-sharp text-primary" style="color:#064400 !important;"></i> 3899 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 3900 <i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#064400 !important;"></i> 3901 <@ } @> 3902 <@ }@> 3903 </p> 3904 3905 </div> 3906 </div> 3907 </div> 3908 </script>
3908 3909
3909<script type="text/template" id="feedback-7-createTemplate"> 3910 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 3911 <div class="is-boxes"> 3912 <div class="is-box-centered"> 3913 <div class="is-container container" style="max-width: 1200px;"> 3914 3915 <div class="review-box review-add-box"> 3916 <div class="is-container container is-content-1200" > 3917 <div class="row clearfix" > 3918 <div class="column full" > 3919 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1> 3920 </div> 3921 </div> 3922 <div class="textarea-cont"> 3923 <div style="display:flex; gap:30px;"> 3924 <div><h3 style="font-size:18px;font-weight:600;">Overall Rating</h3></div> 3925 <div class="review-star1 text-primary" 3926 style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important"> 3927 <span id="rating-stars" > 3928 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3929 <i class="fa fa-solid fa-star-sharp rating-star" 3930 data-value='<@- ratingsSize @>' 3931 style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i> 3932 <@}@> 3933 </span> 3934 </div> 3935 <style></style> 3936 3937 3938 </div> 3939 <textarea class="add-review-textarea" id="reviewText" style="background:#E5E5E5;width: 100%; border: 1px solid #E5E5E5; padding-right: 28px; padding-bottom: 28px;padding-left:20px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea> 3940 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 3941 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p> 3942 <@ } @> 3943 </div> 3944 <div style=" display: flex; justify-content: center;"> 3945 <button style="letter-spacing:0px !important ; background-color:#064400;padding:12px 28px !important;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 3946 data-reviewData="feedback7Reviewlist" disabled >Submit</button> 3947 </div> 3948 </div> 3949 </div> 3950 </div> 3951 </div> 3952 </div> 3953 </div> 3954 </script>
3954 3955 3956 3957 3958 3959 <!--Dusk Feedback-8--> 3960
3960<script type="text/template" id="feedback-8-template"> 3961 <div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 3962 <@if(msg){@> 3963 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3964 <@}else{@> 3965 <@ if(total > 0 && ratings && ratings.avgRating) {@> 3966 <div class="avgratingbox"> 3967 <div class="column third"> 3968 <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;background:#F5F5F5;" > 3969 <div class="avgRatingInnerContainer"> 3970 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3> 3971 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 3972 <i class="icon ion-android-star text-primary" style="font-size: 80px; color: #282400 !important;"></i> 3973 <div style="margin-left: 25px;"> 3974 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 3975 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: #282400 !important; line-height: 1.3;"> 3976 <@ if(ratings && ratings.avgRating) {@> 3977 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3978 <@}else{@> 3979 0 3980 <@}@> 3981 </h3> 3982 <p class="avgRatingReviews">/5</p> 3983 </span> 3984 <p class="avgRatingReviews"> 3985 <@ if(ratings){print(ratings.total) }else{0}@> reviews 3986 </p> 3987 </div> 3988 </div> 3989 </div> 3990 </div> 3991 </div> 3992 </div> 3993 <@ } @> 3994 <div id="feedback8Reviewlist" class="reviewslist"> 3995 <@ $.each(items, function(index, item) { @> 3996 <@ var template = _.template($("#feedback-8-item-template").html()); print(template({item: item})) @> 3997 <@ }); @> 3998 <@}@> 3999 </div> 4000 <div class="row clearfix"> 4001 <div class="column full" style="text-align: center;"> 4002 <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-8-item-template" data-reviewData="feedback8Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#282400; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;"> 4003 View All Reviews 4004 </a> 4005 </div> 4006 </div> 4007 </script>
4007 4008 4009
4009<script type="text/template" id="feedback-8-item-template"> 4010 <div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 4011 <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:#F5F5F5; padding:20px; "> 4012 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" > 4013 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 4014 <a style="color:#282400 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 4015 <@ } @> 4016 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;"> 4017 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 4018 </p> 4019 <div class="reviewerName"> 4020 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5;"> 4021 <@ print(item.userName) @> 4022 </p></div> 4023 4024 <p style="margin: 0px;"> 4025 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 4026 <@ if(item.rating >= ratingsSize) {@> 4027 <i class="fa fa-solid fa-star-sharp text-primary" style="color:#282400 !important;"></i> 4028 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 4029 <i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#282400 !important;"></i> 4030 <@ } @> 4031 <@ }@> 4032 </p> 4033 4034 </div> 4035 </div> 4036 </div> 4037 </script>
4037 4038
4038<script type="text/template" id="feedback-8-createTemplate"> 4039 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 4040 <div class="is-boxes"> 4041 <div class="is-box-centered"> 4042 <div class="is-container container" style="max-width: 1200px;"> 4043 4044 <div class="review-box review-add-box"> 4045 <div class="is-container container is-content-1200" > 4046 <div class="row clearfix" > 4047 <div class="column full" > 4048 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1> 4049 </div> 4050 </div> 4051 <div class="textarea-cont"> 4052 <div style="display:flex; gap:30px;"> 4053 <div><h3 style="font-size:18px;font-weight:600;">Overall rating</h3></div> 4054 <div class="review-star1 text-primary" 4055 style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important"> 4056 <span id="rating-stars" > 4057 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 4058 <i class="fa fa-solid fa-star-sharp rating-star" 4059 data-value='<@- ratingsSize @>' 4060 style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i> 4061 <@}@> 4062 </span> 4063 </div> 4064 <style></style> 4065 4066 4067 </div> 4068 <textarea class="add-review-textarea" id="reviewText" style="background:#E5E5E5;width: 100%; border: 1px solid #E5E5E5; padding-right: 28px; padding-bottom: 28px;padding-left:20px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea> 4069 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 4070 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p> 4071 <@ } @> 4072 </div> 4073 <div style=" display: flex; justify-content: center;"> 4074 <button style="letter-spacing:0px !important ; background-color:#282400;padding:12px 28px !important;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 4075 data-reviewData="feedback8Reviewlist" disabled >Submit</button> 4076 </div> 4077 </div> 4078 </div> 4079 </div> 4080 </div> 4081 </div> 4082 </div> 4083 </script>
4083 4084 4085 4086 4087<div class="spectre"> 4088<div class="modal" id="reviewModal"> 4089 <a href="javascript:void(0);" class="modal-overlay close" 4090 aria-label="Close"></a> 4091 <div class="modal-container"> 4092 <div class="modal-header"> 4093 <a href="javascript:void(0);" 4094 class="close btn btn-clear float-right" aria-label="Close"></a> 4095 <div class="modal-title h5">Review</div> 4096 </div> 4097 <div class="modal-body" style="max-height: 90vh;padding-top: 0;"> 4098 </div> 4099 </div> 4100 4101 4102 4103</div> 4104 4105 4106</div> 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121
4122<script> 4123 var created_date = `Created Date`; 4124 var uname_msg = `Name`; 4125 var email_msg = `Email`; 4126 var has_web_token = `Has Web Token`; 4127 var has_mobile_token = `Has Mobile Token`; 4128 var actions_msg = `Actions`; 4129 var delete_user = `Delete User`; 4130 var create_target_audience = `Create Target Audience`; 4131 var msg_now = `NOW`; 4132 var msg_now_2 = `Now`; 4133 var msg_scheduled = `SCHEDULED`; 4134 var msg_recurring = `RECURRING`; 4135 var msg_weeks = `weeks`; 4136 var msg_months = `month(s)`; 4137 var msg_days = `days`; 4138 var notification_screen = `Notification Screen`; 4139 var coursepackagelandingpage = `Course/Package landing page`; 4140 var search_course_name = `Search by course/package name`; 4141 var webinar_landing_page = `Webinar landing page`; 4142 var search_by_webinar_name = `Search by webinar name`; 4143 var categorypage = `Category Page`; 4144 var custompage = `Custom Page`; 4145 var blogpage = `Blog Page`; 4146 var customlink = `Custom Link`; 4147 var homepage_msg = `Homepage`; 4148 var search_category = `Search category`; 4149 var search_page_title = `Search by Page title`; 4150 var search_blog_title = `Search by Blog title`; 4151 var enter_the_link = `Enter the link`; 4152 var membership_page = `Membership page`; 4153 var pick_a_date = `Pick a date`; 4154 var pick_first_push_date = `Pick a first push date`; 4155 var every_msg = `Every`; 4156 var starting_msg = `Starting`; 4157 var msg_published = `Published`; 4158 var msg_unpublished = `Unpublished`; 4159 var msg_customize = `Customize`; 4160 var msg_edit = `Edit`; 4161 var msg_featured_image = `Featured Image`; 4162 var msg_preview = `Preview`; 4163 var msg_delete = `Delete`; 4164 var msg_unpublish = `Unpublish`; 4165 var msg_publish = `Publish `; 4166 var msg_question= `questions`; 4167 var try_new_coding_assignment= `Try new coding assignment`; 4168 var change_enrollment_date = `Change Enrollment Date`; 4169 var change_expiry = `Change Expiry`; 4170 var change_remanining_time = `Change Remaining Time`; 4171 var remove_from_course = `Remove From Course`; 4172 var reset_course_progress = `Reset Course Progress`; 4173 var complete_report = `Complete Report`; 4174 var msg_progress = `Progress`; 4175 var timetaken = `Time Taken`; 4176 var msg_user_details = `User Details`; 4177 var graphy_platform_fees_note = `Amount after deducting Graphy platform fees. This does not include your payment gateway charges.`; 4178 var final_price_note = `Final payable price by learners`; 4179 var save_alert_message = `Save progress before moving forward.`; 4180 var no_chapter_alert_message = `Please add at least one chapter in the course.`; 4181 var download_msg = `Download`; 4182 var revoke_msg = `Revoke`; 4183 var yes_msg = `Yes`; 4184 var no_msg = `No`; 4185 var details_hover = `Details`; 4186 var hide_notification = `Hide Notification`; 4187 var notify_learners_hover = `Notify Learners`; 4188 var search_course_package = `Search Courses to add in this package.`; 4189 var bulk_delete = `Bulk Delete`; 4190 var scheduled_msg = `Scheduled`; 4191 var inprogress_msg = `In Progress`; 4192 var completed_msg = `Completed`; 4193 var yes_all_caps = `YES`; 4194 var no_all_caps = `NO`; 4195 var discount_msg = `Discount`; 4196 var max_discount = `Max Discount`; 4197 var min_cart = `Min Cart`; 4198 var delete_bookmark = `Delete Bookmark`; 4199 var view_question = `View question`; 4200 var msg_free = `Free`; 4201 var membership_expiration_note = `Membership will be canceled on next billing date.`; 4202 var msg_active = `Active`; 4203 var msg_inactive = `Inactive`; 4204 var delete_hover = `Delete`; 4205 var view_hover = `View`; 4206 var coursewise = `Course Wise`; 4207 var learner_wise = `Learner wise`; 4208 var segment_wise = `Segment wise`; 4209 var unregistered_msg = `Unregistered`; 4210 var target_audience_deleted = `Target Audience Deleted`; 4211 var courses_msg = `course(s)`; 4212 var learners_msg = `learner(s)`; 4213 var unregistered_learners = `Unregistered Learner`; 4214 var all_learners = `All Learners`; 4215 var course_wise_learners = `Course wise Learners`; 4216 var segment_wise_learners = `Segment wise Learners`; 4217 var with_token = `with token`; 4218 var segments_msg = `segments`; 4219 var add_users_msg = `Add Users`; 4220 var approx_msg = `Approx`; 4221 var revoke_cancellation_request = `Revoke Cancellation request.`; 4222 var remove_scheduled_membership_cancellation = `Remove Scheduled Membership Cancellation`; 4223 var schedule_to_stop_subscription = `Schedule to stop Subscription`; 4224 var stop_subscription = `Stop subscription`; 4225 var available_for_review_all_caps = `AVAILABLE FOR REVIEW`; 4226 var reviewed_all_caps = `REVIEWED`; 4227 var rejected_all_caps = `REJECTED`; 4228 var preview_code = `Preview Code`; 4229 var approve_msg = `Approve`; 4230 var reject_msg = `Reject`; 4231 var history_msg = `History`; 4232 var message_hover= `Message`; 4233 var remove_msg= `Remove`; 4234 var enroll_msg= `Enroll`; 4235 var change_validity= `Change Validity`; 4236 var learners_selected= `learner(s) selected`; 4237 var select_all_msg= `Select all`; 4238 var do_you_want_to_delete_course= `Do you really want to delete this course?`; 4239 var do_you_want_to_revoke_this_certificate= `Do you really want to revoke this certificate?`; 4240 var do_you_want_to_revoke_entry= `Do you really want to revoke this entry?`; 4241 var do_you_want_to_edit_enrollment_date= `Do you really want to edit enrollment date of all learners?`; 4242 var do_you_want_to_edit_enrollment_date_for_selected= `Do you really want to edit enrollment date of selected learners?`; 4243 var do_you_want_to_edit_course_validity= `Do you really want to edit course validity of all learners?`; 4244 var do_you_want_to_edit_course_validity_for_selected= `Do you really want to edit course validity of selected learners?`; 4245 var do_you_want_to_remove_selected= `Do you really want to remove selected learners?`; 4246 var do_you_want_to_remove_all= `Do you really want to remove all learners?`; 4247 var do_you_want_to_create_zip= `Do you really want to create zip for this course?`; 4248 var do_you_want_to_deactivate= `Do you really want to deactivate?`; 4249 var successfully_done_alert= `Successfully Done.`; 4250 var please_select_atleast_1_learner= `Please select atleast 1 learner !`; 4251 var on_msg= `On`; 4252 var single_correct_option = `Single Correct Option`; 4253 var multiple_correct_options = `Multiple Correct Options`; 4254 var numerical_Fill_in_the_Blank = `Numerical/Fill in the Blank`; 4255 var match_the_Column = `Match the Column`; 4256 var subjective = `Subjective`; 4257 var your_target_audience_appear= `Your target audience user(s) will appear here`; 4258 var your_upcoming_campaign= `Your upcoming campaign will appear here`; 4259 var status_msg= `Status`; 4260 var stop_campaign= `Stop Campaign`; 4261 var copy_campaign= `Copy Campaign`; 4262 var platform_fee_tax = `platform fees including taxes`; 4263 var pg_fees_taxes = `payment gateway fees including taxes`; 4264 var msg_quiz = `Quiz`; 4265 var msg_livetest = `Live test`; 4266 var msg_heading = `Heading`; 4267 var msg_text = `Text`; 4268 var msg_form = `Form`; 4269 var msg_live_class = `Live class`; 4270 var msg_live_class_rec = `live class recording`; 4271 var msg_code = `Code`; 4272 var msg_assignment = `Assignment`; 4273 var msg_added = `added`; 4274 var msg_about = `About`; 4275 var msg_year = `year`;
4276 var msg_month = `Month`; 4277 var msg_day = `day`; 4278 //var msg_hour = `hh`; 4279 //var msg_minute = `mm`; 4280 //var msg_seconds = `seconds`; 4281 var msg_month_l = `month`; 4282 var msg_day_l = `day`; 4283 var msg_hour_l = `hour`; 4284 var msg_minute_l = `minute`; 4285 var msg_second_l = `second`; 4286 var mobile_number=`Mobile Number`; 4287 var status_android =`Status (ANDROID)`; 4288 var status_ios =`Status (IOS)`; 4289 var delivery_time=`Delivery Time`; 4290 var sure_unhide=`Are you sure you want to unhide this course ?`; 4291 var become_a_partner=`Become a Partner`; 4292 var failed_msg=`Failed`; 4293 var sent_msg=`Sent`; 4294 var pending_msg=`Pending`; 4295 var running_msg=`Running`; 4296 var add_pricing_plan = `Add pricing plan`; 4297 var msg_add = `Add`; 4298 var of_msg = `of`; 4299 var items_msg = `items` 4300 var ago_msg = `ago` 4301 var items_msg = `items`; 4302 4303 var january_msg = `January`; 4304 var february_msg = `February`; 4305 var march_msg = `March`; 4306 var april_msg = `April`; 4307 var may_msg = `May`; 4308 var june_msg = `June`; 4309 var july_msg = `July`; 4310 var august_msg = `August`; 4311 var september_msg = `September`; 4312 var october_msg = `October`; 4313 var november_msg = `November`; 4314 var december_msg = `December`; 4315 var sunday_msg = `Sunday`; 4316 var monday_msg = `Monday`; 4317 var tuesday_msg = `Tuesday`; 4318 var wednesday_msg = `Wednesday`; 4319 var thursday_msg = `Thursday`; 4320 var friday_msg = `Friday`; 4321 var saturday_msg = `Saturday`; 4322 var at_msg = `at`; 4323 var generate_outline = `Generate outline using AI`; 4324 var it_take_min = `It may take a min.`; 4325 var msg_ok = `OK`; 4326 var edit_pricing_plan = `Edit pricing plan`; 4327 4328</script>
4328 4329 4330 4331 4332 4333 4334 4335
4336<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-2.0.3.min.js"></script>
4336 4337
4338<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/underscore-min.js?v=1.9.1"></script>
4338 4339
4340<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.form.js"></script>
vendor: 1 bytes, line 4340
4340
4341<script async src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.noty.packaged.min.js"></script>
vendor: 1 bytes, line 4341
4341
4342<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-ui.min.js"></script>
vendor: 1 bytes, line 4342
4342
4343<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.timeago.js"></script>
vendor: 1 bytes, line 4343
4343
4344<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/js-webshim/minified/extras/modernizr-custom.js"></script>
vendor: 1 bytes, line 4344
4344
4345<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.datetimepicker.js"></script>
4345 4346 4347 4348 4349 4350 4351 4352 4353
4354<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/aes.js"></script>
vendor: 1 bytes, line 4354
4354
4355<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/mode-ecb-min.js"></script>
vendor: 1 bytes, line 4355
4355
4356<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/pad-nopadding-min.js"></script>
4356 4357 4358<!--
4358<script src="https://unpkg.com/@popperjs/core@2"></script>
vendor: 1 bytes, line 4358
4358
4359<script src="https://unpkg.com/tippy.js@6"></script>
4359 -->
4360<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.3.3/umd/popper.js" integrity="sha512-jSMYzs1Iebw2Uew+Y9karoqkqTDEzbqkdttIkHJKh3auQ6aGV7p8b7A3Yo9k/LsMvUFqWt5AV66hfo1OwH4Jjg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
vendor: 1 bytes, line 4360
4360
4361<script src="https://cdnjs.cloudflare.com/ajax/libs/tippy.js/6.0.0/tippy-bundle.umd.js"></script>
4361 4362
4363<script type="text/javascript"> 4364 var passwordPolicyRequired = false; 4365 var checkoutV2 = true; 4366 var primaryFieldPhoneEnabled = false; 4367 var orgLanguageCode = ""; 4368 var SPEERESCDN = "https://d502jbuhuh9wk.cloudfront.net"; 4369</script>
4369 4370
4371<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/sutils_919c30bb7230024efec7b939763642a2.js"></script>
vendor: 1 bytes, line 4371
4371
4372<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/utils/dateUtils_f53456b03f1287667a7b24fb63b367ce.js"></script>
vendor: 1 bytes, line 4372
4372
4373<script type="text/javascript"> 4374 // Make org object globally available for dateUtils 4375 window.org = window.org || {}; 4376 window.org.currencyCode = "false"=='true'?'USD':'INR'; 4377 var websiteV3Org = false; 4378 var orgCreatedDate = {"$date":"2023-04-20T10:06:43.682Z"}; 4379</script>
4379 4380 4381
4381<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/talk_b564486691065235006e186474078666.js"></script>
4381 4382 4383 4384 4385 4386
4387<script type="text/javascript"> 4388 var trialExpired = "false"; 4389 var planCancelled = "false"; 4390 var isFreePlan = false; 4391 4392</script>
vendor: 1 bytes, line 4392
4392
4393<script type="text/javascript" id="dsf239df"> 4394 var ctx = "/s", 4395 isFirstLogin = "", cjs = CryptoJS; 4396 4397 var defaultCoreColor = "#5755d9", theme1CoreColor = "#572b7a", theme2CoreColor = "#3f51b5", theme3CoreColor = "#009051", 4398 theme4CoreColor = "#596439", theme5CoreColor = "#F0591D", theme6CoreColor = "#28a745", theme7CoreColor = "#1bbc9b", 4399 theme8CoreColor = "#f38f20", apkId = "6231373436231373432363038663465653864613523630386634656538646135", theme9CoreColor = "#c0af01", theme10CoreColor = "#e8d3a4", 4400 webColor = defaultCoreColor, 4401 CFCDN = "https://d502jbuhuh9wk.cloudfront.net", mobileNotification = true, webNotification = true, 4402 iosPlayVideo = false, 4403 chromeDrmPlayback = false, 4404 gaType = ""; 4405 4406 4407 4408 $("#dsf239df").remove(); 4409</script>
4409 4410 4411 4412 4413 4414 4415 <a id="whatsappWidgetContainer" class="whatsapp-widget-container" href="#" target="_blank" > 4416 <div class="whatsapp-widget-icon"> 4417 <i class="fa-brands fa-whatsapp" aria-hidden="true"></i> 4418 </div> 4419 <div class="whatsapp-widget-contact">Contact us</div> 4420 </a> 4421 4422
4422<script> 4423 4424 const mobileNumber = "+917631766140"; 4425 const userMessage = "Hi, I have a query regarding your learning community."; 4426 4427 const WA_URL = "https://api.whatsapp.com/send?phone=" + encodeURIComponent(mobileNumber) + "&text=" + encodeURIComponent(userMessage); 4428 4429 document.getElementById("whatsappWidgetContainer").href = WA_URL; 4430 </script>
4430 4431 4432 4433 4434 4435 <input type="hidden" id="orgCurrencyCode" value="INR" /> 4436 4437 4438 4439 4440 4441
4441<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/detect-private-browsing.js"></script>
4441 4442
4442<script type="text/javascript"> 4443 detectPrivateMode( 4444 function(is_private) { 4445 if(typeof is_private !== 'undefined' && is_private) { 4446 $("input[name=privateMode]").val("private"); 4447 } 4448 } 4449 ); 4450 </script>
4450 4451 4452 4453 4454 4455 4456
4456<script type="text/javascript" 4457 src="https://d502jbuhuh9wk.cloudfront.net/resources/js/intlTelInput.min.js"></script>
4457 4458
4458<script type="text/javascript"> 4459 4460 var ipInfo = localStorage.getItem('ipInfo'); 4461 if(!ipInfo) { 4462 $.get("https://ipinfo.io", function() {}, "jsonp").always(function(resp) { 4463 if(resp) { 4464 var ipInfoStr = JSON.stringify(resp); 4465 var ipInfoField = document.getElementById("ipInfo"); 4466 var countryCode = (resp.country) ? resp.country : "in"; 4467 sessionStorage.setItem('countryCode', countryCode); 4468 if('statusText' in resp) { 4469 if((resp['statusText'] !== 'error') && ('ip' in resp)) { 4470 localStorage.setItem('ipInfo', ipInfoStr); 4471 if(ipInfoField) { 4472 ipInfoField.value = ipInfoStr; 4473 } 4474 } 4475 } 4476 else if('ip' in resp) { 4477 localStorage.setItem('ipInfo', ipInfoStr); 4478 if(ipInfoField) { 4479 ipInfoField.value = ipInfoStr; 4480 } 4481 } 4482 } 4483 }) 4484 } 4485 4486 $("#sphone").intlTelInput({ 4487 initialCountry: "auto", 4488 geoIpLookup: function(callback) { 4489 var scountryCode = sessionStorage.getItem('countryCode'); 4490 4491 if(scountryCode !== null) { 4492 callback(scountryCode); 4493 }else { 4494 $.get("https://ipinfo.io", function() {}, "jsonp").always(function(resp) { 4495 var countryCode = (resp && resp.country) ? resp.country : "in"; 4496 callback(countryCode); 4497 sessionStorage.setItem('countryCode', countryCode); 4498 }); 4499 } 4500 }, 4501 preferredCountries: ["in", "us"], 4502 separateDialCode: true, 4503 utilsScript: "/resources/js/intlUtils.js" 4504 }); 4505 4506 </script>
4506 4507 4508 4509 4510 4511<div class="spectre"> 4512 4513 4514 4515 4516 4517
4517<script type="text/javascript"> 4518 if(top != self) { 4519 //iframe 4520 $(".toast").remove(); 4521 } 4522 </script>
4522 4523 4524 4525</div> 4526 4527 4528 4529<input type="hidden" id="orgCreditAlias" 4530 value="Exam Assure Classes Coins" /> 4531 4532 4533 4534
4535<script> 4536 4537 4538 4539 4540 var orgTaxLabel = "GST"; 4541 4542 4543 4544 var sessionCountry = ""; 4545 4546 $(document).ready(function() { 4547 $("input[name='userMobileVerify']").change(function(data){ 4548 var uniqueMobileSwitch = $('#uniqueMobileId'); 4549 if(data.target.value==='true'){ 4550 $('input[name=uniqueMobile]').prop('checked', true) 4551 $('#uniqueMobileLabelId').show(); 4552 }else{ 4553 $('input[name=uniqueMobile]').prop('checked', false) 4554 $('#uniqueMobileLabelId').hide(); 4555 } 4556 }); 4557 }); 4558 4559 4560 4561 4562 localStorage.removeItem('microserviceAuthToken'); 4563 4564 4565 4566 4567 4568 4569 localStorage.removeItem('communityToken'); 4570 4571 4572 4573 4574 4575 4576 localStorage.removeItem('chatRefreshToken'); 4577 4578 4579 4580 4581 4582 4583 localStorage.removeItem('refreshToken'); 4584 4585 4586 4587</script>
4587 4588 4589 4590<!-- amplitude script start --> 4591 4592 4593 4594
4594<script type="text/javascript"> 4595 window.localStorage.removeItem('loginAmplitudeEventSent'); 4596 </script>
4596 4597 4598 4599<!-- amplitude script end --> 4600 4601 4602 4603 <div id="template-container"></div> 4604 4605 4606
4606<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/sstore_5ffb558e86d7b5ef265e05fb0bfbef79.js"></script>
4606 4607 4608 4609
4609<script type="text/template" id="categoryTemplate"> 4610 <li class="menu-item"><a href="/s/store/courses/<@- label @>"><@- label @></a> 4611 </script>
4611 4612
4612<script type="text/javascript"> 4613 store.init(true); 4614 store.bindEvents(); 4615 </script>
4615 4616
4616<script type="text/javascript"> 4617 window.signupParams = {source: "store", platform: "web", sourceId: null}; 4618 </script>
4618 4619 4620 4621 4622 4623 4624 <div id="ui-notification-container" class="spectre"></div> 4625
4625<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-easing.js"></script>
4625 4626
4626<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-notification.js"></script>
4626 4627 4628 <!-- Import and configure the Firebase SDK --> 4629 <!-- These scripts are made available when the app is served or deployed on Firebase Hosting --> 4630 <!-- If you do not serve/host your project using Firebase Hosting see https://firebase.google.com/docs/web/setup --> 4631
4631<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-app.js"></script>
4631 4632
4632<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-messaging.js"></script>
4632 4633 4634
4634<script> 4635 // Retrieve Firebase Messaging object. 4636 var firebaseConfig = {"apiKey":"AIzaSyCQ2wNyeXrIzifB0IKKVCalHXrDk7pg32w","authDomain":"live-stream-chat-efac5.firebaseapp.com","databaseURL":"https://live-stream-chat-efac5.firebaseio.com","projectId":"live-stream-chat-efac5","storageBucket":"live-stream-chat-efac5.appspot.com","messagingSenderId":"158909475587","appId":"1:158909475587:web:93ede0a9feef2b3f"}; 4637 // Initialize Firebase 4638 firebase.initializeApp(firebaseConfig); 4639 const messaging = firebase.messaging(); 4640 // Add the public key generated from the console here. 4641 messaging.usePublicVapidKey("BN3BYOmWjo3NAW7if4jCE5cG-yIOXAvmoKB9k53ZssAfgb7Z6ZZ-oAQWFK7j6EqHIG3f-G9QAVKLOIK7Vw3X0_k"); 4642 4643 // Callback fired if Instance ID token is updated. 4644 messaging.onTokenRefresh(function(){ 4645 messaging.getToken().then(function(refreshedToken){ 4646 // Indicate that the new Instance ID token has not yet been sent to the 4647 // app server. 4648 setTokenSentToServer(false); 4649 // Send Instance ID token to app server. 4650 sendTokenToServer(refreshedToken); 4651 // Display new Instance ID token and clear UI of all previous messages. 4652 resetUI(); 4653 // [END_EXCLUDE] 4654 })["catch"](function(err){ 4655 console.log('Unable to retrieve refreshed token ', err); 4656 showToken('Unable to retrieve refreshed token ', err); 4657 requestPermission(); 4658 }); 4659 }); 4660 4661 // Handle incoming messages. Called when: 4662 // - a message is received while the app has focus 4663 // - the user clicks on an app notification created by a service worker 4664 // `messaging.setBackgroundMessageHandler` handler. 4665 messaging.onMessage(function(payload){ 4666 console.log('Message received. ', payload); 4667 appendMessage(payload); 4668 }); 4669 4670 function resetUI() { 4671 clearMessages(); 4672 $(function(){ 4673 $("#ui-notification-container").notification(); 4674 }); 4675 // Get Instance ID token. Initially this makes a network call, once retrieved 4676 // subsequent calls to getToken will return from cache. 4677 messaging.getToken().then(function(currentToken) { 4678 if (currentToken) { 4679 sendTokenToServer(currentToken); 4680 updateUIForPushEnabled(currentToken); 4681 } else { 4682 // Show permission request. 4683 console.log('No Instance ID token available. Request permission to generate one.'); 4684 // Show permission UI. 4685 updateUIForPushPermissionRequired(); 4686 setTokenSentToServer(false); 4687 } 4688 })["catch"](function(err) { 4689 console.log('An error occurred while retrieving token. ', err); 4690 showToken('Error retrieving Instance ID token. ', err); 4691 setTokenSentToServer(false); 4692 }); 4693 // [END get_token] 4694 } 4695 4696 function showToken(currentToken) { 4697 // Show token in console and UI. 4698 console.log(currentToken); 4699 } 4700 4701 // Send the Instance ID token your application server, so that it can: 4702 // - send messages back to this app 4703 // - subscribe/unsubscribe the token from topics 4704 function sendTokenToServer(currentToken) { 4705 if (!isTokenSentToServer()) { 4706 console.log('Sending token to server...'); 4707 var packet = { 4708 url : "/public/v1/fcm/token", 4709 data: {token: currentToken}, 4710 success: function(data, params) { 4711 console.log("Token successfully sent") 4712 setTokenSentToServer(true); 4713 setTokenSentToServerUserId(window.userId); 4714 } 4715 }; 4716 postData(packet, {}); 4717 } else { 4718 console.log('Token already sent to server so won\'t send it again ' + 4719 'unless it changes'); 4720 } 4721 4722 } 4723 4724 function isTokenSentToServer() { 4725 return window.localStorage.getItem('sentToServer') === '1' && isTokenSentToServerWithUser(window.userId); 4726 } 4727 4728 function isTokenSentToServerWithUser(userId) { 4729 return window.localStorage.getItem('sentToServer-user') === userId; 4730 } 4731 4732 function setTokenSentToServer(sent) { 4733 window.localStorage.setItem('sentToServer', sent ? '1' : '0'); 4734 } 4735 4736 function setTokenSentToServerUserId(userId) { 4737 window.localStorage.setItem('sentToServer-user', userId); 4738 } 4739 4740 function requestPermission() { 4741 console.log('Requesting permission...'); 4742 // [START request_permission] 4743 Notification.requestPermission().then(function(permission) { 4744 if (permission === 'granted') { 4745 console.log('Notification permission granted.'); 4746 resetUI(); 4747 } else { 4748 console.log('Unable to get permission to notify.'); 4749 } 4750 }); 4751 // [END request_permission] 4752 } 4753 4754 function deleteToken() { 4755 // Delete Instance ID token. 4756 // [START delete_token] 4757 messaging.getToken().then(function(currentToken){ 4758 messaging.deleteToken(currentToken).then(function(){ 4759 console.log('Token deleted.'); 4760 setTokenSentToServer(false); 4761 // Once token is deleted update UI. 4762 resetUI(); 4763 })["catch"](function(err) { 4764 console.log('Unable to delete token. ', err); 4765 }); 4766 })["catch"](function(err) { 4767 console.log('Error retrieving Instance ID token. ', err); 4768 showToken('Error retrieving Instance ID token. ', err); 4769 }); 4770 4771 } 4772 4773 // Add a message to the messages element. 4774 function appendMessage(payload) { 4775 $("#ui-notification-container").notification("create", { 4776 title: payload.data.title, 4777 content: payload.data.message, 4778 customIcon: payload.data.customIcon, 4779 customImage: payload.data.customImage, 4780 link: payload.data.link 4781 }, 4782 { 4783 sticky: true 4784 }); 4785 } 4786 4787 // Clear the messages element of all children. 4788 function clearMessages() { 4789 const messagesElement = document.querySelector('#ui-notification-container'); 4790 while (messagesElement.hasChildNodes()) { 4791 messagesElement.removeChild(messagesElement.lastChild); 4792 } 4793 } 4794 4795 function updateUIForPushEnabled(currentToken) { 4796 showToken("Token update ui: " + currentToken); 4797 } 4798 4799 function updateUIForPushPermissionRequired() { 4800 console.warg("Push notification permission is requred") 4801 } 4802 4803 window.userId = ""; 4804 resetUI(); 4805 4806 4807 </script>
4807 4808 4809
4809<script src="https://d502jbuhuh9wk.cloudfront.net/static/files/lazyload.min.js"></script>
4809 4810
4810<script type="text/javascript"> 4811 var lazyLoadInstance = new LazyLoad({ 4812 unobserve_entered: true, 4813 callback_enter: function(element) { 4814 resizeCdnImage(element); 4815 } 4816 }); 4817 </script>
4817 4818</body> 4819</html>
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.