🧑‍✈️ Portal do Motorista
🖥️ Portal Admin 👤 Portal Passageiro

Bem-vindo, Motorista

Gerencie seu turno, acompanhe corridas e mantenha seus documentos em dia.

ℹ️ O motorista inicia e conclui a corrida aqui. Cancelamentos também são registrados no portal do motorista.

Resumo do Dia

R$ 0,00

0 corridas concluídas · 0h em operação

🟢 Disponível

Corridas do Dia

0

Meta: 0 corridas

Avaliação Média

4.8 ⭐

Últimos 30 dias

Km Rodados

0 km

Sem dados no momento

Taxa Admin

0%

Repasse líquido: R$ 0,00

🛣️ Próximas Corridas

Horário Passageiro Origem Destino Status Ações

📌 Alertas do Sistema

✅ Nenhuma penalidade registrada este mês.
📄 Nenhum documento pendente no momento.
⚠️ Sem alertas críticos.

⚡ Ações Rápidas

`; const w=window.open('','_blank','width=720,height=720'); w.document.write(html); w.document.close(); } function abrirSuporte(){ let contato = (TC?.config?.suporte||'').trim(); if(!contato){ contato = prompt('Digite o WhatsApp/telefone do suporte',''); } if(!contato){showToast('Contato de suporte não informado.');return;} const digits = String(contato).replace(/\D/g,''); if(digits.length>=10){ const url = `https://wa.me/55${digits}`; window.open(url,'_blank'); showToast('Abrindo WhatsApp do suporte...'); return; } if(contato.includes('@')){ window.location.href = `mailto:${contato}`; return; } showToast('Contato salvo, mas formato não reconhecido.'); } function showToast(msg){ const toast = document.getElementById('toastPortal'); toast.textContent = msg; toast.classList.add('show'); setTimeout(()=>toast.classList.remove('show'), 2800); } function openModal(id){ const m=document.getElementById(id); if(m){m.classList.add('open');m.style.display='flex';} } function closeModal(id){ const m=document.getElementById(id); if(m){m.classList.remove('open');m.style.display='none';} } function updateMotoristaUI(){ const mot=getPortalMotorista(); const nameEl=document.getElementById('motNomeTop'); if(nameEl) nameEl.textContent=mot?.nome||'Motorista'; } function onMotoristaChange(){ const id=parseInt(document.getElementById('motSelect').value||''); savePortalMotorista(id); updateMotoristaUI(); renderCorridas(); } function initMotorista(){ const sel=document.getElementById('motSelect'); if(sel){ sel.innerHTML='' + TC.motoristas.map(m=>``).join(''); const saved=getPortalMotorista(); if(saved){ sel.value=saved.id; } } updateMotoristaUI(); renderCorridas(); setInterval(()=>renderCorridas(),5000); } window.addEventListener('load', ()=>{ setTimeout(initMotorista, 400); });