mirror of
https://github.com/darkwire/darkwire.io.git
synced 2025-07-25 13:26:26 +00:00
Sending file test, currently working for images only
This commit is contained in:
parent
e75f48ef88
commit
c1b902a5bf
@ -216,7 +216,8 @@ export default class Darkwire {
|
|||||||
if (bool) {
|
if (bool) {
|
||||||
resolve({
|
resolve({
|
||||||
username: username,
|
username: username,
|
||||||
message: decryptedMessage
|
message: decryptedMessage,
|
||||||
|
messageType: data.messageType
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
export default class FileHandler {
|
export default class FileHandler {
|
||||||
constructor(darkwire, socket) {
|
constructor(darkwire, socket) {
|
||||||
if (window.File && window.FileReader && window.FileList && window.Blob && window.btoa) {
|
if (window.File && window.FileReader && window.FileList && window.Blob && window.btoa && window.atob) {
|
||||||
this._isSupported = true;
|
this._isSupported = true;
|
||||||
this.darkwire = darkwire;
|
this.darkwire = darkwire;
|
||||||
this.socket = socket;
|
this.socket = socket;
|
||||||
@ -47,6 +47,10 @@ export default class FileHandler {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
decodeFile(base64) {
|
||||||
|
return window.atob(base64);
|
||||||
|
}
|
||||||
|
|
||||||
listen() {
|
listen() {
|
||||||
// browser API
|
// browser API
|
||||||
document.getElementById('fileInput').addEventListener('change', jQuery.proxy(this.encodeFile, this), false);
|
document.getElementById('fileInput').addEventListener('change', jQuery.proxy(this.encodeFile, this), false);
|
||||||
|
@ -120,10 +120,19 @@ $(function() {
|
|||||||
let $usernameDiv = $('<span class="username"/>')
|
let $usernameDiv = $('<span class="username"/>')
|
||||||
.text(data.username)
|
.text(data.username)
|
||||||
.css('color', getUsernameColor(data.username));
|
.css('color', getUsernameColor(data.username));
|
||||||
let $messageBodyDiv = $('<span class="messageBody">')
|
let $messageBodyDiv = $('<span class="messageBody">');
|
||||||
.html(data.message);
|
|
||||||
|
if (options.file) {
|
||||||
|
let image = new Image();
|
||||||
|
image.src = `data:image/png;base64,${data.message}`;
|
||||||
|
$messageBodyDiv.html(image);
|
||||||
|
} else {
|
||||||
|
$messageBodyDiv.html(data.message);
|
||||||
|
}
|
||||||
|
|
||||||
let typingClass = data.typing ? 'typing' : '';
|
let typingClass = data.typing ? 'typing' : '';
|
||||||
|
|
||||||
|
|
||||||
let $messageDiv = $('<li class="message"/>')
|
let $messageDiv = $('<li class="message"/>')
|
||||||
.data('username', data.username)
|
.data('username', data.username)
|
||||||
.addClass(typingClass)
|
.addClass(typingClass)
|
||||||
@ -293,7 +302,16 @@ $(function() {
|
|||||||
windowHandler.notifyFavicon();
|
windowHandler.notifyFavicon();
|
||||||
darkwire.audio.play();
|
darkwire.audio.play();
|
||||||
}
|
}
|
||||||
addChatMessage(data);
|
if (data.messageType === 'file') {
|
||||||
|
// let file = windowHandler.fileHandler.decodeFile(data.message);
|
||||||
|
// let chatMessage = {
|
||||||
|
// username: data.username,
|
||||||
|
// message: file
|
||||||
|
// }
|
||||||
|
addChatMessage(data, {file: true})
|
||||||
|
} else {
|
||||||
|
addChatMessage(data);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user