Pular para o conteúdo

Calculadora para festa infantil

(atualizado em )

Calculadora para festa infantil /* Estilos CSS permanecem os mesmos da versão anterior */ body{font-family:‘Segoe UI’,Tahoma,Geneva,Verdana,sans-serif;margin:0;padding:15px;background-color:#f4f7f6;color:#333;font-size:14px} .container{max-width:750px;margin:15px auto;background-color:white;padding:20px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.08)} h1{text-align:center;color:#e84393;font-size:24px;margin-bottom:25px} h2{font-size:20px;color:#e84393;margin-top:30px;margin-bottom:15px;padding-bottom:8px;border-bottom:2px solid #f0f0f0} h3{font-size:17px;color:#333;margin-top:20px;margin-bottom:15px} h2 + h3{margin-top:0} .input-section{margin-bottom:15px;padding-bottom:10px;} .input-section:last-of-type{border-bottom:none} .input-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:12px 15px} .guest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px} .input-item{margin-bottom:0} label{font-weight:600;display:block;margin-bottom:5px;font-size:13px;color:#555} input[type=“number”],input[type=“text”],select{width:100%;padding:8px;border-radius:4px;border:1px solid #ccc;font-size:14px;box-sizing:border-box;background-color:#fff} input:focus,select:focus{border-color:#e84393;outline:none;box-shadow:0 0 0 2px rgba(232,67,147,.15)} button{background-color:#e84393;color:white;padding:10px 15px;border:none;border-radius:5px;font-weight:700;font-size:15px;width:100%;cursor:pointer;transition:background-color .3s ease,transform .1s ease;margin-top:15px} button:hover{background-color:#d83682} button:active{transform:scale(.98)} .results{margin-top:30px;background-color:#f0fff8;padding:20px;border-radius:8px;border:1px solid #c3e6cb;display:none} .results h3{margin-top:0;color:#155724;text-align:center;margin-bottom:20px;font-size:18px} .result-item{font-size:14px;margin-bottom:8px;color:#333;padding:5px 0;border-bottom:1px dashed #eee} .result-item:last-child{border-bottom:none} .error-message{color:red;font-size:13px;text-align:center;margin:15px 0;display:none;font-weight:bold;} #customItemsList{margin-top:15px;padding-top:10px;border-top:1px dashed #ddd} #customItemsList h4{margin-top:0;margin-bottom:10px;font-size:14px;color:#e84393} .custom-item-display{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:13px;margin-bottom:5px} .custom-item-display span{flex-grow:1;margin-right:10px} .remove-btn{background-color:#ff7675;color:white;border:none;padding:3px 8px;border-radius:4px;font-size:12px;cursor:pointer;width:auto;margin-top:0;font-weight:400;transition:background-color .2s} .remove-btn:hover{background-color:#d63031} .custom-item-form-grid{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:end;margin-bottom:10px} .custom-item-form-grid input[type=number]{max-width:80px} .custom-item-form-grid input[type=text]#customItemUnit{max-width:100px} .add-item-btn{padding:8px 12px;width:100%;margin-top:0;grid-column:1 / -1;background-color:#0984e3;font-size:14px} .add-item-btn:hover{background-color:#005cb3} @media (max-width:600px){.input-grid,.guest-grid{grid-template-columns:1fr;gap:10px 0}.container{padding:15px;margin:10px}body{padding:10px}.custom-item-form-grid{grid-template-columns:1fr}.custom-item-form-grid input{max-width:none}.add-item-btn{grid-column:auto} h1{font-size: 20px} h2{font-size: 18px} h3{font-size: 16px}}

Calculadora para festa infantil

Número de convidados

Adultos:

Crianças:

Quantidades Sugeridas por Pessoa

Salgados

Salgadinhos:

Canapés/Barquetes:

Cachorro-quente/Mini Sanduíches:

Crepe Salgado:

Pão de Queijo:

Mini Pizza:

Pipoca (L):

Doces

Docinhos Tradicionais:

Docinhos Finos:

Crepe Doce/Churros:

Macarons:

Mini Tortinhas:

Bolo

Kg de Bolo por 10 pessoas:

Bebidas

Refrigerante (L):

Suco (L):

Água (L):

Cerveja (L) (se aplicável):

Itens Personalizados

Adicionar Novo Item

Nome do Item:

Qtd/Pessoa:

Unidade:

Adicionar Item à Lista

Calcular Quantidades Totais

Resumo das Quantidades Totais Estimadas

// JavaScript permanece o mesmo da versão anterior const resultsDiv = document.getElementById(‘results’); const errorMessageDiv = document.getElementById(‘error-message’); const customItemsListDiv = document.getElementById(‘customItemsList’); let customItems = []; function addCustomItem() { const nameInput = document.getElementById(‘customItemName’); const qtyInput = document.getElementById(‘customItemQty’); const unitInput = document.getElementById(‘customItemUnit’); const errorDiv = errorMessageDiv; const name = nameInput.value.trim(); const qty = parseFloat(qtyInput.value); const unit = unitInput.value.trim() || ‘un.’; errorDiv.style.display = ‘none’; if (!name) { errorDiv.innerText = ‘Por favor, insira o nome do item personalizado.’; errorDiv.style.display = ‘block’; nameInput.focus(); return; } if (isNaN(qty) || qty <= 0) { errorDiv.innerText = ‘Por favor, insira uma quantidade válida por pessoa para o item personalizado.’; errorDiv.style.display = ‘block’; qtyInput.focus(); return; } const newItem = { id: Date.now(), name: name, qtyPerPerson: qty, unit: unit }; customItems.push(newItem); nameInput.value = ”; qtyInput.value = ”; unitInput.value = ”; nameInput.focus(); displayCustomItems(); } function removeCustomItem(itemId) { customItems = customItems.filter(item => item.id !== itemId); displayCustomItems(); if (customItems.length === 0) { const h4 = customItemsListDiv.querySelector(‘h4’); if (h4) h4.remove(); } } function displayCustomItems() { customItemsListDiv.innerHTML = ”; if (customItems.length > 0) { const title = document.createElement(‘h4’); title.innerText = ‘Itens Personalizados Adicionados:’; customItemsListDiv.appendChild(title); customItems.forEach(item => { const itemDiv = document.createElement(‘div’); itemDiv.className = ‘custom-item-display’; const textSpan = document.createElement(‘span’); textSpan.textContent = `${item.name} (${item.qtyPerPerson} ${item.unit}/pessoa)`; const removeButton = document.createElement(‘button’); removeButton.className = ‘remove-btn’; removeButton.textContent = ‘Remover’; removeButton.onclick = () => removeCustomItem(item.id); itemDiv.appendChild(textSpan); itemDiv.appendChild(removeButton); customItemsListDiv.appendChild(itemDiv); }); } } function calcular() { resultsDiv.style.display = ‘none’; errorMessageDiv.style.display = ‘none’; const previousCustomResults = resultsDiv.querySelectorAll(‘.custom-result’); previousCustomResults.forEach(el => el.remove()); const adultos = parseInt(document.getElementById(‘adultos’).value) || 0; const criancas = parseInt(document.getElementById(‘criancas’).value) || 0; const totalConvidados = adultos + criancas; if (totalConvidados <= 0) { errorMessageDiv.innerText = ‘Por favor, insira um número válido de adultos ou crianças.’; errorMessageDiv.style.display = ‘block’; errorMessageDiv.scrollIntoView({ behavior: ‘smooth’, block: ‘center’ }); return; } const salgadinhosPorPessoa = parseFloat(document.getElementById(‘salgadinhos’).value) || 0; const canapesPorPessoa = parseFloat(document.getElementById(‘canapes’).value) || 0; const cachorroQuentePorPessoa = parseFloat(document.getElementById(‘cachorroQuente’).value) || 0; const crepeSalgadoPorPessoa = parseFloat(document.getElementById(‘crepeSalgado’).value) || 0; const paoQueijoPorPessoa = parseFloat(document.getElementById(‘paoQueijo’).value) || 0; const miniPizzaPorPessoa = parseFloat(document.getElementById(‘miniPizza’).value) || 0; const pipocaPorPessoa = parseFloat(document.getElementById(‘pipoca’).value) || 0; const docinhosTradicionaisPorPessoa = parseFloat(document.getElementById(‘docinhosTradicionais’).value) || 0; const docinhosFinosPorPessoa = parseFloat(document.getElementById(‘docinhosFinos’).value) || 0; const crepeDocePorPessoa = parseFloat(document.getElementById(‘crepeDoce’).value) || 0; const macaronsPorPessoa = parseFloat(document.getElementById(‘macarons’).value) || 0; const miniTortaPorPessoa = parseFloat(document.getElementById(‘miniTorta’).value) || 0; const boloKgPor10Pessoas = parseFloat(document.getElementById(‘bolo’).value) || 0; const refrigerantePorPessoa = parseFloat(document.getElementById(‘refrigerante’).value) || 0; const sucoPorPessoa = parseFloat(document.getElementById(‘suco’).value) || 0; const aguaPorPessoa = parseFloat(document.getElementById(‘agua’).value) || 0; const cervejaPorPessoa = parseFloat(document.getElementById(‘cerveja’).value) || 0; const salgadinhosTotal = Math.ceil(salgadinhosPorPessoa * totalConvidados); const canapesTotal = Math.ceil(canapesPorPessoa * totalConvidados); const cachorroQuenteTotal = Math.ceil(cachorroQuentePorPessoa * totalConvidados); const crepeSalgadoTotal = Math.ceil(crepeSalgadoPorPessoa * totalConvidados); const paoQueijoTotal = Math.ceil(paoQueijoPorPessoa * totalConvidados); const miniPizzaTotal = Math.ceil(miniPizzaPorPessoa * totalConvidados); const pipocaTotal = (pipocaPorPessoa * totalConvidados); const docinhosTradicionaisTotal = Math.ceil(docinhosTradicionaisPorPessoa * totalConvidados); const docinhosFinosTotal = Math.ceil(docinhosFinosPorPessoa * totalConvidados); const crepeDoceTotal = Math.ceil(crepeDocePorPessoa * totalConvidados); const macaronsTotal = Math.ceil(macaronsPorPessoa * totalConvidados); const miniTortaTotal = Math.ceil(miniTortaPorPessoa * totalConvidados); const boloTotal = (boloKgPor10Pessoas * (totalConvidados / 10)); const refrigeranteTotal = (refrigerantePorPessoa * totalConvidados); const sucoTotal = (sucoPorPessoa * totalConvidados); const aguaTotal = (aguaPorPessoa * totalConvidados); const cervejaTotal = (cervejaPorPessoa * totalConvidados); document.getElementById(‘result-salgadinhos’).innerText = `Total de Salgadinhos: ${salgadinhosTotal} un.`; document.getElementById(‘result-canapes’).innerText = `Total de Canapés/Barquetes: ${canapesTotal} un.`; document.getElementById(‘result-cachorroQuente’).innerText = `Total de Cachorro-quente/Mini Sanduíches: ${cachorroQuenteTotal} un.`; document.getElementById(‘result-crepeSalgado’).innerText = `Total de Crepe Salgado: ${crepeSalgadoTotal} un.`; document.getElementById(‘result-paoQueijo’).innerText = `Total de Pão de Queijo: ${paoQueijoTotal} un.`; document.getElementById(‘result-miniPizza’).innerText = `Total de Mini Pizzas: ${miniPizzaTotal} un.`; document.getElementById(‘result-pipoca’).innerText = `Total de Pipoca: ${pipocaTotal.toFixed(1)} L`; document.getElementById(‘result-docinhosTradicionais’).innerText = `Total de Docinhos Tradicionais: ${docinhosTradicionaisTotal} un.`; document.getElementById(‘result-docinhosFinos’).innerText = `Total de Docinhos Finos: ${docinhosFinosTotal} un.`; document.getElementById(‘result-crepeDoce’).innerText = `Total de Crepe Doce/Churros: ${crepeDoceTotal} un.`; document.getElementById(‘result-macarons’).innerText = `Total de Macarons: ${macaronsTotal} un.`; document.getElementById(‘result-miniTorta’).innerText = `Total de Mini Tortinhas: ${miniTortaTotal} un.`; document.getElementById(‘result-bolo’).innerText = `Total de Bolo: ${boloTotal.toFixed(2)} kg`; document.getElementById(‘result-refrigerante’).innerText = `Total de Refrigerante: ${refrigeranteTotal.toFixed(1)} L`; document.getElementById(‘result-suco’).innerText = `Total de Suco: ${sucoTotal.toFixed(1)} L`; document.getElementById(‘result-agua’).innerText = `Total de Água: ${aguaTotal.toFixed(1)} L`; document.getElementById(‘result-cerveja’).innerText = `Total de Cerveja: ${cervejaTotal.toFixed(1)} L`; customItems.forEach(item => { let total = item.qtyPerPerson * totalConvidados; let formattedTotal; const unitLower = item.unit.toLowerCase(); if (unitLower.includes(‘un’) || unitLower.includes(‘pc’) || unitLower.includes(‘pç’) || unitLower.includes(‘peca’) || unitLower.includes(‘caixa’)) { formattedTotal = Math.ceil(total); } else if (unitLower === ‘kg’) { formattedTotal = total.toFixed(2); } else { formattedTotal = total.toFixed(1); } const resultItemDiv = document.createElement(‘div’); resultItemDiv.className = ‘result-item custom-result’; resultItemDiv.innerText = `Total de ${item.name}: ${formattedTotal} ${item.unit}`; resultsDiv.appendChild(resultItemDiv); }); resultsDiv.style.display = ‘block’; resultsDiv.scrollIntoView({ behavior: ‘smooth’, block: ‘nearest’ }); } displayCustomItems();

Depois de calcular as quantidades, confira nosso planejamento completo da festa para não esquecer nenhum detalhe. E para garantir a diversão da criançada, considere o aluguel de tobogã inflável ou um pula-pula para festa — sucesso garantido em qualquer aniversário!

Quer alugar brinquedos para sua festa no RJ?

Fale com a Aluguel de Sonhos pelo WhatsApp e receba um orçamento sem compromisso!

📱 Solicitar Orçamento pelo WhatsApp

Gostou? Entre em contato para saber mais!

Solicitar Orçamento pelo WhatsApp
Ligar agora Orçamento