Untitled
2 hours ago in Plain Text
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TikTok Shop - Fone Bluetooth TWS 5.0</title>
<style>
*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto}
body{background:#000;color:#fff}
/* Cabeçalho - AGORA COM COR DO TIKTOK SHOP */
.header{height:48px;background:#fe2c55;display:flex;align-items:center;justify-content:space-between;padding:0 16px}
.back{width:24px;height:24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23fff'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 19l-7-7 7-7'/%3E%3C/svg%3E") center/contain no-repeat}
.title{font-size:17px;font-weight:600;color:#fff}
.share{width:24px;height:24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 24 24'%3E%3Cpath d='M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7 0-.24-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.03.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.45 6.88 9.23 6.21 9.07L4.64 6.43C5.38 5.11 6.83 4.2 8.5 4.2c2.48 0 4.5 2.02 4.5 4.5 0 .34.3.5.5.5s.5-.2.5-.5c0-3.31-2.69-6-6-6S6 2 2 2 2 6c0 1.67.91 3.12 2.23 3.95l-1.57 2.64c-.07.12-.07.27s-.07.23 0 .24.04.47.09.7l-7.05 4.11c-.54-.5-1.25-.81-2.03-.81-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3c0-.24-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.03.81 1.66 0 3-1.34 3-3s-1.34-3-3-3z'/%3E%3C/svg%3E") center/contain no-repeat}
/* Imagem do produto - ATUALIZADA COM LINK DO SHOPEE */
.product-image{width:100%;height:420px;object-fit:contain;background:#111;display:block}
/* Card principal */
.card{background:#fff;color:#000;border-radius:16px 16px 0 0;margin-top:-12px;padding:20px 20px 100px}
/* Informações do produto */
.product-title{font-size:20px;font-weight:700;margin-bottom:12px}
.price-section{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}
.current-price{font-size:32px;font-weight:700;color:#e02}
.original-price{text-decoration:line-through;color:#999;font-size:16px}
.shipping{font-size:14px;color:#666;margin-bottom:8px}
.rating{font-size:14px;color:#666;margin-bottom:16px}
/* Indicador de fluxo */
.flow-indicator{display:flex;justify-content:space-between;margin:20px 0;padding:0 10px}
.flow-step{display:flex;flex-direction:column;align-items:center;gap:4px}
.step-circle{width:40px;height:40px;border-radius:50%;background:#fe2c55;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.step-label{font-size:12px;color:#666;text-align:center;max-width:80px}
.active .step-label{color:#fe2c55;font-weight:600}
/* Opções de seleção */
.options-section{margin:20px 0}
.section-title{font-size:16px;font-weight:600;margin-bottom:12px}
.color-options{display:flex;gap:12px;margin-bottom:20px}
.color-option{padding:10px 16px;border:2px solid #ddd;border-radius:8px;cursor:pointer}
.color-option.selected{border-color:#fe2c55;background-color:#fff2f5}
/* Estilo para a opção de garantia com imagem */
.warranty-option{display:flex;align-items:center;gap:10px;padding:14px;border:2px solid #ddd;border-radius:8px;margin-bottom:10px;cursor:pointer}
.warranty-option.selected{border-color:#fe2c55;background-color:#fff2f5}
.warranty-image{width:80px;height:40px;object-fit:contain}
.warranty-text{font-size:14px;flex-grow:1}
.warranty-price{font-weight:700;color:#e02}
/* Formulário (inicialmente oculto) */
.form-section{display:none;margin:20px 0}
.form-title{font-size:16px;font-weight:600;margin-bottom:12px}
.form-input{width:100%;padding:12px;border:1px solid #ccc;border-radius:8px;font-size:14px;margin-bottom:12px}
/* Botões */
.action-button{display:block;background:#fe2c55;color:#fff;text-align:center;padding:16px;font-size:18px;border:0;border-radius:8px;margin:20px auto;width:100%;cursor:pointer;font-weight:600}
/* Seção PIX */
.pix-section{display:none;background:#f5f5f5;border-radius:12px;padding:16px;margin-top:20px}
.pix-title{font-size:16px;font-weight:600;margin-bottom:12px;color:#333}
.pix-instruction{font-size:14px;color:#666;margin-bottom:16px;text-align:center}
.pix-qr{width:200px;height:200px;margin:0 auto 16px;display:block}
.pix-code-container{position:relative;margin-bottom:16px}
.pix-code{width:100%;border:1px solid #ddd;border-radius:8px;padding:12px 40px 12px 12px;background:#fff;font-size:12px;word-break:break-all;color:#333;resize:none;min-height:80px}
.copy-btn{position:absolute;right:8px;top:8px;background:#4CAF50;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}
/* Status de pagamento */
.payment-status{display:none;background:#f0f8ff;border-radius:12px;padding:20px;margin-top:20px;text-align:center}
.status-icon{font-size:48px;margin-bottom:16px}
.status-title{font-size:20px;font-weight:600;color:#333;margin-bottom:8px}
.status-message{font-size:16px;color:#666;margin-bottom:20px}
.status-info{background:#e8f5e9;border-radius:8px;padding:12px;margin-top:16px;font-size:14px;color:#2e7d32}
/* Rodapé */
.footer{background:#f5f5f5;color:#666;font-size:12px;padding:16px;text-align:center;margin-top:20px}
</style>
</head>
<body>
<div class="header">
<div class="back"></div>
<!-- TÍTULO ALTERADO PARA "TikTok Shop" -->
<div class="title">TikTok Shop</div>
<div class="share"></div>
</div>
<!-- Imagem do produto - ATUALIZADA COM LINK DO SHOPEE -->
<img class="product-image" src="https://cf.shopee.com.br/file/sg-11134201-22120-xx5zljdpcmlva6" alt="Fone Bluetooth TWS 5.0">
<div class="card">
<!-- Informações do produto -->
<h1 class="product-title">Fone Bluetooth TWS 5.0 - Alta Qualidade</h1>
<div class="price-section">
<span class="current-price">R$ 19,90</span>
<span class="original-price">R$ 97,00</span>
</div>
<!-- ALTERADO: Prazo de entrega de 5 a 6 dias -->
<div class="shipping">Frete grátis • Entrega em 5 a 6 dias</div>
<div class="rating">4,8 ⭐ (2,1 mil avaliações)</div>
<!-- Indicador de fluxo -->
<div class="flow-indicator">
<div class="flow-step active">
<div class="step-circle">1</div>
<div class="step-label">Produto</div>
</div>
<div class="flow-step">
<div class="step-circle">2</div>
<div class="step-label">Opções</div>
</div>
<div class="flow-step">
<div class="step-circle">3</div>
<div class="step-label">Checkout</div>
</div>
</div>
<!-- Seção 1: Opções do produto -->
<div class="options-section" id="optionsSection">
<div class="section-title">Selecione a cor:</div>
<div class="color-options">
<div class="color-option selected" data-color="preto" onclick="selectColor(this)">Preto</div>
<div class="color-option" data-color="branco" onclick="selectColor(this)">Branco</div>
<div class="color-option" data-color="azul" onclick="selectColor(this)">Azul</div>
</div>
<div class="section-title">Garantia:</div>
<!-- ALTERADO: Agora com a imagem de garantia -->
<div class="warranty-option selected" onclick="toggleWarranty(this)">
<img src="OIP (1).jfif" alt="1 Ano De Garantia" class="warranty-image">
<div class="warranty-text">1 Ano De Garantia - Cobertura completa contra defeitos de fabricação</div>
<div class="warranty-price">+ R$ 0,00</div>
</div>
<div style="font-size:12px;color:#666;margin-top:8px;padding-left:10px;">
✓ Troca gratuita em caso de defeito<br>
✓ Suporte técnico especializado<br>
✓ Validade de 12 meses a partir da compra
</div>
</div>
<!-- Botão inicial -->
<button class="action-button" id="initialButton" onclick="proceedToCheckout()">Comprar Agora</button>
<!-- Seção 2: Formulário de checkout -->
<div class="form-section" id="checkoutSection">
<div class="section-title">Informações para entrega</div>
<input class="form-input" id="nome" placeholder="Nome completo" required>
<input class="form-input" id="endereco" placeholder="Endereço completo" required>
<input class="form-input" id="cidade" placeholder="Cidade" required>
<input class="form-input" id="cep" placeholder="CEP" required>
<input class="form-input" id="telefone" placeholder="Telefone (com DDD)" required>
<button class="action-button" onclick="proceedToPayment()">Continuar para pagamento</button>
</div>
<!-- Seção 3: Pagamento PIX -->
<div class="pix-section" id="paymentSection">
<div class="pix-title">Pagamento via PIX</div>
<p class="pix-instruction">Escaneie o código QR abaixo ou copie o código PIX</p>
<img class="pix-qr" src="https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=00020126330014BR.GOV.BCB.PIX011115784944606520400005303986540519.905802BR5918pay%20pagamentosltda6014belo%20horizonte62070503***63043629" alt="QR Code PIX">
<!-- MELHORADO: Container com botão de copiar -->
<div class="pix-code-container">
<textarea class="pix-code" id="pixCode" readonly>00020126330014BR.GOV.BCB.PIX011115784944606520400005303986540519.905802BR5918pay pagamentosltda6014belo horizonte62070503***63043629</textarea>
<button class="copy-btn" onclick="copyPixCode()">Copiar</button>
</div>
<!-- ALTERADO: Botão agora mostra "Aguardando pagamento" -->
<button class="action-button" id="confirmPaymentBtn" style="background:#4CAF50;margin-top:20px" onclick="confirmPayment()">
Finalizar Pedido
</button>
<div class="status-info">
<strong>Instruções:</strong> Após realizar o pagamento, aguarde a confirmação automática.
</div>
</div>
<!-- Seção 4: Status do pagamento -->
<div class="payment-status" id="paymentStatus">
<div class="status-icon">⏳</div>
<div class="status-title">Aguardando Pagamento</div>
<div class="status-message">
Seu pedido foi registrado com sucesso!<br>
Aguarde a confirmação do pagamento via PIX.
</div>
<div class="status-info">
<strong>Número do pedido:</strong> #TTS-<span id="orderNumber">0000</span><br>
<strong>Valor total:</strong> R$ 19,90<br>
<strong>Previsão de entrega:</strong> 5 a 6 dias úteis<br>
<strong>Garantia incluída:</strong> 1 Ano De Garantia
</div>
<button class="action-button" style="background:#666;margin-top:20px;width:80%" onclick="window.location.reload()">
Fazer Novo Pedido
</button>
</div>
<!-- Rodapé -->
<div class="footer">
© 2023 TikTok Shop. Todos os direitos reservados.<br>
Garantia de 1 ano contra defeitos de fabricação.
</div>
</div>
<script>
// Variáveis para armazenar as seleções
let selectedColor = 'preto';
let selectedWarranty = true;
// Função para selecionar cor
function selectColor(element) {
document.querySelectorAll('.color-option').forEach(opt => {
opt.classList.remove('selected');
});
element.classList.add('selected');
selectedColor = element.getAttribute('data-color');
}
// Função para alternar garantia
function toggleWarranty(element) {
element.classList.toggle('selected');
selectedWarranty = element.classList.contains('selected');
// Atualiza visualmente a seleção
const warrantyPrice = element.querySelector('.warranty-price');
if (selectedWarranty) {
warrantyPrice.textContent = '+ R$ 0,00';
} else {
warrantyPrice.textContent = 'Não selecionada';
warrantyPrice.style.color = '#999';
}
}
// Função para ir para o checkout
function proceedToCheckout() {
// Atualiza o indicador de fluxo
document.querySelectorAll('.flow-step').forEach((step, index) => {
step.classList.toggle('active', index === 1);
});
// Mostra seção de checkout, oculta outras
document.getElementById('optionsSection').style.display = 'none';
document.getElementById('initialButton').style.display = 'none';
document.getElementById('checkoutSection').style.display = 'block';
// Rola para a seção de checkout
document.getElementById('checkoutSection').scrollIntoView({behavior: 'smooth'});
}
// Função para ir para o pagamento
function proceedToPayment() {
// Valida campos obrigatórios
const campos = ['nome', 'endereco', 'cidade', 'cep', 'telefone'];
for(let id of campos) {
const campo = document.getElementById(id);
if(!campo.value.trim()) {
alert('Por favor, preencha todos os campos obrigatórios.');
campo.focus();
return;
}
}
// Atualiza o indicador de fluxo
document.querySelectorAll('.flow-step').forEach((step, index) => {
step.classList.toggle('active', index === 2);
});
// Mostra seção de pagamento, oculta outras
document.getElementById('checkoutSection').style.display = 'none';
document.getElementById('paymentSection').style.display = 'block';
// Rola para a seção de pagamento
document.getElementById('paymentSection').scrollIntoView({behavior: 'smooth'});
}
// Função para copiar código PIX
function copyPixCode() {
const pixCode = document.getElementById('pixCode');
pixCode.select();
pixCode.setSelectionRange(0, 99999); // Para dispositivos móveis
try {
navigator.clipboard.writeText(pixCode.value).then(() => {
// Altera temporariamente o texto do botão para confirmar a cópia
const copyBtn = document.querySelector('.copy-btn');
const originalText = copyBtn.textContent;
copyBtn.textContent = 'Copiado!';
copyBtn.style.background = '#2E7D32';
setTimeout(() => {
copyBtn.textContent = originalText;
copyBtn.style.background = '#4CAF50';
}, 2000);
});
} catch (err) {
// Fallback para navegadores mais antigos
document.execCommand('copy');
alert('Código PIX copiado para a área de transferência!');
}
}
// Função para confirmar pagamento
function confirmPayment() {
// Gera um número de pedido aleatório
const orderNumber = Math.floor(1000 + Math.random() * 9000);
document.getElementById('orderNumber').textContent = orderNumber;
// Altera o botão para estado de processamento
const confirmBtn = document.getElementById('confirmPaymentBtn');
confirmBtn.textContent = 'Processando...';
confirmBtn.disabled = true;
confirmBtn.style.background = '#999';
// Simula um processamento de 2 segundos
setTimeout(() => {
// Esconde a seção de pagamento
document.getElementById('paymentSection').style.display = 'none';
// Mostra o status de aguardando pagamento
document.getElementById('paymentStatus').style.display = 'block';
// Rola para a seção de status
document.getElementById('paymentStatus').scrollIntoView({behavior: 'smooth'});
// Simula atualização do status após 5 segundos
setTimeout(() => {
// Poderia adicionar aqui uma verificação real de pagamento
// Por enquanto, apenas mantemos o status de "Aguardando Pagamento"
}, 5000);
}, 2000);
}
</script>
</body>
</html>