-
Notifications
You must be signed in to change notification settings - Fork 1
/
content.js
52 lines (35 loc) · 1.29 KB
/
content.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
(() => {
// libs/modules
const { translate } = service;
// data of popup
let state = {
trans: null
};
// funcs
const id = id => document.getElementById(id);
document.body.insertAdjacentHTML('afterbegin', `<div id='rw-tooltip' data-info='remember words popup' class="rw-tooltip rw-hide"></div>`);
const elem = id('rw-tooltip');
document.addEventListener('mousedown', () => {
getSelection().empty();
if(!elem.classList.contains('rw-hide'))
elem.classList.add('rw-hide');
})
document.body.addEventListener('mouseup', (event) => {
chrome.storage.sync.get(['key'], function(result) {
console.log('Value currently is content ' + result.key);
});
if(!elem.classList.contains('rw-hide'))
elem.classList.add('rw-hide');
elem.style.top = `${event.pageY + 10}px`;
elem.style.left = `${event.pageX - 125}px`;
const userText = window.getSelection().toString();
if(userText.length < 1)
return false;
translate('uk', userText).then(resp => {
elem.classList.remove('rw-hide');
state.trans = resp;
const text = resp.sentences[0].trans;
elem.textContent = text;
})
});
})();