discord-sandboxed/renderer.js

79 lines
2.9 KiB
JavaScript
Raw Normal View History

2019-10-15 06:21:54 +00:00
const { remote, ipcRenderer } = require('electron')
2019-10-14 19:23:56 +00:00
onload = () => {
const webview = document.querySelector('webview')
2019-10-15 00:35:25 +00:00
ipcRenderer.send('asynchronous-message', 'DOMready')
2019-10-16 20:52:33 +00:00
// Execute JS into the webview to detect when logging in is complete
webview.addEventListener('did-finish-load', function() {
webview.executeJavaScript(`
let dlButton = document.getElementsByClassName("listItem-2P_4kh");
t = setInterval(function(){
if(dlButton.length != 0) {
console.log("discord-load-complete")
clearInterval(t)
}else {
console.log("waiting for load")
}
}, 1500);
`)
});
2019-10-15 00:35:25 +00:00
2019-10-14 19:23:56 +00:00
webview.addEventListener('console-message', (e) => {
2019-10-14 19:59:30 +00:00
if (e.message === "Constructed RTCPeerConnection") {
console.log("Connected to server")
ipcRenderer.send('asynchronous-message', 'connected')
}
2019-10-14 19:23:56 +00:00
if (e.message === "Close RTCPeerConnection") {
console.log("Disconnected from server")
2019-10-14 19:59:30 +00:00
ipcRenderer.send('asynchronous-message', 'disconnected')
2019-10-14 19:23:56 +00:00
}
2019-10-16 20:52:33 +00:00
// Execute JS into the webview after login to remove the download button at the bottom of the server list.
if (e.message === "discord-load-complete") {
webview.executeJavaScript(`
let a = document.getElementsByClassName("listItem-2P_4kh");
a[a.length-1].innerHTML = "";
`)
}
2019-10-14 19:23:56 +00:00
})
2019-10-15 00:35:25 +00:00
ipcRenderer.on('ping', (event, msg) => {
if (msg === 'mic-open'){
2019-10-14 21:14:02 +00:00
console.log("talking")
2019-10-14 21:07:19 +00:00
webview.sendInputEvent({keyCode: 'Backspace', type: 'keyDown'});
webview.sendInputEvent({keyCode: 'Backspace', type: 'char'});
2019-10-15 06:21:54 +00:00
document.getElementById("title-bar-status").style.backgroundColor = "green"
document.getElementById("title-bar-controls").style.backgroundColor = "green"
document.getElementById("title-bar").style.backgroundColor = "green"
2019-10-14 21:07:19 +00:00
}
2019-10-15 00:35:25 +00:00
if (msg === 'mic-closed'){
2019-10-14 21:14:02 +00:00
console.log("not talking")
2019-10-14 21:07:19 +00:00
webview.sendInputEvent({keyCode: 'Backspace', type: 'keyUp'});
webview.sendInputEvent({keyCode: 'Backspace', type: 'char'});
2019-10-15 06:21:54 +00:00
document.getElementById("title-bar-status").style.backgroundColor = "#23272A"
document.getElementById("title-bar-controls").style.backgroundColor = "#23272A"
document.getElementById("title-bar").style.backgroundColor = "#23272A"
2019-10-14 21:07:19 +00:00
}
})
2019-10-15 00:35:25 +00:00
ipcRenderer.on('devMode', (event, msg) => {
console.log(`Dev Mode: ${msg}`)
if (msg === true) {
webview.openDevTools()
}
})
2019-10-15 06:21:54 +00:00
}
document.getElementById('minimize-button').addEventListener('click', () => {
remote.getCurrentWindow().minimize()
})
document.getElementById('close-button').addEventListener('click', () => {
remote.app.quit()
})