From b7e16bb12fed4ee1ddbe400c167872742245b950 Mon Sep 17 00:00:00 2001 From: admtracksteel Date: Tue, 1 Sep 2026 10:23:58 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20Integra=C3=A7=C3=A3o=20perfeita=20do=20?= =?UTF-8?q?bot=C3=A3o=20Musicar=20do=20Est=C3=BAdio=20de=20Poesias=20com?= =?UTF-8?q?=20o=20Musicando=20Ideias=20(transporte=20completo=20de=20letra?= =?UTF-8?q?,=20t=C3=ADtulo,=20ritmo=20e=20par=C3=A2metros)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/app.js | 75 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 69 insertions(+), 6 deletions(-) diff --git a/public/app.js b/public/app.js index ebe7211..3cd6ddc 100644 --- a/public/app.js +++ b/public/app.js @@ -6754,17 +6754,80 @@ Se algum dado não for mencionado, deixe a string vazia ou false para boolean.` }); } - // Enviar Poema ao Musicando Ideias + // Enviar Poema ao Musicando Ideias (Transporte Completo do Material Criado) if (btnSendPoesiaToMusic) { - btnSendPoesiaToMusic.addEventListener('click', () => { + btnSendPoesiaToMusic.addEventListener('click', async () => { + const text = activePoesiaData.poesia || ''; + if (!text) { + showToast('Nenhuma poesia gerada para musicar.', 'warning'); + return; + } + poesiaModal.style.display = 'none'; - const barBtnMusica = document.getElementById('barBtnMusica'); const musicaModal = document.getElementById('musicaModal'); const musicaTemaInput = document.getElementById('musicaTemaInput'); - if (musicaModal && musicaTemaInput) { + const musicaFaixaEtaria = document.getElementById('musicaFaixaEtaria'); + const musicaTurmaSelect = document.getElementById('musicaTurmaSelect'); + const musicaRitmo = document.getElementById('musicaRitmo'); + const musicaIntensidade = document.getElementById('musicaIntensidade'); + const musicaDuracaoSelect = document.getElementById('musicaDuracaoSelect'); + const musicaTemplateSelect = document.getElementById('musicaTemplateSelect'); + const poesiaTurmaSelect = document.getElementById('poesiaTurmaSelect'); + + if (musicaModal) { musicaModal.style.display = 'flex'; - musicaTemaInput.value = `Musicar a poesia "${activePoesiaData.titulo}": ${activePoesiaData.poesia.substring(0, 200)}...`; - showToast('Poema transferido para o Estúdio de Música!', 'success'); + + // 1. Transferir a letra completa e título estruturado + if (musicaTemaInput) { + musicaTemaInput.value = `Musicar o poema "${activePoesiaData.titulo || 'Poesia Infantil'}" (${activePoesiaData.estrutura || 'Versos Ritmados'}):\n\n${text}`; + } + + // 2. Sincronizar Turma + if (typeof loadTurmasForMusica === 'function') { + await loadTurmasForMusica(); + } + if (musicaTurmaSelect && poesiaTurmaSelect && poesiaTurmaSelect.value) { + musicaTurmaSelect.value = poesiaTurmaSelect.value; + } + + // 3. Sincronizar Faixa Etária + if (musicaFaixaEtaria && activePoesiaData.faixaEtaria) { + Array.from(musicaFaixaEtaria.options).forEach(opt => { + if (opt.value === activePoesiaData.faixaEtaria || opt.text.includes(activePoesiaData.faixaEtaria) || activePoesiaData.faixaEtaria.includes(opt.value)) { + musicaFaixaEtaria.value = opt.value; + } + }); + } + + // 4. Adaptar Ritmo e Intensidade ao Estilo da Poesia + if (musicaRitmo) { + const est = (activePoesiaData.estrutura || '').toLowerCase(); + const faixa = (activePoesiaData.faixaEtaria || '').toLowerCase(); + if (faixa.includes('bebê') || faixa.includes('bebe')) { + musicaRitmo.value = 'Canção de Ninar'; + if (musicaIntensidade) musicaIntensidade.value = 'calma'; + } else if (est.includes('cordel') || est.includes('parlenda')) { + musicaRitmo.value = 'Forrózinho Lúdico'; + if (musicaIntensidade) musicaIntensidade.value = 'dancante'; + } else if (est.includes('haicai') || est.includes('sensorial')) { + musicaRitmo.value = 'Canção de Ninar'; + if (musicaIntensidade) musicaIntensidade.value = 'calma'; + } else { + musicaRitmo.value = 'Cantiga de Roda'; + if (musicaIntensidade) musicaIntensidade.value = 'moderada'; + } + } + + // 5. Configurar instrumentos acústicos / infantis padrão + const instrumentosPadrao = ['Violão acústico', 'Flauta doce', 'Pandeiro e percussão', 'Xilofone infantil']; + document.querySelectorAll('#musicaInstrumentsContainer input[type="checkbox"]').forEach(cb => { + cb.checked = instrumentosPadrao.includes(cb.value); + }); + + if (musicaDuracaoSelect) musicaDuracaoSelect.value = '1min'; + if (musicaTemplateSelect) musicaTemplateSelect.value = ''; + + showToast(`✨ Poema "${activePoesiaData.titulo}" transferido com sucesso para o Musicando Ideias!`, 'success'); } }); }