generate chat widget

This commit is contained in:
Iuri Matias 2019-04-10 15:55:58 -04:00
parent c4890a89b4
commit 69c077dc03
3 changed files with 3547 additions and 14 deletions

3498
dist/js/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,9 @@
<html>
<head>
<script src="./dist/js/main.js"></script>
</head>
<body>
<script src="./dist/js/main.js"></script>
<div id="status-chat-widget"></div>
<script>StatusWidget("gitter-bridge");</script>
</body>
</html>

View File

@ -1,18 +1,51 @@
import StatusJS from 'status-js-api';
import Murmur from 'murmur-client';
let server = new Murmur({
protocols: ["libp2p"],
// signalServer: { host: '104.248.64.24', port: '9090', protocol: 'ws' },
signalServers: [
//"/dns4/cryptolife.status.im/tcp/443/wss/p2p-webrtc-star"
"/dns4/web-bridge.status.im/tcp/443/wss/p2p-webrtc-star"
],
bootnodes: []
});
server.start();
window.StatusWidget = function (channelName) {
var chatBox = document.createElement('div');
chatBox.id = "chat";
const status = new StatusJS();
status.connectToProvider(server.provider, null);
var chatInput = document.createElement('input');
chatInput.type = "input";
chatInput.id = "post";
console.dir("hello world!")
document.querySelectorAll("#status-chat-widget")[0].append(chatBox);
document.querySelectorAll("#status-chat-widget")[0].append(chatInput);
let server = new Murmur({
protocols: ["libp2p"],
signalServers: [
"/dns4/web-bridge.status.im/tcp/443/wss/p2p-webrtc-star"
],
bootnodes: []
});
server.start();
const status = new StatusJS();
status.connectToProvider(server.provider, null);
status.joinChat(channelName, () => {
status.onMessage(channelName, (err, data) => {
const msg = JSON.parse(data.payload)[1][0];
const message = { username: data.username, message: msg, pubkey: data.data.sig, data };
let div = document.createElement('div');
div.innerHTML = message.username + "> " + message.message;
document.querySelectorAll("#chat")[0].append(div)
})
var input = document.getElementById("post")
input.addEventListener("keyup", function(event) {
if (event.keyCode !== 13) {
return
}
event.preventDefault();
var value = document.getElementById("post").value;
status.sendMessage(channelName, value);
document.getElementById("post").value = "";
});
})
}