Update Content, still WiP
This commit is contained in:
		
							parent
							
								
									c5f51e94ca
								
							
						
					
					
						commit
						b184467b54
					
				| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
<meta charset=utf-8>
 | 
			
		||||
<meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no">
 | 
			
		||||
<title>rC3 NOWHERE</title>
 | 
			
		||||
<link rel=stylesheet href=https://infobeamer.montage2.de/main.min.98d83e9b389cfb42e02b6dc50f4985bde2bd17d3359d391d6154c0a69918bfc0.css>
 | 
			
		||||
<link rel=stylesheet href=https://infobeamer.montage2.de/main.min.50215e4017c001d2b7d6ee54c9ee64cc4544efb8502a289899b34b09a02ff466.css>
 | 
			
		||||
<script src=https://infobeamer.montage2.de/js/config.a954e77ac7f60b43bb37f71a04934bbf522575b4b8bbc6e214d7b0371e2c81a4.js integrity="sha256-qVTnesf2C0O7N/caBJNLv1IldbS4u8biFNewNx4sgaQ="></script>
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
| 
						 | 
				
			
			@ -11,6 +11,6 @@
 | 
			
		|||
</main>
 | 
			
		||||
<script src=https://infobeamer.montage2.de/js/preact/preact.min.0c204e20934f1e09cfe86fbcf1d069d842f988fc71efe3a923021c08892c71c8.js integrity="sha256-DCBOIJNPHgnP6G+88dBp2EL5iPxx7+OpIwIcCIksccg="></script>
 | 
			
		||||
<script src=https://infobeamer.montage2.de/js/htm/htm.80e39afe20fd61183412eda89efa10532d57945e6364642aceacd50eb2384b4b.js integrity="sha256-gOOa/iD9YRg0Eu2onvoQUy1XlF5jZGQqzqzVDrI4S0s="></script>
 | 
			
		||||
<script src=https://infobeamer.montage2.de/main.70ebfdc7bf1b6f07ff5cb8036bab2309230d7a7a17d3e31366332852678adbaf.js integrity="sha256-cOv9x78bbwf/XLgDa6sjCSMNenoX0+MTZjMoUmeK268=" type=module></script>
 | 
			
		||||
<script src=https://infobeamer.montage2.de/main.ed70c487a33840a79f8f30be2914947b7075c79656362b0f07f1b33aacc1254a.js integrity="sha256-7XDEh6M4QKefjzC+KRSUe3B1x5ZWNisPB/GzOqzBJUo=" type=module></script>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
"use strict";
 | 
			
		||||
