celestial-flock-manager / register.html
Caioseim's picture
Prompt detalhado para Replit (Python + SQLite + Flask)
d328c3c verified
Raw
History Blame Contribute Delete
10.5 kB
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cadastrar Membro - Celestial Flock</title>
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://unpkg.com/feather-icons"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
</head>
<body class="bg-gray-50 min-h-screen">
<nav class="bg-primary-500 text-white shadow-lg">
<div class="container mx-auto px-4 py-3">
<div class="flex justify-between items-center">
<a href="index.html" class="flex items-center space-x-2">
<i data-feather="home" class="w-6 h-6"></i>
<span class="text-xl font-bold">Celestial Flock</span>
</a>
<div class="hidden md:flex space-x-6">
<a href="index.html" class="hover:text-secondary-500 transition">Home</a>
<a href="register.html" class="hover:text-secondary-500 font-medium">Cadastrar</a>
<a href="members.html" class="hover:text-secondary-500 transition">Membros</a>
<a href="#" class="hover:text-secondary-500 transition">Aniversariantes</a>
<a href="#" class="hover:text-secondary-500 transition">Exportar</a>
</div>
<div>
<a href="#" class="bg-secondary-500 hover:bg-secondary-600 px-4 py-2 rounded-full text-sm font-medium transition">Logout</a>
</div>
</div>
</div>
</nav>
<main class="container mx-auto px-4 py-8 max-w-4xl">
<div class="bg-white rounded-xl shadow-sm p-6">
<div class="border-b border-gray-200 pb-4 mb-6">
<h1 class="text-2xl font-bold text-gray-800">Cadastrar Novo Membro</h1>
<p class="text-gray-600">Preencha os dados abaixo para cadastrar um novo membro na congregação</p>
</div>
<form class="space-y-6">
<div class="grid md:grid-cols-2 gap-6">
<!-- Personal Info -->
<div class="space-y-4">
<h2 class="text-lg font-medium text-gray-800">Informações Pessoais</h2>
<div>
<label for="name" class="block text-sm font-medium text-gray-700 mb-1">Nome Completo *</label>
<input type="text" id="name" class="w-full px-4 py-2 border rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent" required>
</div>
<div>
<label for="cpf" class="block text-sm font-medium text-gray-700 mb-1">CPF *</label>
<input type="text" id="cpf" class="w-full px-4 py-2 border rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent" required>
</div>
<div>
<label for="birthdate" class="block text-sm font-medium text-gray-700 mb-1">Data de Nascimento *</label>
<input type="date" id="birthdate" class="w-full px-4 py-2 border rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent" required>
</div>
<div>
<label for="baptism" class="block text-sm font-medium text-gray-700 mb-1">Data de Batismo</label>
<input type="date" id="baptism" class="w-full px-4 py-2 border rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent">
</div>
</div>
<!-- Contact Info -->
<div class="space-y-4">
<h2 class="text-lg font-medium text-gray-800">Informações de Contato</h2>
<div>
<label for="phone" class="block text-sm font-medium text-gray-700 mb-1">Telefone</label>
<input type="tel" id="phone" class="w-full px-4 py-2 border rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent">
</div>
<div>
<label for="email" class="block text-sm font-medium text-gray-700 mb-1">Email</label>
<input type="email" id="email" class="w-full px-4 py-2 border rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent">
</div>
<div>
<label for="ministry" class="block text-sm font-medium text-gray-700 mb-1">Ministério *</label>
<select id="ministry" class="w-full px-4 py-2 border rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent" required>
<option value="">Selecione...</option>
<option value="Pastor">Pastor</option>
<option value="Diácono">Diácono</option>
<option value="Músico">Músico</option>
<option value="Obreiro">Obreiro</option>
<option value="Membro">Membro</option>
<option value="Visitante">Visitante</option>
</select>
</div>
</div>
</div>
<!-- Address Info -->
<div class="space-y-4 pt-4">
<h2 class="text-lg font-medium text-gray-800">Endereço</h2>
<div class="grid md:grid-cols-3 gap-4">
<div class="md:col-span-2">
<label for="street" class="block text-sm font-medium text-gray-700 mb-1">Rua</label>
<input type="text" id="street" class="w-full px-4 py-2 border rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent">
</div>
<div>
<label for="number" class="block text-sm font-medium text-gray-700 mb-1">Número</label>
<input type="text" id="number" class="w-full px-4 py-2 border rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent">
</div>
</div>
<div class="grid md:grid-cols-2 gap-4">
<div>
<label for="neighborhood" class="block text-sm font-medium text-gray-700 mb-1">Bairro</label>
<input type="text" id="neighborhood" class="w-full px-4 py-2 border rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent">
</div>
<div>
<label for="city" class="block text-sm font-medium text-gray-700 mb-1">Cidade</label>
<input type="text" id="city" class="w-full px-4 py-2 border rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent">
</div>
</div>
<div class="grid md:grid-cols-2 gap-4">
<div>
<label for="state" class="block text-sm font-medium text-gray-700 mb-1">Estado</label>
<select id="state" class="w-full px-4 py-2 border rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent">
<option value="">Selecione...</option>
<option value="SP">São Paulo</option>
<option value="RJ">Rio de Janeiro</option>
<!-- Add all other states -->
</select>
</div>
<div>
<label for="cep" class="block text-sm font-medium text-gray-700 mb-1">CEP</label>
<input type="text" id="cep" class="w-full px-4 py-2 border rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent">
</div>
</div>
</div>
<div class="pt-6 flex justify-end space-x-4">
<button type="button" class="px-6 py-2 border border-gray-300 rounded-lg text-gray-700 font-medium hover:bg-gray-50 transition">Cancelar</button>
<button type="submit" class="px-6 py-2 bg-primary-500 rounded-lg text-white font-medium hover:bg-primary-600 transition">Salvar Membro</button>
</div>
</form>
</div>
</main>
<footer class="bg-gray-800 text-white py-8">
<div class="container mx-auto px-4 text-center">
<p>© 2023 Celestial Flock Manager. Todos os direitos reservados.</p>
</div>
</footer>
<script>
feather.replace();
// CPF mask
document.getElementById('cpf').addEventListener('input', function(e) {
let value = e.target.value.replace(/\D/g, '');
value = value.replace(/(\d{3})(\d)/, '$1.$2');
value = value.replace(/(\d{3})(\d)/, '$1.$2');
value = value.replace(/(\d{3})(\d{1,2})$/, '$1-$2');
e.target.value = value;
});
// Phone mask
document.getElementById('phone').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;
});
// CEP mask
document.getElementById('cep').addEventListener('input', function(e) {
let value = e.target.value.replace(/\D/g, '');
value = value.replace(/^(\d{5})(\d)/, '$1-$2');
e.target.value = value;
});
</script>
</body>
</html>