Advertisement
lemansky

Untitled

Nov 22nd, 2021
831
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 7.43 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.    <head>
  4.       <meta charset="UTF-8">
  5.       <title>Document</title>
  6.       <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  7.       <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:100,300,400,700">
  8.       <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
  9.       <style>
  10.          body {
  11.          font-family: 'Lato';
  12.          }
  13.       </style>
  14.    </head>
  15.    <body>
  16.       <div class="container">
  17.          <div class="row">
  18.             <div class="col-md-10">
  19.               <div class="card">
  20.                  <div class="tweet-list">
  21.                     <form action="{{ route('approve-tweets') }}" method="post">
  22.                        <div class="tweet row">
  23.                           <div class="col-sm-10">
  24.                              <div class="media bg-light p-4 m-4 ">
  25.                                 <div class="media-left">
  26.                                    <img class="img-thumbnail media-object" src="" alt="Avatar">
  27.                                    <!-- {{ $tweet->user_avatar_url }} -->
  28.                                 </div>
  29.                                 <div class="media-body ml-4">
  30.                                    <h4 class="media-heading">{{ '@' . $tweet->user_screen_name }}</h4>
  31.                                    <p>{{ $tweet->text }}</p>
  32.                                 </div>
  33.                              </div>
  34.                           </div>
  35.                        </div>
  36.                     </form>
  37.                  </div>
  38.                  <div>
  39.                     <ul class="pagination">
  40.                        <li class="page-item disabled">
  41.                           <a class="page-link" href="#">&laquo;</a>
  42.                        </li>
  43.                        <li class="page-item active">
  44.                           <a class="page-link" href="#">1</a>
  45.                        </li>
  46.                        <li class="page-item">
  47.                           <a class="page-link" href="#">2</a>
  48.                        </li>
  49.                        <li class="page-item">
  50.                           <a class="page-link" href="#">3</a>
  51.                        </li>
  52.                        <li class="page-item">
  53.                           <a class="page-link" href="#">4</a>
  54.                        </li>
  55.                        <li class="page-item">
  56.                           <a class="page-link" href="#">5</a>
  57.                        </li>
  58.                        <li class="page-item">
  59.                           <a class="page-link" href="#">6</a>
  60.                        </li>
  61.                        <li class="page-item">
  62.                           <a class="page-link" href="#">7</a>
  63.                        </li>
  64.                        <li class="page-item">
  65.                           <a class="page-link" href="#">8</a>
  66.                        </li>
  67.                        <li class="page-item">
  68.                           <a class="page-link" href="#">9</a>
  69.                        </li>
  70.                        <li class="page-item">
  71.                           <a class="page-link" href="#">&raquo;</a>
  72.                        </li>
  73.                     </ul>
  74.                  </div>
  75.               </div>
  76.             </div>
  77.          </div>
  78.       </div>
  79.       </div>
  80.       </div>
  81.       <script>
  82.          document.addEventListener("DOMContentLoaded", function(event){
  83.          
  84.           function readTextFile(file, callback) {
  85.              const rawFile = new XMLHttpRequest();
  86.              rawFile.overrideMimeType("application/json; charset=UTF-8");
  87.              rawFile.open("GET", file, true);
  88.              rawFile.onreadystatechange = function() {
  89.                  if (rawFile.readyState === 4 && rawFile.status == "200") {
  90.                     callback(rawFile.responseText);
  91.                  }
  92.                }
  93.                rawFile.send(null);
  94.            }
  95.            readTextFile("https://api.codetabs.com/v1/proxy?quest=http://it.deepcloud.eu/uploads/tweets-en.json", function(text){
  96.               const tweets = JSON.parse(text);
  97.  
  98.               class Tweet{
  99.                   constructor(name, screenName, avatar, text){
  100.                     this.name = name;
  101.                     this.screenName = screenName;
  102.                     this.avatar = avatar;
  103.                     this.text = text;
  104.                   }
  105.               }
  106.  
  107.               let mediaOrignal = document.querySelectorAll('.media')[0];
  108.               tweets.forEach((item, index) => {
  109.                   let tw = new Tweet(item.user.name, item.user.screen_name, item.user.profile_image_url, item.text);
  110.                  
  111.                   let clone = mediaOrignal.cloneNode(true);
  112.                   clone.style.display = index > 9 ? 'none' : '';
  113.                   mediaOrignal.parentNode.appendChild(clone);
  114.  
  115.                   let img = clone.querySelectorAll('.img-thumbnail')[0];
  116.                   img.src = tw.avatar;
  117.  
  118.                   let userHeading = clone.querySelectorAll('.media-heading')[0];
  119.                   userHeading.innerText = `${index+1} // ${tw.name} @ ${tw.screenName}`;
  120.  
  121.                   let tweetText = clone.querySelectorAll('p')[0];
  122.                   tweetText.innerText = tw.text;
  123.                   // console.log(clone.parentNode);
  124.               });
  125.               mediaOrignal.remove();
  126.  
  127.               let btns = document.querySelectorAll('.page-link');
  128.               btns.forEach(item => {
  129.                 item.addEventListener('click', (e) => {
  130.                   let page = parseInt(e.target.innerText);
  131.                   let media = document.querySelectorAll('.media');
  132.  
  133.                   // for (let i = 0; i < media.length; i++) {
  134.                    
  135.                    // if(i >= (page-1)*10 && i <= page*10 - 1){
  136.                    //   media[i].style.display = 'flex';
  137.                     // } else {
  138.                     //   media[i].style.display = 'none';
  139.                     // }
  140.  
  141.                   //   media[i].style.display = (i >= (page-1)*10 && i <= page*10 - 1 ? 'flex' : 'none');
  142.                   // }
  143.  
  144.                   for(let i = (page-1)*10; i <= page*10 - 1; i++){
  145.                    media[i]?.style ? media[i].style.display = 'flex' : '';
  146.                  }
  147.  
  148.                  let active = document.querySelectorAll('.page-item.active')[0];
  149.                  let activePage = active.firstElementChild.innerText;
  150.  
  151.                  for(let i = (activePage-1)*10; i<= activePage*10 - 1;i++){
  152.                    media[i]?.style ? media[i].style.display = 'none' : '';
  153.                  }
  154.  
  155.                  e.target.parentNode.classList.add('active');
  156.                  active.classList.remove('active');
  157.                });
  158.              });
  159.  
  160.              // let tw = new Tweet(tweets[0].user.name, tweets[0].user.screen_name, tweets[0].user.profile_image_url, tweets[0].text);
  161.              // let img = document.querySelectorAll('.img-thumbnail')[0];
  162.              // img.src = tw.avatar;
  163.              // let userHeading = document.querySelectorAll('.media-heading')[0];
  164.              // userHeading.innerText = `${tw.name} @ ${tw.screenName}`;
  165.              // let tweetText = document.querySelectorAll('p')[0];
  166.              // tweetText.innerText = tw.text;
  167.           });
  168.  
  169.         });
  170.      </script>
  171.    </body>
  172. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement