lemansky

Untitled

Apr 14th, 2021 (edited)
325
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 7.19 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/bootstrap@4.5.3/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="#">10</a>
  72.                      </li>
  73.                      <li class="page-item">
  74.                         <a class="page-link" href="#">11</a>
  75.                      </li>
  76.                        <li class="page-item">
  77.                           <a class="page-link" href="#">&raquo;</a>
  78.                        </li>
  79.                     </ul>
  80.                  </div>
  81.               </div>
  82.             </div>
  83.          </div>
  84.       </div>
  85.       </div>
  86.       </div>
  87.       <script>
  88.          document.addEventListener("DOMContentLoaded", function(event){
  89.          
  90.            function readTextFile(file, callback) {
  91.              const rawFile = new XMLHttpRequest();
  92.              rawFile.overrideMimeType("application/json; charset=UTF-8");
  93.              rawFile.open("GET", file, true);
  94.              rawFile.onreadystatechange = function() {
  95.                  if (rawFile.readyState === 4 && rawFile.status == "200") {
  96.                     callback(rawFile.responseText);
  97.                  }
  98.                }
  99.                rawFile.send(null);
  100.            }
  101.            readTextFile("https://api.codetabs.com/v1/proxy?quest=http://it.deepcloud.eu/uploads/tweets-en.json", function(text){
  102.                 const tweets = JSON.parse(text);
  103.                 // console.log(tweets[0]);
  104.  
  105.                 class Tweet{
  106.                     constructor(name, screenName, avatar, text){
  107.                         this.name = name;
  108.                         this.screenName = screenName;
  109.                         this.avatar = avatar;
  110.                         this.text = text;
  111.                     }
  112.                 }
  113.  
  114.                 let _mediaContainer = document.getElementsByClassName('media');
  115.  
  116.                 tweets.forEach((item, index) => {
  117.                     let _tw = new Tweet(
  118.                                     item.user.name,
  119.                                     item.user.screen_name,
  120.                                     item.user.profile_image_url_https,
  121.                                     item.text
  122.                                 );
  123.                     let _clone = _mediaContainer[0].cloneNode(true);
  124.                     _mediaContainer[0].parentNode.appendChild(_clone);
  125.  
  126.                     let _snimka = document.getElementsByClassName('img-thumbnail');
  127.                     _snimka[index].src = _tw.avatar;
  128.  
  129.                     let _fullHandle = document.getElementsByClassName('media-heading');
  130.                     _fullHandle[index].innerText = _tw.name + " @ " + _tw.screenName;
  131.                     _fullHandle[index].nextElementSibling.innerText = "#" + (index+1) + "." +_tw.text;
  132.                 });
  133.  
  134.                 _mediaContainer[_mediaContainer.length - 1].remove();
  135.  
  136.                 for (let index = 10; index < _mediaContainer.length; index++) {
  137.                    _mediaContainer[index].style.display = 'none';
  138.                }
  139.  
  140.                let _btns = document.getElementsByClassName('page-link');
  141.                for(item of _btns){
  142.                    item.addEventListener('click' , (e) => {
  143.                         let page = parseInt(e.target.innerText);
  144.                        
  145.                         for (let index = (page-1)*10; index < page*10; index++) {
  146.                            _mediaContainer[index]?.style  ? _media[index].style.display = 'flex': '';
  147.                        }
  148.                        let active = document.querySelectorAll('.page-item.active');
  149.                        let activePage = active[0].firstElementChild.innerText;
  150.  
  151.                        for (let index = (activePage-1)*10; index < activePage*10; index++) {
  152.                            _mediaContainer[index]?.style ? _media[index].style.display = 'none': '';
  153.                        }
  154.                        e.target.parentNode.classList.add('active');
  155.                        active[0].classList.remove('active');
  156.                    });
  157.                }
  158.  
  159.           });
  160.  
  161.         });
  162.      </script>
  163.    </body>
  164. </html>
Add Comment
Please, Sign In to add comment