(() => {
 | 
			
		||||
  // ns-hugo:/home/raoul/rc3_2021/html-infobeamer-content/assets/js/dom.js
 | 
			
		||||
  // ns-hugo:/home/raoul-web/rc3_2021/html-infobeamer-content/assets/js/dom.js
 | 
			
		||||
  var html = htm.bind(preact.h);
 | 
			
		||||
  var schedule_meta_here_dom = (schedule) => {
 | 
			
		||||
    let inner = html`${schedule.map((talk) => html`
 | 
			
		||||
| 
						 | 
				
			
			@ -81,20 +81,67 @@
 | 
			
		|||
                  <span class="license">(${current.license})</span>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="line2">
 | 
			
		||||
                  <span class="title">«${current.title}»</span>
 | 
			
		||||
                  <span class="by">by</span>
 | 
			
		||||
                  <span class="artist">${current.artist}</span>
 | 
			
		||||
                  <span>—</span>
 | 
			
		||||
                  <span class="title">${current.title}</span>
 | 
			
		||||
                </div>`)}
 | 
			
		||||
        </div>`;
 | 
			
		||||
    return inner;
 | 
			
		||||
  };
 | 
			
		||||
  var get_tweet_author = (data, tweet) => {
 | 
			
		||||
    let authorId = tweet.author_id;
 | 
			
		||||
    let users = data.includes.users;
 | 
			
		||||
    let author = users.find((item) => item.id === authorId);
 | 
			
		||||
    let userName = author !== void 0 ? author.username : "NoOne";
 | 
			
		||||
    return userName;
 | 
			
		||||
  };
 | 
			
		||||
  var get_tweet_text = (data, tweet) => tweet.text;
 | 
			
		||||
  var get_tweet_profile_image = (data, tweet) => {
 | 
			
		||||
    const defaultProfileImageUrl = "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png";
 | 
			
		||||
    let authorId = tweet.author_id;
 | 
			
		||||
    let users = data.includes.users;
 | 
			
		||||
    let author = users.find((item) => item.id === authorId);
 | 
			
		||||
    let profileImageUrl = author !== void 0 ? author.profile_image_url : defaultProfileImageUrl;
 | 
			
		||||
    return profileImageUrl;
 | 
			
		||||
  };
 | 
			
		||||
  var single_tweet_dom = (data, tweet) => {
 | 
			
		||||
    let userName = get_tweet_author(data, tweet);
 | 
			
		||||
    let profileImageUrl = get_tweet_profile_image(data, tweet);
 | 
			
		||||
    let text = get_tweet_text(data, tweet);
 | 
			
		||||
    let inner = html`
 | 
			
		||||
      <div class="tweet slider">
 | 
			
		||||
        <div class="container">
 | 
			
		||||
          <img class="profile-image" src="${profileImageUrl}"/>
 | 
			
		||||
          <div class="content">
 | 
			
		||||
            <div class="username">@${userName}</div>
 | 
			
		||||
            <div class="text">${text}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>`;
 | 
			
		||||
    return inner;
 | 
			
		||||
  };
 | 
			
		||||
  var social_container_dom = (data) => {
 | 
			
		||||
    let inner = html``;
 | 
			
		||||
    data.forEach((d) => {
 | 
			
		||||
      let tweets = d.data;
 | 
			
		||||
      inner = html`
 | 
			
		||||
        <div id="bottom-bar" class="visible bottom-bar">
 | 
			
		||||
          <div id="ticker-wrap" class="ticker-wrap">
 | 
			
		||||
            <div class="ticker switcher">
 | 
			
		||||
              ${tweets.map((t) => single_tweet_dom(d, t))}
 | 
			
		||||
            </div>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>`;
 | 
			
		||||
    });
 | 
			
		||||
    return inner;
 | 
			
		||||
  };
 | 
			
		||||
  function update_main_slide(data) {
 | 
			
		||||
    let schedule = data.schedule;
 | 
			
		||||
    let music = data.music;
 | 
			
		||||
    let twitter = data.twitter;
 | 
			
		||||
    let scheduleDom = update_schedule_dom(schedule);
 | 
			
		||||
    let musicDom = music_playing_now_dom(music);
 | 
			
		||||
    let twitterDom = void 0;
 | 
			
		||||
    let twitterDom = social_container_dom(twitter);
 | 
			
		||||
    let inner = html`
 | 
			
		||||
${scheduleDom}
 | 
			
		||||
${musicDom}
 | 
			
		||||
| 
						 | 
				
			
			@ -106,9 +153,23 @@ ${twitterDom}
 | 
			
		|||
  }
 | 
			
		||||
 | 
			
		||||
  // <stdin>
 | 
			
		||||
  var scheduleData = JSON.constructor([]);
 | 
			
		||||
  var musicData = JSON.constructor([]);
 | 
			
		||||
  var twitterData = JSON.constructor([]);
 | 
			
		||||
  var scheduleData = [];
 | 
			
		||||
  var musicData = [];
 | 
			
		||||
  var twitterData = [];
 | 
			
		||||
  var twitter_limiter = (idata) => {
 | 
			
		||||
    const numberTweets = 20;
 | 
			
		||||
    let dataCopy = JSON.parse(JSON.stringify(idata));
 | 
			
		||||
    dataCopy.forEach((d) => {
 | 
			
		||||
      let tweets = d.data;
 | 
			
		||||
      if (tweets.length > 0) {
 | 
			
		||||
        while (tweets.length < 20) {
 | 
			
		||||
          tweets = tweets.concat(tweets);
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      d.data = tweets.slice(0, numberTweets);
 | 
			
		||||
    });
 | 
			
		||||
    return dataCopy;
 | 
			
		||||
  };
 | 
			
		||||
  if (window.Worker) {
 | 
			
		||||
    const workerBaseURL = window.infoBeamerConfig.get("workerBaseURL");
 | 
			
		||||
    const scheduleWorkerCode = workerBaseURL + "js/schedule_worker.js";
 | 
			
		||||
| 
						 | 
				
			
			@ -145,7 +206,7 @@ ${twitterDom}
 | 
			
		|||
    musicWorker.onmessage = function(e) {
 | 
			
		||||
      let msgType = e.data.msgType;
 | 
			
		||||
      if (msgType === musicType) {
 | 
			
		||||
        musicData = JSON.constructor([e.data.json]);
 | 
			
		||||
        musicData = [e.data.json];
 | 
			
		||||
        let time = e.data.timestamp;
 | 
			
		||||
        console.log("Message: " + msgType + " at " + time);
 | 
			
		||||
        console.log(musicData);
 | 
			
		||||
| 
						 | 
				
			
			@ -166,7 +227,8 @@ ${twitterDom}
 | 
			
		|||
    twitterWorker.onmessage = function(e) {
 | 
			
		||||
      let msgType = e.data.msgType;
 | 
			
		||||
      if (msgType === twitterType) {
 | 
			
		||||
        twitterData = e.data.json;
 | 
			
		||||
        twitterData = [e.data.json];
 | 
			
		||||
        twitterData = twitter_limiter(twitterData);
 | 
			
		||||
        let time = e.data.timestamp;
 | 
			
		||||
        console.log("Message: " + msgType + " at " + time);
 | 
			
		||||
        console.log(twitterData);
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Loading…
	
		Reference in New Issue