All checks were successful
Build and deploy / Validate source (push) Successful in 10s
Build and deploy / Integration suite on a real stack (push) Successful in 2m46s
Build and deploy / Secret scan and release gate (push) Successful in 6s
Build and deploy / Publish images (push) Successful in 1m46s
Artworks on the left; on the right a box that stays in view with the live sheet, the grade, the price per metre, the metres charged, the total, the resolution note and "Adicionar ao carrinho". The separate quality and preview panels, the second sheet preview, the per-row mini sheets, the summary box and the repeated findings list are gone: each piece of information now appears once. Each artwork row carries at most one hint (resolution first, otherwise a width that saves film), the ready-sheet/loose-artwork choice is a toggle beside the title, the upload area is one bar and the tips are collapsed. The box only shows the item the page already priced, so it always matches the cart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
31 lines
1.4 KiB
JavaScript
31 lines
1.4 KiB
JavaScript
/* Site DTF — the product page's buy box: grade, price per metre, billed length,
|
|
total and the add-to-cart button, beside the live sheet. It shows the item
|
|
the other site-*.js files already priced (itemAtual) and never computes a
|
|
price of its own, so the box and the cart always agree. */
|
|
(function(){
|
|
const vals=$('compraVals'), add=$('bAdd');
|
|
function pintaCompra(){
|
|
const it=itemAtual;
|
|
vals.hidden=!it;
|
|
add.disabled=!it || !itemPodeEnviar(it);
|
|
if(!it) return;
|
|
const semNota=!it.nota;
|
|
$('cNota').textContent = semNota ? 'sem nota' : it.nota;
|
|
$('cNotaBar').style.width=(semNota?0:it.nota)+'%';
|
|
$('cNotaBar').className = semNota ? '' : it.nota>=85 ? 'ok' : it.nota>=50 ? 'av' : 'er';
|
|
$('cTabela').textContent = TABELA[it.modo]-it.unit>0.001 ? rs(TABELA[it.modo]) : '';
|
|
$('cMetro').textContent=rs(it.unit);
|
|
$('cMetragem').textContent=fmtM(it.cob)+' m';
|
|
const sobraCm=Math.round((it.cob-it.metros)*100);
|
|
$('cObs').textContent =
|
|
it.cob===MINIMO_M && it.metros<MINIMO_M
|
|
? (ehFolha(it.modo) ? 'Pedido mínimo de 1 m.'
|
|
: 'Pedido mínimo de 1 m: ainda cabem '+sobraCm+' cm de artes sem custo.')
|
|
: sobraCm>0 ? fmtM(it.metros)+' m de folha, arredondado a cada 10 cm.' : '';
|
|
$('cTotal').textContent=rs(it.total);
|
|
}
|
|
add.addEventListener('click',()=>adicionaAoCarrinho());
|
|
addEventListener('dtf-cart-changed',pintaCompra);
|
|
pintaCompra();
|
|
})();
|