summaryrefslogtreecommitdiff
path: root/assets/js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/js')
-rw-r--r--assets/js/app.js6
-rw-r--r--assets/js/chat.js46
2 files changed, 51 insertions, 1 deletions
diff --git a/assets/js/app.js b/assets/js/app.js
index a884e88..94780d0 100644
--- a/assets/js/app.js
+++ b/assets/js/app.js
@@ -44,4 +44,8 @@ liveSocket.connect()
window.liveSocket = liveSocket
// Hack to remove alerts on click
-Array.from(window.document.getElementsByClassName('alert')).forEach((x) => x.addEventListener('click', () => x.style.display = "none")) \ No newline at end of file
+Array.from(window.document.getElementsByClassName('alert')).forEach((x) => x.addEventListener('click', () => x.style.display = "none"))
+
+import RoomChat from "./chat"
+window.RoomChat = RoomChat;
+window.userSocket = new Socket("/socket", {params: {_csrf_token: csrfToken}}) \ No newline at end of file
diff --git a/assets/js/chat.js b/assets/js/chat.js
new file mode 100644
index 0000000..aa32aba
--- /dev/null
+++ b/assets/js/chat.js
@@ -0,0 +1,46 @@
+let RoomChat = {
+ init(socket, postId) {
+ console.log(postId);
+ console.log(socket);
+ let channel = socket.channel(`post:${postId}`)
+ channel.join()
+ .receive("ok", resp => { console.log("Joined successfully", resp) })
+ .receive("error", resp => { console.log("Unable to join", resp) })
+ this.listenForChats(channel)
+ },
+ addMessage(user, message) {
+// let body = `<span class="username"><b>${user}</b></span>: ${message}<br>`
+// if (message.match(new RegExp(`@${window.userName}`, "ig"))) {
+// $("#chat-box").append('<p class="chat-entry"><span class="mentioned">' + body + '</span></p>')
+// } else {
+// $("#chat-box").append('<p class="chat-entry">' + body + '</p>')
+// }
+ },
+ scrollBottom() {
+// $("#chat-box").animate({ scrollTop: $('#chat-box').prop("scrollHeight")}, 200)
+ },
+ listenForChats(channel) {
+ channel.push('send', { body: "HELLO"});
+// $(() => {
+// $("#chat-form").on("submit", function(ev) {
+// ev.preventDefault()
+//
+// let userMsg = $('#user-msg').val()
+// channel.push('send', {body: userMsg})
+//
+// $("#user-msg").val("")
+// })
+
+// channel.on('shout', function(payload) {
+// console.log(payload)
+// RoomChat.addMessage(payload.name, payload.body)
+// RoomChat.scrollBottom()
+// })
+ // })
+ channel.on('shout', function(payload) {
+ console.log(payload)
+ });
+ }
+}
+
+export default RoomChat; \ No newline at end of file