]> git.feebdaed.xyz Git - gomehub.git/commitdiff
add paginationi
authorseantywork <seantywork@gmail.com>
Sat, 17 Aug 2024 07:16:50 +0000 (16:16 +0900)
committerseantywork <seantywork@gmail.com>
Sat, 17 Aug 2024 07:16:50 +0000 (16:16 +0900)
public/js/index/index.js
view/content/article.html
view/index/index.html
view/index/signin.html
view/mypage/article.html
view/mypage/index.html
view/mypage/room.html
view/room/index.html

index 8ee7797f5fe675ab98b8f64255cf2a8796abadc3..0cecd03c03e811c4a43b4d51ad1724eb1c265074 100644 (file)
@@ -19,6 +19,17 @@ var PEERS_ENTRY_STRUCT = {
 }
 
 
+
+var CONTENT_LIST = []
+
+var ROOM_LIST = []
+
+var CONTENT_PAGE_PTR = 0
+var ROOM_PAGE_PTR = 0
+
+var PAGE_MAX = 5
+
+
 async function getContentList(){
 
   let resp = await fetch("/api/content/entry", {
@@ -35,10 +46,50 @@ async function getContentList(){
 
   }
 
+  CONTENT_LIST = JSON.parse(result.reply)
+
+  renderContentList()
+
+}
+
+
+
+async function getRoomList(){
+
+    let resp = await fetch("/api/peers/entry", {
+      method: "GET"
+    })
+  
+    let result = await resp.json()
+  
+    if(result.status != "success"){
+  
+      alert("failed to get sample list")
+  
+      return
+  
+    }
+  
+    ROOM_LIST = JSON.parse(result.reply)
+
+
+    renderRoomList()
+  
+  
+  }
+
+
+
+
+function renderContentList(){
+
 
   let contentReader = document.getElementById("content-reader")
 
-  let contentEntry = JSON.parse(result.reply)
+  let contentEntry = JSON.parse(JSON.stringify(CONTENT_LIST))
+
+  contentReader.innerHTML = ""
 
   if (contentEntry.entry == null){
 
@@ -49,75 +100,143 @@ async function getContentList(){
 
     `
 
-
   } else {
 
     let sortedEntry = getNewDateSortedList("desc", "timestamp", contentEntry.entry)
 
+    let pageStart = CONTENT_PAGE_PTR * PAGE_MAX
+    let pageEnd = pageStart + PAGE_MAX
+
     for(let i = 0; i < sortedEntry.length; i ++){
 
-      contentReader.innerHTML += `
-      <a class="tui-button" href="/content/${sortedEntry[i].type}/${sortedEntry[i].id}">
-        ${sortedEntry[i].title} 
-      </a> [${sortedEntry[i].author}:${sortedEntry[i].timestamp}] 
-      <br>
-      `
+      if(pageStart <= i && i < pageEnd){
+       
+        contentReader.innerHTML += `
+        <div style="display: block;">
+          <a class="tui-button" href="/content/${sortedEntry[i].type}/${sortedEntry[i].id}">
+            ${sortedEntry[i].title} 
+          </a> [${sortedEntry[i].author}:${sortedEntry[i].timestamp}]
+        </div> 
+        <br>
+        `
+      } else {
+
+        contentReader.innerHTML += `
+        <div style="display: none;">
+          <a class="tui-button" href="/content/${sortedEntry[i].type}/${sortedEntry[i].id}">
+            ${sortedEntry[i].title} 
+          </a> [${sortedEntry[i].author}:${sortedEntry[i].timestamp}] 
+        </div>
+        <br>
+        ` 
+      }
      
     }
   }
-
-
 }
 
 
+function renderRoomList(){
 
-async function getRoomList(){
 
-    let resp = await fetch("/api/peers/entry", {
-      method: "GET"
-    })
-  
-    let result = await resp.json()
-  
-    if(result.status != "success"){
-  
-      alert("failed to get sample list")
-  
-      return
-  
-    }
-  
-  
-    let roomReader = document.getElementById("room-reader")
-  
-    let roomEntry = JSON.parse(result.reply)
-  
-    if (roomEntry.room_name == null){
-  
-      roomReader.innerHTML = `
-          <pre> :(     You're not invited, yet </pre>
 
-      `
+  let roomReader = document.getElementById("room-reader")
   
-  
-    } else {
-  
-      for(let i = 0; i < roomEntry.room_name.length; i ++){
-  
-          roomReader.innerHTML += `
+  let roomEntry = JSON.parse(JSON.stringify(ROOM_LIST))
+
+  roomReader.innerHTML = ""
+
+  if (roomEntry.room_name == null){
+
+    roomReader.innerHTML = `
+
+        <pre> :(     You're not invited, yet </pre>
+
+    `
+
+
+  } else {
+
+    let pageStart = ROOM_PAGE_PTR * PAGE_MAX
+    let pageEnd = pageStart + PAGE_MAX
+
+    for(let i = 0; i < roomEntry.room_name.length; i ++){
+   
+      if(pageStart <= i && i < pageEnd){
+        roomReader.innerHTML += `
+        <div style="display: block;">
           <a class="tui-button" href="/room/${roomEntry.room_name[i]}">
               ${roomEntry.room_name[i]}
           </a>
-          <br>
-          `
-       
+        </div>
+        <br>
+        `
+
+      } else {
+
+        roomReader.innerHTML += `
+        <div style="display: none;">
+          <a class="tui-button" href="/room/${roomEntry.room_name[i]}">
+              ${roomEntry.room_name[i]}
+          </a>
+        </div>
+        <br>
+        `
       }
-    }
-  
+
   
+    }
+
   }
 
+}
+
+function contentNext(){
+
+
+  let contentLength = CONTENT_LIST.entry.length 
+
+  let tmpPagePtr = (CONTENT_PAGE_PTR + 1) * PAGE_MAX
+
+  if(tmpPagePtr >= contentLength){
+
+    alert("goto: content: first page")
+
+    CONTENT_PAGE_PTR = 0
+
+  } else {
+
+    CONTENT_PAGE_PTR += 1
+  }
+
+  renderContentList()
+
+
+}
+
+function roomNext(){
+
+  let roomLength = ROOM_LIST.room_name.length
+
+  let tmpPagePtr = (ROOM_PAGE_PTR + 1) * PAGE_MAX
+
+  if(tmpPagePtr >= roomLength){
+
+    alert("goto: room: first page")
+
+    ROOM_PAGE_PTR = 0
+
+  } else {
+
+    ROOM_PAGE_PTR += 1
+
+  }
+
+  renderRoomList()
+
+}
+
+
 (async function() {
 
     await getContentList()
index 66230b83954710e431b016ed10d6dfae78a8b3a0..188c44b6c957aa4092b7b52ca7fe559f55fb7d42 100644 (file)
@@ -3,6 +3,8 @@
 <html class="tui-bg-blue-black">
   <head>
     <title> article</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <link rel="icon" type="image/x-icon" href="/public/image/favicon.ico">
   </head>
 
   <script src="https://cdn.jsdelivr.net/npm/@editorjs/header@latest"></script>
index 19a48eefec4b94d98a4366f78e00d3727a5cb793..15521934794a69f859c336b755f322321e83b51e 100644 (file)
@@ -3,6 +3,7 @@
 <html class="tui-bg-blue-black">
   <head>
     <title> feebdaed.xyz </title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <link rel="icon" type="image/x-icon" href="/public/image/favicon.ico">
     <link rel="stylesheet" href="/public/vendor/TuiCss/dist/tuicss.min.css"/>
     <script src="/public/vendor/TuiCss/dist/tuicss.min.js"></script>
@@ -44,7 +45,8 @@
               </div>
               <div class="tui-panel-content">
                   Welcome to feebdaed.xyz, where worthlessness becomes the norm. <br>
-                  [Menu] at the top, [README] at the bottom!
+                  To sign in, use [Menu] <br> 
+                  To find out more, check [README] at the bottom.
               </div>
             </div>
           </div>
                 <fieldset class="tui-fieldset tui-border-dotted">
                   <div id="content-reader"></div>
                 </fieldset>
+                <button class="tui-button orange-168 white-text" onclick="contentNext()">next</button>
               </fieldset>
             </div>
           </div>
+        </div>
+        <div class="row">          
           <div class="col s6 m6 l6">
             <div class="tui-window tui-scroll-white">
               <fieldset class="tui-fieldset tui-border-double">
@@ -67,6 +72,7 @@
                 <fieldset class="tui-fieldset tui-border-dotted">
                   <div id="room-reader"></div>
                 </fieldset>
+                <button class="tui-button orange-168 white-text" onclick="roomNext()">next</button>
               </fieldset>
             </div>
           </div>
index 0be451fd433542c69aa7cc5bdcf03b04f4755bc8..9360b99a074ab497d8722554eb9a6a6a36a4e5d1 100644 (file)
@@ -4,6 +4,7 @@
 
     <head>
         <title> feebdaed.xyz </title>
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
         <link rel="icon" type="image/x-icon" href="/public/image/favicon.ico">
         <link rel="stylesheet" href="/public/vendor/TuiCss/dist/tuicss.min.css"/>
         <script src="/public/vendor/TuiCss/dist/tuicss.min.js"></script>
index e0a420446bdfee3090a11c0565f695f129bd6811..631c25633f814770e0be46687bda7dad8662db76 100644 (file)
@@ -3,6 +3,7 @@
 <html class="tui-bg-blue-black">
     <head>
         <title> mypage/article </title>
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
         <link rel="icon" type="image/x-icon" href="/public/image/favicon.ico">
         <script src="https://cdn.jsdelivr.net/npm/@editorjs/header@latest"></script>
         <script src="https://cdn.jsdelivr.net/npm/@editorjs/simple-image@latest"></script>
index b5f3042557ddc14853f8b48bcf6ddd988b8acca9..970db3148cc29f4dac8fc3735c481fd13ef54662 100644 (file)
@@ -3,6 +3,7 @@
 <html class="tui-bg-blue-black">
   <head>
     <title> mypage </title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <link rel="icon" type="image/x-icon" href="/public/image/favicon.ico">
     <link rel="stylesheet" href="/public/vendor/TuiCss/dist/tuicss.min.css"/>
     <script src="/public/vendor/TuiCss/dist/tuicss.min.js"></script>
index d1f183dd0c79ed583f9e01004cf01ab10f85f3eb..89bc9ff63ebca5f0877b5114f7534900977fb963 100644 (file)
@@ -5,6 +5,7 @@
 
     <meta charset="utf-8">
     <title>mypage room</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <link rel="icon" type="image/x-icon" href="/public/image/favicon.ico">
     <!--<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>-->
     <!--<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>-->
index 2761db72134ae447212e7949cc5826178eaf9952..d7f9fff358f4b412dabfaefb9d6f0ffceb2b3f22 100644 (file)
@@ -5,6 +5,7 @@
 
     <meta charset="utf-8">
     <title> room </title>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <link rel="icon" type="image/x-icon" href="/public/image/favicon.ico">
     <link rel="stylesheet" href="/public/vendor/TuiCss/dist/tuicss.min.css"/>
     <script src="/public/vendor/TuiCss/dist/tuicss.min.js"></script>