<x-app-layout>
<x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('Cadastro de Criança e Responsável') }}
</h2>
</x-slot>
<div class="py-12">
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="bg-white overflow-hidden shadow-xl sm:rounded-lg p-6">
<h1 class="text-2xl mb-4">Cadastro de Criança e Responsável</h1>
<!-- Exibe mensagens de sucesso ou erro -->
@if(session('success'))
<div class="alert alert-success mb-4">
{{ session('success') }}
</div>
@endif
@if(session('error'))
<div class="alert alert-danger mb-4">
{{ session('error') }}
</div>
@endif
<!-- Formulário de Cadastro -->
<form action="{{ route('cadastro.store') }}" method="POST">
@csrf
<h3 class="text-lg font-semibold mb-2">Dados do Responsável</h3>
<div class="mb-4">
<label for="responsavel_nome" class="block text-sm font-medium text-gray-700">Nome do Responsável:</label>
<input type="text" name="responsavel_nome" required class="block mt-1 w-full border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm">
</div>
<div class="mb-4">
<label for="responsavel_contato" class="block text-sm font-medium text-gray-700">Contato do Responsável:</label>
<input type="text" id="telefone" name="responsavel_contato" required class="block mt-1 w-full border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm">
</div>
<h3 class="text-lg font-semibold mb-2">Dados da Criança</h3>
<div class="mb-4">
<label for="crianca_nome" class="block text-sm font-medium text-gray-700">Nome da Criança:</label>
<input type="text" name="crianca_nome" required class="block mt-1 w-full border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm">
</div>
<div class="mb-4">
<label for="crianca_idade" class="block text-sm font-medium text-gray-700">Idade da Criança:</label>
<input type="number" name="crianca_idade" required class="block mt-1 w-full border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm">
</div>
<div class="mb-4>">
<label for="numero_cartao" class="block text-sm font-medium text-gray-700">Número do Cartão de Identificação:</label>
<input type="text" name="numero_cartao" required class="block mt-1 w-full border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm">
</div>
<div class="mb-4">
<label for="atipica" class="inline-flex items-center">
<input type="checkbox" name="atipica" value="1" class="rounded border-gray-300 text-indigo-600 shadow-sm focus:ring-indigo-500">
<span class="ml-2 text-sm text-gray-600">Criança Atípica?</span>
</label>
</div>
<div class="mb-4">
<label for="restricao_alimentar"class="block text-sm font-medium text-gray-700">Restrição Alimentar:</label>
<input type="text" name="restricao_alimentar" placeholder="Informe se há alguma restrição alimentar"><br>
</div>
<!-- Botão de Cadastro -->
<div class="mt-4">
<button type="submit" class="bg-gray-500 hover:bg-gray-600 text-white font-bold py-2 px-4 rounded">
Cadastrar
</button>
</div>
</form>
</div>
</div>
</div>
<!-- Script para máscara de telefone -->
<script>
document.getElementById('telefone').addEventListener('input', function (e) {
let value = e.target.value.replace(/\D/g, '');
value = value.replace(/^(\d{2})(\d)/g, '($1) $2');
value = value.replace(/(\d)(\d{4})$/, '$1-$2');
e.target.value = value;
});
</script>
<script>
// Atualizado para usar o ID correto do campo de contato
document.getElementById('telefone').addEventListener('input', function () {
var contato = this.value;
if (contato.length >= 10) { // Verifica se o contato tem ao menos 10 dígitos
fetch("{{ route('verificar.contato') }}", {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRF-TOKEN': '{{ csrf_token() }}'
},
body: JSON.stringify({responsavel_contato: contato})
})
.then(response => response.json())
.then(data => {
if (data.status === 'exists') {
// Preenche os campos da criança automaticamente
document.querySelector('input[name="crianca_nome"]').value = data.crianca.nome;
document.querySelector('input[name="crianca_idade"]').value = data.crianca.idade;
document.querySelector('input[name="atipica"]').checked = data.crianca.atipica;
// Desativa os campos da criança para evitar alterações
document.querySelector('input[name="crianca_nome"]').readOnly = true;
document.querySelector('input[name="crianca_idade"]').readOnly = true;
} else {
// Limpa os campos se o contato não existir
document.querySelector('input[name="crianca_nome"]').value = '';
document.querySelector('input[name="crianca_idade"]').value = '';
document.querySelector('input[name="atipica"]').checked = false;
// Ativa os campos para novo cadastro
document.querySelector('input[name="crianca_nome"]').readOnly = false;
document.querySelector('input[name="crianca_idade"]').readOnly = false;
}
});
}
});
</script>
</x-app-layout>