From db7c2321cd0af59f9e810e84c7d4eb83ec416458 Mon Sep 17 00:00:00 2001 From: Logan Hunt Date: Thu, 14 Apr 2022 13:56:10 -0600 Subject: Add initial channels for posts --- assets/js/app.js | 6 +++++- assets/js/chat.js | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 assets/js/chat.js (limited to 'assets/js') 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 = `${user}: ${message}
` +// if (message.match(new RegExp(`@${window.userName}`, "ig"))) { +// $("#chat-box").append('

' + body + '

') +// } else { +// $("#chat-box").append('

' + body + '

') +// } + }, + 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 -- cgit v1.2.3-70-g09d2