feat: Integração perfeita do botão Musicar do Estúdio de Poesias com o Musicando Ideias (transporte completo de letra, título, ritmo e parâmetros)

This commit is contained in:
2026-09-01 10:23:58 +00:00
parent 78ea105ac5
commit b7e16bb12f
+69 -6
View File
@@ -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');
}
});
}