Skip to content

Instantly share code, notes, and snippets.

@uchoamaster
Last active June 2, 2025 23:51
Show Gist options
  • Select an option

  • Save uchoamaster/ac206461eea2b60d0741d5bd8f6f974f to your computer and use it in GitHub Desktop.

Select an option

Save uchoamaster/ac206461eea2b60d0741d5bd8f6f974f to your computer and use it in GitHub Desktop.
index.html da agenda de contatos com JS puro
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Agenda de Contatos</title>
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Estilos personalizados -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container mt-5">
<h1 class="text-center mb-4">Agenda de Contatos</h1>
<!-- Botão para abrir o modal de inserção -->
<button type="button" class="btn btn-primary mb-3" data-bs-toggle="modal" data-bs-target="#contactModal">
Adicionar Contato
</button>
<!-- Tabela de contatos -->
<table class="table table-striped">
<thead>
<tr>
<th>Nome</th>
<th>Telefone</th>
<th>Email</th>
<th>Ações</th>
</tr>
</thead>
<tbody id="contactsTableBody">
<!-- Os contatos serão renderizados aqui dinamicamente -->
</tbody>
</table>
</div>
<!-- Modal para adicionar/editar contatos -->
<div class="modal fade" id="contactModal" tabindex="-1" aria-labelledby="contactModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="contactModalLabel">Adicionar Contato</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form id="contactForm">
<input type="hidden" id="contactId">
<div class="mb-3">
<label for="name" class="form-label">Nome</label>
<input type="text" class="form-control" id="name" required>
</div>
<div class="mb-3">
<label for="phone" class="form-label">Telefone</label>
<input type="text" class="form-control" id="phone" required>
</div>
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<input type="email" class="form-control" id="email" required>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button>
<button type="button" class="btn btn-primary" id="saveContact">Salvar</button>
</div>
</div>
</div>
</div>
<!-- Bootstrap JS e Popper.js -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"></script>
<!-- Script personalizado -->
<script src="script.js"></script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment