-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
69 lines (58 loc) · 2.24 KB
/
main.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
/* mudando cor de fundo */
const div = document.querySelector('[data-color-place]')
let color = document.querySelector('[data-form-input-color]')
color.addEventListener('input', () => {
div.style.backgroundColor = color.value
})
/* colocando highlight */
const linguagemCodigo = document.querySelector(
'[data-form-input-select-linguagem]'
)
const areaDoCodigo = document.querySelector('.wrapper')
const btnHighlight = document.querySelector('[data-button-highlight]')
const aplicaHighlight = e => {
e.preventDefault()
const codigo = areaDoCodigo.innerText
areaDoCodigo.innerHTML = `<code class='codigo-editor hljs ${linguagemCodigo.value}' contenteditable='true' aria-label='Editor de Código'></code>`
areaDoCodigo.querySelector('code').textContent = codigo
hljs.highlightElement(areaDoCodigo.querySelector('code'))
}
btnHighlight.addEventListener('click', aplicaHighlight)
/* pegando e salvando dados */
const btnSave = document.querySelector('[data-button-save]')
const nomeProjeto = document.querySelector('[data-form-input-nome-projeto]')
const descricaoProjeto = document.querySelector(
'[data-form-input-descricao-projeto]'
)
const codigoH = document.querySelector('code')
btnSave.addEventListener('click', e => {
e.preventDefault()
// verifica se há algo no local storage se não há volta um array vazio
const cardsInfo = JSON.parse(localStorage.getItem('dados')) || []
if (nomeProjeto.value === '') {
alert('O projeto precisa de um nome!')
} else if (descricaoProjeto.value === '') {
alert('O projeto precisa de uma descrição!')
} else {
// puxa as informações no array
cardsInfo.push({
nome: nomeProjeto.value,
descricao: descricaoProjeto.value,
cor: color.value,
codigo: codigoH.innerHTML
})
// manda o array pro local storage
localStorage.setItem('dados', JSON.stringify(cardsInfo))
alert('Sucesso!')
nomeProjeto.value = ''
descricaoProjeto.value = ''
codigoH.innerHTML = ''
}
})
/* Salvando código em PNG */
const btnSalvarComoImagem = document.querySelector('.btn-salvar-como-imagem')
btnSalvarComoImagem.addEventListener('click', () => {
domtoimage.toBlob(document.getElementById('edicao')).then(function (blob) {
window.saveAs(blob, 'my-image.png')
})
})