From a857e6861707e1008da61d06fc4c3d3594ef6988 Mon Sep 17 00:00:00 2001 From: Akif9748 Date: Wed, 24 Aug 2022 23:10:29 +0300 Subject: [PATCH] pages... --- README.md | 2 +- public/js/thread.js | 34 ++++++++++++++++++++++------------ views/thread.ejs | 9 +++++++-- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index ae4db8e..6de344a 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ And, you can learn about API in `util/APIDOCS.md`. | auto-scroll | 🟢 | LOW | | Multi-theme support | 🔴 | LOW | | Search | 🔴 | MEDIUM | -| Better view, page support | 🔴 | MEDIUM | +| Better view, page support, support message limit correct | 🔴 | MEDIUM | | Sending message etc. will use fetch API | 🟢 | HIGH | ## Screenshot diff --git a/public/js/thread.js b/public/js/thread.js index 0127468..20ae0ac 100644 --- a/public/js/thread.js +++ b/public/js/thread.js @@ -1,7 +1,7 @@ import request from "./request.js"; const messages = document.getElementById("messages"); - +let messages_raw = []; function renderMessage(message) { const messageElement = document.createElement("div"); messageElement.classList.add("message"); @@ -16,7 +16,7 @@ function renderMessage(message) { ${message.author.name}: -

${message.content.replaceAll("\n","
")}


+

${message.content.replaceAll("\n", "
")}


${!message.deleted ? `
@@ -40,18 +40,17 @@ function renderMessage(message) { */ (async () => { - const result = await fetch(`/api/threads/${messages.getAttribute("value")}/messages/`).then(res => res.json()); - - if (result?.error) { + messages_raw = await fetch(`/api/threads/${messages.getAttribute("value")}/messages/`).then(res => res.json()); + if (messages_raw?.error) { document.getElementById("messages").innerHTML += '

THIS THREAD HAS NOT GOT ANY MESSAGE

'; - } else - for (const message of result) + } else + for (const message of messages_raw) renderMessage(message); - + window.scrollTo(0, document.body.scrollHeight); })(); @@ -80,7 +79,8 @@ document.getElementById("send").addEventListener("submit", async e => { * Button Listener */ document.addEventListener("click", async e => { - // e.preventDefault(); + let page = 1; + // e.preventDefault(); if (e.target.id === "delete_thread") { const response = await request("/api/threads/" + e.target.value + "/delete"); if (response.deleted) { @@ -93,12 +93,22 @@ document.addEventListener("click", async e => { const response = await request(`/api/messages/${e.target.value}/delete`); if (response.deleted) { alert("Message deleted"); - document.getElementById("message-delete-" + e.target.value).innerHTML="

This message has been deleted

"; + document.getElementById("message-delete-" + e.target.value).innerHTML = "

This message has been deleted

"; } - } /*else if (e.target.id === "edit_thread") { + } else if (e.target.id === "left_page") { + e.preventDefault(); + + }else if (e.target.id === "right_page") { + e.preventDefault(); + const response = await request(`/api/messages/${e.target.value}/delete`); + if (response.deleted) { + alert("Message deleted"); + document.getElementById("message-delete-" + e.target.value).innerHTML = "

This message has been deleted

"; + } + }/*else if (e.target.id === "edit_thread") { window.location.href = "/threads/<%= thread.id }/edit"; } */ - + if (!e.target.id.includes("like")) return; const res = await request("/api/messages/" + e.target.value + "/react/" + e.target.id) diff --git a/views/thread.ejs b/views/thread.ejs index 163f8e6..6992fe0 100644 --- a/views/thread.ejs +++ b/views/thread.ejs @@ -55,9 +55,14 @@ - + + <%- include("extra/footer") %>