All checks were successful
Build and deploy / Validate source (push) Successful in 7s
Build and deploy / Integration suite on a real stack (push) Successful in 2m19s
Build and deploy / Secret scan and release gate (push) Successful in 5s
Build and deploy / Publish images (push) Successful in 1m38s
The payment page puts paying on the left and the order summary on the right (above it on phones). Card is preselected and paid on the page with Mercado Pago's form, in the Site's colours and with the order's e-mail; choosing PIX shows a Pagar button that opens /pagamento/pix with the QR code and copy-and-paste code, waiting there for the confirmation. A confirmed payment shows "Pagamento confirmado" with the order number and a button to the customer's orders. The payment buttons no longer restyle every button inside the form. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
23 lines
1.3 KiB
JavaScript
23 lines
1.3 KiB
JavaScript
/* Site DTF — the Site's pages: the home, one page per product, the cart and
|
|
the payment page.
|
|
They share this document, so artworks already loaded in the browser survive
|
|
moving between them; each page has its own address, so Back, Forward, reload
|
|
and shared links behave as in any store. nginx serves index.html for these
|
|
addresses. Loaded in <head> so the right page is the first one painted;
|
|
site-steps.js does the navigation. */
|
|
const PAGINAS={file:'/arquivo-por-metro', avulsa:'/artes-avulsas',
|
|
uvfile:'/uv-arquivo-por-metro', uv:'/uv-artes-avulsas'};
|
|
const CARRINHO='/carrinho', PAGAMENTO='/pagamento', PAGAMENTO_PIX='/pagamento/pix';
|
|
function paginaDe(caminho){
|
|
caminho=caminho.replace(/\/+$/,'')||'/';
|
|
if(caminho===CARRINHO) return {pagina:'carrinho'};
|
|
if(caminho===PAGAMENTO) return {pagina:'pagamento'};
|
|
if(caminho===PAGAMENTO_PIX) return {pagina:'pix'};
|
|
const m=Object.keys(PAGINAS).find(k=>PAGINAS[k]===caminho);
|
|
return m ? {pagina:'produto',modo:m} : {pagina:'inicio'};
|
|
}
|
|
// Portal links, old and new, open a quote on the payment page.
|
|
if(['/',CARRINHO].includes(location.pathname.replace(/\/+$/,'')||'/') && new URLSearchParams(location.search).has('quote'))
|
|
history.replaceState(null,'',PAGAMENTO+location.search);
|
|
document.documentElement.dataset.rota=paginaDe(location.pathname).pagina;
|