PageSourceSearch

https://staporkow.pl/scripts/chat.js

js staporkow.pl collected 2026-10-02 21:39:55 UTC 3,174 bytes, 93 lines download raw bytes

1function chatInit(selector) {
2    document.addEventListener('DOMContentLoaded', () => {
3        if (!window.CHAT_ACTIVE) {
4            let chat = document.querySelector(selector);
5            let toggles = chat.querySelectorAll('.toggle')
6            let close = chat.querySelector('.chat-close')
7
8            // execute if chat is loaded
9            window.setTimeout(() => {
10                console.log("getting previous messages");
11
12                console.log("chat is active");
13                //chat.classList.add('is-active')
14            }, 1000)
15
16            toggles.forEach(toggle => {
17                toggle.addEventListener('click', () => {
18                    if (!chat.classList.contains('is-active')) {
19                        chat.classList.add('is-active')
20                        chat.style.width = "360px";
21                        chat.style.height = "600px";
22                    } else {            
23                        sendMessage();
24                    }
25                })
26            })
27
28            close.addEventListener('click', () => {
29                chat.classList.remove('is-active');
30                chat.style.width = "0";
31                chat.style.height = "0";
32            })
33
34            document.onkeydown = function (evt) {
35                if (!chat.classList.contains('is-active'))
36                    return;
37
38                evt = evt || window.event;
39                var isEscape = false;
40                var isEnter = false;
41                if ("key" in evt) {
42                    isEscape = (evt.key === "Escape" || evt.key === "Esc");
43                    isEnter = (evt.key === "Enter");
44                } else {
45                    isEscape = (evt.keyCode === 27);
46                    isEnter = (evt.keyCode === 13);
47                }
48                if (isEscape) {
49                    chat.classList.remove('is-active');
50                    chat.style.width = "0";
51                    chat.style.height = "0";
52                }
53                if (isEnter) {
54                    sendMessage();
55                }
56            };
57
58            window.CHAT_ACTIVE = true     
59        }
60    })
61}
62
63function sendMessage() {
64    if (window.CHAT_ACTIVE) {
65        let chatInput = document.querySelector('#chatInput');
66        let message = chatInput.value;
67        if (message !== '' && message !== undefined) {
68            $('#chatMessages').append('<div class="message"><p class="text">' + message + '</p></div>')
69            chatInput.value = "";
70
71            console.log("sending ...");
72        }  
73    } else {
74        console.log("Chat wasn't initialized yet.");
75    }
76}
77
78function receiveMessage(message) {
79    if (window.CHAT_ACTIVE) {
80        $('#chatMessages').append('<div class="message reply"><p class="text">' + message + '</p></div>')
81        console.log("receiving ...");
82    } else {
83        console.log("Chat wasn't initialized yet.");
84    }
85}
86
87function getMessages() {
88    if (window.CHAT_ACTIVE) {
89        console.log("loading messages ...");
90    } else {
91        console.log("Chat wasn't initialized yet.");
92    }
93}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.