summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/sd.js11
-rw-r--r--main.js4
-rw-r--r--pages/login/page.js2
-rw-r--r--pages/main/page.html4
-rw-r--r--pages/main/page.js2
-rw-r--r--styles.less7
6 files changed, 23 insertions, 7 deletions
diff --git a/lib/sd.js b/lib/sd.js
index e66b7b3..46daf22 100644
--- a/lib/sd.js
+++ b/lib/sd.js
@@ -26,7 +26,7 @@ export default class SoktDeer {
             if ('error' in data) return this.wsEvents.emit('error', data);
         }
         this.wsEvents.on('greet', greetp => {
-            this.messages = greetp.messages
+            this.messages = greetp.messages.reverse()
         })
         this.wsEvents.on('new_post', ({ data: post }) => {
             this.messages.push(post)
@@ -80,6 +80,15 @@ export default class SoktDeer {
             })
         })
     }
+    
+    post(post) {
+        if(!post.replies) post.replies = [];
+        if(!post.attachments) post.attachments = [];
+        this.ws.send(JSON.stringify({
+            command: "post",
+            ...post
+        }))
+    }
 
     ping() {
         this.ws.send(JSON.stringify({ command: "ping" }))
diff --git a/main.js b/main.js
index 40b8ffa..c300c41 100644
--- a/main.js
+++ b/main.js
@@ -28,4 +28,6 @@ function onclose() {
 }
 sd.ws.onclose = onclose
 sd.ws.onerror = onclose
-pages.goToPage('login')
\ No newline at end of file
+document.addEventListener('DOMContentLoaded', () => {
+    pages.goToPage('login')
+})
\ No newline at end of file
diff --git a/pages/login/page.js b/pages/login/page.js
index 573c382..61156c5 100644
--- a/pages/login/page.js
+++ b/pages/login/page.js
@@ -5,7 +5,7 @@ async function fetchJSON(url, opts) {
 
 export function onload() {
     if (localStorage.getItem('token')) {
-        window.stores.sdlib.ws.addEventListener('open', () => {
+        window.stores.sdlib.wsEvents.on('greet', () => {
             window.stores.sdlib.loginToken(localStorage.getItem('token'), localStorage.getItem('username'));
             pages.goToPage('main')
         })
diff --git a/pages/main/page.html b/pages/main/page.html
index bfa78c5..6069b1c 100644
--- a/pages/main/page.html
+++ b/pages/main/page.html
@@ -1,5 +1,7 @@
 <div class="channel">
-    <div class="messages" id="messages"></div>
+    <div class="messages-container">
+        <div class="messages" id="messages"></div>
+    </div>
     <div class="messageInput disabled" id="messageForm">
         <div id="repliesContainer"></div>
         <div class="messageInputForm">
diff --git a/pages/main/page.js b/pages/main/page.js
index ebdaab2..b6e5e24 100644
--- a/pages/main/page.js
+++ b/pages/main/page.js
@@ -155,7 +155,7 @@ export async function onload() {
 
     msgArea.style.display = 'none'
 
-    for (const msg of window.stores.sdlib.messages.reverse()) {
+    for (const msg of window.stores.sdlib.messages) {
         createMessage(msg)
     }
     msgArea.style.display = 'block'
diff --git a/styles.less b/styles.less
index d825208..61190ae 100644
--- a/styles.less
+++ b/styles.less
@@ -28,8 +28,11 @@ body {
 	overflow: auto;
 }
 
-.messages {
-	flex-grow: 1;
+.messages-container {
+	overflow: auto;
+	.messages {
+		flex-grow: 1;
+	}
 }
 
 .topbar.hidden {