templates/vitrine/loader/streamit-page.html.twig line 1

  1. <script type="text/javascript">
  2.     const UBStreamitsPage = function(){
  3.         var program;
  4.         const container = "#content-streamit", header = (swipe)=>{
  5.             if(swipe == ""){
  6.                 $("#content-current").removeClass("dynamik");
  7.                 $("#content-current").addClass("text-center").html("{{'Aucune diffusion en cours'|trans}}");
  8.                 $("#content-streamit").addClass("section-padding-top");
  9.             }else{
  10.                 $("#content-current").html(`<div class="movie-banner">
  11.                     <div  class="swiper swiper-banner-container iq-rtl-direction" data-swiper="banner-detail-slider">
  12.                         <div class="swiper-wrapper">`+swipe+`</div>
  13.                         <div class="swiper-banner-button-next">
  14.                             <i class="iconly-Arrow-Right-2 icli arrow-icon"></i>
  15.                         </div>
  16.                         <div class="swiper-banner-button-prev">
  17.                             <i class="iconly-Arrow-Left-2 icli arrow-icon"></i>
  18.                         </div> 
  19.                     </div>
  20.                 </div>`);
  21.             }
  22.         }, content = (d)=>{
  23.             var streamits = "", streamit_current = "", current = 0;
  24.             const startTitle = `{{"Commence"|trans }}`, endTitle = `{{"Jusqu'au"|trans }}`;
  25.             
  26.             d.forEach(el => {
  27.                 const type = el.type ? 'm' : 'e';
  28.                 const web_movie_detail = ("{{path('web_movie_detail', {'_1_':'_2_'})}}").replace('_1_',type).replace('_2_',el.media.id);
  29.                 streamits += `<div class="col mb-4">
  30.                     <div class="iq-card card-hover">
  31.                         <div class="block-images position-relative w-100">
  32.                             <div class="img-box w-100">
  33.                                 <a href="javascript:void(0);" class="position-absolute top-0 bottom-0 start-0 end-0 row px-2 pb-5">
  34.                                     <span class="col-12 mt-2"><small class="badge bg-`+el.status.label+`">`+el.status.name+`</small></span>
  35.                                 </a>
  36.                                 <img src="{{asset('`+el.media.cover+`', 'covers')}}" alt="movie-card" class="img-fluid object-cover w-100 d-block border-0">
  37.                             </div>
  38.                             <div class="card-description with-transition">
  39.                                 <div class="cart-content">
  40.                                     <div class="content-left w-100">
  41.                                         <h5 class="iq-title text-capitalize mb-0">
  42.                                             <a href="`+web_movie_detail+`">`+el.media.serie+`</a>
  43.                                         </h5>
  44.                                         <small>`+composeEpisodeName(el.media.nseason, el.media.nepisode)+` `+el.media.episode+`</small>
  45.                                         <!--div class="movie-time d-flex align-items-center my-2">
  46.                                             <span class="movie-time-text font-normal">`+minutesToHours(el.duration)+`</span>
  47.                                         </div-->
  48.                                         <div class="small text-end w-100">`+(el.status.code == program.code ? startTitle : endTitle)+`</div>
  49.                                         <div class="small text-end text-primary fw-bold w-100">`+(el.status.code == program.code ? viewTime(el.startAt) : viewTime(el.endAt))+`</div>
  50.                                     </div>
  51.                                     {# <div class="watchlist">
  52.                                         <a class="watch-list-not" href="#">
  53.                                             <svg width="10" height="10" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-10">
  54.                                             <path d="M12 4V20M20 12H4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
  55.                                             </svg>
  56.                                             <span class="watchlist-label">kklklk</span>
  57.                                         </a>
  58.                                     </div> #}
  59.                                 </div>
  60.                             </div>
  61.                             <div class="block-social-info align-items-center">
  62.                                 <!--ul class="p-0 m-0 d-flex gap-2 music-play-lists">
  63.                                     <li class="share position-relative d-flex align-items-center text-center mb-0">
  64.                                     <span class="w-100 h-100 d-inline-block bg-transparent">
  65.                                         <i class="fas fa-share-alt"></i>
  66.                                     </span>
  67.                                     <div class="share-wrapper">
  68.                                         <div class="share-boxs d-inline-block">
  69.                                         <svg width="15" height="40" class="share-shape" viewBox="0 0 15 40" fill="none" xmlns="http://www.w3.org/2000/svg">
  70.                                             <path fill-rule="evenodd" clip-rule="evenodd" d="M14.8842 40C6.82983 37.2868 1 29.3582 1 20C1 10.6418 6.82983 2.71323 14.8842 0H0V40H14.8842Z" fill="#191919"></path>
  71.                                         </svg>
  72.                                         <div class=" overflow-hidden">
  73.                                             <a href="" target="_blank">
  74.                                             <i class="fab fa-facebook-f"></i>
  75.                                             </a>
  76.                                             <a href="" target="_blank">
  77.                                             <i class="fab fa-twitter"></i>
  78.                                             </a>
  79.                                             <a href="#">
  80.                                             <i class="fas fa-link"></i>
  81.                                             </a>
  82.                                         </div>
  83.                                         </div>
  84.                                     </div>
  85.                                     </li>
  86.                                     <li class="share position-relative d-flex align-items-center text-center mb-0">
  87.                                     <span class="w-100 h-100 d-inline-block bg-transparent">
  88.                                         <i class="fa-regular fa-heart"></i>
  89.                                     </span>
  90.                                     <div class="share-wrapper">
  91.                                         <div class="share-boxs d-inline-block">
  92.                                         <svg width="15" height="40" class="share-shape" viewBox="0 0 15 40" fill="none" xmlns="http://www.w3.org/2000/svg">
  93.                                             <path fill-rule="evenodd" clip-rule="evenodd" d="M14.8842 40C6.82983 37.2868 1 29.3582 1 20C1 10.6418 6.82983 2.71323 14.8842 0H0V40H14.8842Z" fill="#191919"></path>
  94.                                         </svg>
  95.                                         <div class=" overflow-hidden">
  96.                                             <span>+51</span>
  97.                                         </div>
  98.                                         </div>
  99.                                     </div>
  100.                                     </li>
  101.                                 </ul-->
  102.                                 <div class="iq-button">
  103.                                     <a href="`+web_movie_detail+`" class="btn text-uppercase position-relative rounded-circle">
  104.                                     <i class="fa-solid fa-play ms-0"></i>
  105.                                     </a>
  106.                                 </div>
  107.                             </div>
  108.                         </div>
  109.                     </div>
  110.                 </div>`;
  111.                 if(el.current){
  112.                     current++;
  113.                     const title = el.media.nepisode ? `<h1 class="texture-text big-font line-count-1 text-uppercase RightAnimate-two" data-animation-in="fadeInLeft" data-delay-in="0.6">`+composeEpisodeName(el.media.nseason, el.media.nepisode)+` `+el.media.episode+`</h1>
  114.                     <h3 class="texture-text big-font line-count-1 text-uppercase RightAnimate-two" data-animation-in="fadeInLeft" data-delay-in="0.6">`+el.media.serie+`</h3>` : `<h1 class="texture-text big-font line-count-1 text-uppercase RightAnimate-two" data-animation-in="fadeInLeft" data-delay-in="0.6">`+el.media.serie+`</h1>`;
  115.                     streamit_current += `<div class="swiper-slide video-`+current+` p-0">
  116.                         <div class="movie-banner-image">
  117.                             <img src="{{asset('`+el.media.cover+`', 'covers')}}" alt="`+el.media.serie+`">
  118.                         </div>
  119.                         <div class="shows-content h-100">
  120.                             <div class="row align-items-center h-100">
  121.                             <div class="col-lg-7 col-md-12">
  122.                                 `+title+`
  123.                                 <div class="flex-wrap align-items-center fadeInLeft animated" data-animation-in="fadeInLeft"
  124.                                 style="opacity: 1;">
  125.                                 <div class="slider-ratting d-flex align-items-center gap-3">
  126.                                     <ul class="ratting-start p-0 m-0 list-inline text-primary d-flex align-items-center justify-content-left">
  127.                                     `+afficherEtoiles(el.rating)+`
  128.                                     </ul>
  129.                                 </div>
  130.                                 <div class="d-flex flex-wrap align-items-center gap-3 movie-banner-time">
  131.                                     <span class="font-size-6">
  132.                                     <i class="fa-solid fa-circle"></i>
  133.                                     </span>
  134.                                     <span class="trending-time font-normal">
  135.                                     `+minutesToHours(el.duration)+`
  136.                                     </span>
  137.                                     <span class="font-size-6">
  138.                                     <i class="fa-solid fa-circle"></i>
  139.                                     </span>
  140.                                     <span class="trending-year font-normal">
  141.                                     `+el.release+`
  142.                                     </span>
  143.                                 </div>
  144.                                 <p class="movie-banner-text line-count-3" data-animation-in="fadeInUp" data-delay-in="1.2">
  145.                                     `+el.description+`
  146.                                 </p>
  147.                                 </div>
  148.                                 <div class="iq-button" data-animation-in="fadeInUp" data-delay-in="1.2">
  149.                                 <a href="`+web_movie_detail+`" class="btn text-uppercase position-relative">
  150.                                     <span class="button-text">{{"Regarder"|trans}}</span>
  151.                                     <i class="fa-solid fa-play"></i>
  152.                                 </a>
  153.                                 </div>
  154.                             </div>
  155.                             <div class="col-lg-5 col-md-12 trailor-video iq-slider d-none d-lg-block position-relative">
  156.                                 <a data-fslightbox="html5-video" href="`+el.trailerUrl+`" class="video-open playbtn text-decoration-none" tabindex="0">
  157.                                 <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
  158.                                     y="0px" width="80px" height="80px" viewBox="0 0 213.7 213.7" enable-background="new 0 0 213.7 213.7"
  159.                                     xml:space="preserve">
  160.                                     <polygon class="triangle" fill="none" stroke-width="7" stroke-linecap="round" stroke-linejoin="round"
  161.                                     stroke-miterlimit="10" points="73.5,62.5 148.5,105.8 73.5,149.1 "></polygon>
  162.                                     <circle class="circle" fill="none" stroke-width="7" stroke-linecap="round" stroke-linejoin="round"
  163.                                     stroke-miterlimit="10" cx="106.8" cy="106.8" r="103.3"></circle>
  164.                                 </svg>
  165.                                 <span class="w-trailor text-uppercase">{{'Bande annonce'|trans}}</span>
  166.                                 </a>
  167.                             </div>
  168.                             </div>
  169.                         </div>
  170.                     </div>`;
  171.                 }
  172.             });
  173.             header(streamit_current);
  174.             return `<div class="container-fluid">       
  175.                 <div class="card-style-grid">
  176.                     <div class="row row-cols-xl-5 row-cols-md-4 row-cols-2">`+streamits+`</div>
  177.                 </div>
  178.             </div>`;
  179.         }
  180.         return {
  181.             init: ()=>{
  182.                 $.urban.load.ajax(container, "{{path('app_broadcast_index')}}", (r)=>{
  183.                     program = r.program;
  184.                     return content(r.data);
  185.                 }, {order:[{column:'startAt',dir:'1'}]});
  186.             }
  187.         }
  188.     }();
  189.     UBStreamitsPage.init();
  190. </script>