-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
91 lines (74 loc) · 2.17 KB
/
script.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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
const $ = e => document.querySelector(e)
registerServiceWorker()
const configButton = $('.config')
const configPanel = $('.config-panel')
const cover = $('.cover')
console.log(configButton, configPanel, cover)
cover.addEventListener('click', () => {
hideModal(configPanel, cover)
})
configButton.addEventListener('click', () => {
showModal(configPanel, cover)
})
const saveButton = $('#saveButton')
const phoneInput = $('#phone')
const messageInput = $('#message')
saveButton.addEventListener('click', () => {
saveData(messageInput, phoneInput)
hideModal(configPanel, cover)
})
async function registerServiceWorker() {
if (!'serviceWorker' in navigator) return;
if (await navigator.serviceWorker.getRegistration('/')) {
console.log('Already registered')
return
}
const registration = await navigator.serviceWorker.register('sw.js')
console.log("Registrado correctamente", registration.scope)
}
function showModal(modal, cover) {
modal.style = 'transform: scale(1)'
cover.style = 'display: block'
}
function hideModal(modal, cover) {
modal.style = ''
cover.style = ''
}
function parsePhone(phone) {
if (phone == null)
return ''
return phone.replace(/[^0-9]/g, '').replace(/$0+/g, '')
}
const storage = window.localStorage
function getMessage() {
return storage.getItem('message')
}
function getPhoneNumber() {
return storage.getItem('phone')
}
function setPhoneNumber(phone) {
storage.setItem('phone', phone)
}
function setMessage(message) {
storage.setItem('message', message)
}
function saveData(messageInput, phoneInput) {
const message = messageInput.value ?? getMessage()
const phone = phoneInput.value ?? getPhoneNumber()
setMessage(message)
setPhoneNumber(phone)
}
function loadData(messageInput, phoneInput) {
messageInput.value = getMessage()
phoneInput.value = getPhoneNumber()
}loadData(messageInput, phoneInput)
function sendMessage() {
const number = parsePhone(getPhoneNumber())
const url_encoded_text = encodeURI(getMessage())
if (number == '' || url_encoded_text == '') {
showModal(configPanel, cover)
return;
}
const url = `https://wa.me/${number}?text=${url_encoded_text}`
window.open(url, 'whatsapp');
}