1.1
corPrimaria.value=c.primary;
corCard.value=c.card;
corBody.value=c.body;
corTexto.value=c.text;
}
onValue(ref(db,"loja/cores"),s=>{
if(s.exists()) aplicarCores(s.val());
});
window.salvarCores=()=>{
set(ref(db,"loja/cores"),{
primary:corPrimaria.value,
card:corCard.value,
body:corBody.value,
text:corTexto.value
});
};
/* WHATS */
window.salvarWhats=()=>set(ref(db,"loja/whatsapp"),whatsInput.value);
onValue(ref(db,"loja/whatsapp"),s=>{
if(s.exists()){WHATSAPP_SALVO=s.val();whatsInput.value=s.val();}
});
/* PRODUTOS */
onValue(produtosRef,snap=>{
listaProdutos=[];
snap.forEach(i=>{
let p=i.val(); p.id=i.key;
listaProdutos.push(p);
});
filtrarProdutos();
});
window.filtrarProdutos=()=>{
produtos.innerHTML="";
listaProdutos.filter(p=>
(p.titulo||"").toLowerCase().includes(buscaInput.value.toLowerCase())
).forEach(p=>{
produtos.innerHTML+=`
`;
});
};
window.lerImagemProduto=i=>{
const r=new FileReader();
r.onload=()=>imagemProduto=r.result;
r.readAsDataURL(i.files[0]);
};
window.salvarProduto=()=>{
const p={
titulo:titulo.value,
descricao:descricao.value,
preco:Number(preco.value),
estoque:Number(estoque.value),
imagem:imagemProduto
};
editando ? set(ref(db,"produtos/"+editando),p) : push(produtosRef,p);
cancelarEdicao();
};
window.editarProduto=id=>{
get(ref(db,"produtos/"+id)).then(s=>{
let p=s.val();
titulo.value=p.titulo;
descricao.value=p.descricao;
preco.value=p.preco;
estoque.value=p.estoque;
imagemProduto=p.imagem;
editando=id;
});
};
window.removerProduto=id=>{
if(confirm("Remover produto?")) remove(ref(db,"produtos/"+id));
};
window.cancelarEdicao=()=>{
titulo.value=descricao.value=preco.value=estoque.value="";
imagemProduto="";editando=null;
};
/* CARRINHO */
window.addCarrinho=id=>{
if(!LOJA_ABERTA) return alert("Loja fechada");
const p=listaProdutos.find(x=>x.id===id);
if(!p||p.estoque<=0) return alert("Sem estoque");
runTransaction(ref(db,"produtos/"+id+"/estoque"),e=>e-1);
let item=carrinho.find(x=>x.id===id);
item?item.qtd++:carrinho.push({...p,qtd:1});
renderCarrinho();
};
function renderCarrinho(){
itens.innerHTML="";
let total=0;
carrinho.forEach(p=>{
total+=p.preco*p.qtd;
itens.innerHTML+=`
${p.titulo}
${p.descricao}
R$ ${Number(p.preco).toFixed(2)}
Estoque: ${p.estoque}
${p.titulo} x${p.qtd}
`;
});
document.getElementById("total").innerText="Total: R$ "+total.toFixed(2);
}
window.pedidoWhats=()=>{
if(!WHATSAPP_SALVO||!carrinho.length) return;
let msg="Pedido:%0A";
carrinho.forEach(p=>msg+=`${p.titulo} x${p.qtd}%0A`);
window.open(`https://wa.me/${WHATSAPP_SALVO}?text=${msg}`);
};
window.abrirZoom=src=>{
zoom.style.display="flex";
zoomImg.src=src;
};
window.fecharZoom=()=>zoom.style.display="none";