summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--server.js13
-rw-r--r--views/chat.pug93
-rw-r--r--views/profile.pug2
3 files changed, 0 insertions, 108 deletions
diff --git a/server.js b/server.js
index 48fa9ce..ef62317 100644
--- a/server.js
+++ b/server.js
@@ -657,16 +657,6 @@ app.get('/users', function (req, res) {
res.render('user_list.pug', { user: req.user, user_list: rows })
})
-app.get('/chat', must_be_logged_in, function (req, res) {
- let chat = SQL_SELECT_USER_CHAT_N.all(req.user.user_id, 12*20)
- res.render('chat.pug', { user: req.user, chat: chat, page_size: 12 })
-})
-
-app.get('/chat/all', must_be_logged_in, function (req, res) {
- let chat = SQL_SELECT_USER_CHAT.all(req.user.user_id)
- res.render('chat.pug', { user: req.user, chat: chat, page_size: 0 })
-})
-
/*
* CONTACTS
*/
@@ -1099,9 +1089,6 @@ load_rules()
const SQL_INSERT_GAME = SQL("INSERT INTO games (owner_id,title_id,scenario,options,is_private,is_random,description) VALUES (?,?,?,?,?,?,?)")
const SQL_DELETE_GAME = SQL("DELETE FROM games WHERE game_id=? AND owner_id=?")
-const SQL_SELECT_USER_CHAT = SQL("SELECT game_id,unixepoch(time),name,message FROM game_chat_view WHERE game_id IN ( SELECT DISTINCT game_id FROM players WHERE user_id=? ) ORDER BY chat_id DESC").raw()
-const SQL_SELECT_USER_CHAT_N = SQL("SELECT game_id,unixepoch(time),name,message FROM game_chat_view WHERE game_id IN ( SELECT DISTINCT game_id FROM players WHERE user_id=? ) ORDER BY chat_id DESC LIMIT ?").raw()
-
const SQL_SELECT_UNREAD_CHAT_GAMES = SQL("select game_id from unread_chats where user_id = ?").pluck()
const SQL_INSERT_UNREAD_CHAT = SQL("insert or ignore into unread_chats (user_id,game_id) values (?,?)")
const SQL_DELETE_UNREAD_CHAT = SQL("delete from unread_chats where user_id = ? and game_id = ?")
diff --git a/views/chat.pug b/views/chat.pug
deleted file mode 100644
index 55a8eb1..0000000
--- a/views/chat.pug
+++ /dev/null
@@ -1,93 +0,0 @@
-//- vim:ts=4:sw=4:
-doctype html
-html
- head
- include head
- title Chat Log
- style.
- table { width: min(60rem,100%); }
- td:nth-child(1), td:nth-child(2) { white-space: nowrap; width: 0; }
- td:nth-child(3) { white-space: nowrap; width: 8rem; }
- #foot { display: inline-block; padding-top: 8px; }
- table { border: 1px solid black; }
- td { border: none; }
- td a { text-decoration: none; color: black; }
- tbody tr { background-color: white !important; }
- tbody tr.me { background-color: aliceblue !important; }
- body
- include header
- article
- h1 Chat Log
- if page_size > 0
- p
- button(onclick="oldest()") Oldest
- button(onclick="back()") ←
- button(onclick="next()") →
- button(onclick="newest()") Newest
- span#foot
- p
- table
- thead
- tr
- th Game
- th Time
- th Who
- th Message
- tbody
- if page_size > 0
- p: a(href="/chat/all") All messages
-
- script.
- let chat_data = !{ JSON.stringify(chat).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;") }
- let page_size = !{ page_size }
- let me = !{ JSON.stringify(user.name) }
- let table = document.querySelector("tbody")
- let foot = document.querySelector("#foot")
- let chat_lines = []
- function add(tr,text,link) {
- let td = document.createElement("td")
- if (link) {
- let a = document.createElement("a")
- a.href = link
- a.textContent = text
- td.appendChild(a)
- } else {
- td.textContent = text
- }
- tr.appendChild(td)
- }
- function format_date(date) {
- let t = date.toISOString()
- return t.substring(0,10) + " " + t.substring(11,19)
- }
- for (let [game_id,time,user,message] of chat_data) {
- let tr = document.createElement("tr")
- if (user === me) tr.className = "me"
- add(tr,game_id,"/join/"+game_id)
- add(tr,format_date(new Date(time*1000)))
- add(tr,user,"/user/"+user)
- add(tr,message)
- chat_lines.push(tr)
- }
- function next() { if (page > 0) --page; update(); }
- function back() { if (page < page_count-1) ++page; update(); }
- function newest() { page=0; update(); }
- function oldest() { page=page_count-1; update(); }
- let chat_size = chat_lines.length
- let page_count = Math.ceil(chat_size / page_size)
- let page = 0
- function update() {
- table.innerHTML = ""
- for (let i = 0; i < page_size; ++i) {
- let k = page * page_size + ( page_size - i - 1)
- if (k >= 0 && k < chat_size)
- table.appendChild(chat_lines[k])
- foot.textContent = `${page_count-page} / ${page_count}`
- }
- }
- if (page_size > 0) {
- newest()
- } else {
- for (let i = chat_size-1; i >= 0; --i)
- table.appendChild(chat_lines[i])
- }
diff --git a/views/profile.pug b/views/profile.pug
index 99c8f16..63d3018 100644
--- a/views/profile.pug
+++ b/views/profile.pug
@@ -39,8 +39,6 @@ html
dt <a href="/webhook">Configure webhook</a>
dd= new URL(user.webhook.url).hostname
- p <a href="/chat">Chat log</a>
-
p
form(action="/logout" method="post")
button(type="submit") Logout