Skip to content

Commit 91b0ad8

Browse files
committed
parte RUAN
1 parent 55cbf22 commit 91b0ad8

4 files changed

Lines changed: 226 additions & 77 deletions

File tree

‎README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Criar uma interface intuitiva e responsiva que funcione bem tanto em campo quant
2121
## 🛠️ Tecnologias Utilizadas
2222

2323
- 🌐 **HTML5 Semântico**
24+
- ***Bootstrap***
2425
- 🎨 **CSS3**
2526
- Flexbox
2627
- Grid Layout

‎assets/CSS/style.css‎

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
* {
2+
margin: 0;
3+
padding: 0;
4+
box-sizing: border-box;
5+
}
6+
body {
7+
background-color: #0f172a;
8+
color: white;
9+
}
10+
nav ul {
11+
display: flex;
12+
justify-content: space-between;
13+
}
14+
.status-online {
15+
background: linear-gradient(45deg, #00ff88, #00cc66);
16+
color: black;
17+
padding: 5px 10px;
18+
border-radius: 5px;
19+
font-weight: bold;
20+
}
21+
22+
.card {
23+
border-radius: 10px;
24+
transition: 0.3s;
25+
}
26+
27+
.card:hover {
28+
transform: scale(1.03);
29+
box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
30+
}
31+
32+
.sos-btn {
33+
position: fixed;
34+
bottom: 20px;
35+
right: 20px;
36+
z-index: 999;
37+
}
38+
39+
.truncate {
40+
white-space: nowrap;
41+
overflow: hidden;
42+
text-overflow: ellipsis;
43+
}
44+
.bi-bootstrap {
45+
color: #fff;
46+
}
47+
48+
.text-warning {
49+
font-weight: bold;
50+
}
51+
52+
footer {
53+
border-top: 10px solid;
54+
border-image: linear-gradient(
55+
90deg,
56+
#ff0000,
57+
#ff7f00,
58+
#ffff00,
59+
#00ff00,
60+
#00ffff,
61+
#0000ff,
62+
#8b00ff
63+
) 1;
64+
}
65+
66+
@media (max-width: 768px) {
67+
nav ul {
68+
flex-direction: column;
69+
gap: 10px;
70+
}
71+
}

‎cadastro.html‎

Lines changed: 76 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,29 @@
99
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"
1010
rel="stylesheet"
1111
/>
12+
<!-- icon da pagina -->
13+
<link
14+
rel="icon"
15+
type="image/x-icon"
16+
href="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRArHRQlKS6To2_41tWeGjSX8gB-A3QEX8Xwg&s"
17+
/>
18+
<link rel="stylesheet" href="./assets/CSS/style.css" />
19+
<link
20+
rel="stylesheet"
21+
href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css"
22+
/>
1223
</head>
1324
<style>
14-
body {
15-
background-color: #0f172a;
16-
color: white;
17-
}
25+
body {
26+
background-color: #0f172a;
27+
color: white;
28+
}
1829
</style>
1930

2031
<body>
2132
<header class="bg-dark p-3">
2233
<div class="container d-flex justify-content-between align-items-center">
23-
<h3>🚁 SkyTrack</h3>
34+
<h3>SkyTrack</h3>
2435
<nav>
2536
<ul class="nav">
2637
<li class="nav-item">
@@ -42,7 +53,13 @@ <h2>Cadastro de Drone</h2>
4253
<form>
4354
<div class="mb-3">
4455
<label for="nome" class="form-label">Nome do Drone</label>
45-
<input type="text" id="nome" class="form-control" required />
56+
<input
57+
type="text"
58+
id="nome"
59+
placeholder="Ex: Drone Alpha"
60+
class="form-control"
61+
required
62+
/>
4663
</div>
4764

4865
<div class="mb-3">
@@ -52,6 +69,7 @@ <h2>Cadastro de Drone</h2>
5269
id="serie"
5370
class="form-control"
5471
minlength="8"
72+
placeholder="345366"
5573
required
5674
/>
5775
</div>
@@ -63,13 +81,14 @@ <h2>Cadastro de Drone</h2>
6381
id="autonomia"
6482
class="form-control"
6583
max="120"
84+
placeholder="Max 120"
6685
required
6786
/>
6887
</div>
6988

7089
<div class="mb-3">
7190
<label class="form-label">Setor</label>
72-
<select class="form-select" required>
91+
<select id="setor" class="form-select" required>
7392
<option value="">Selecione</option>
7493
<option>Entrega Rápida</option>
7594
<option>Inspeção</option>
@@ -92,6 +111,47 @@ <h2>Cadastro de Drone</h2>
92111
<button type="submit" class="btn btn-success">Cadastrar</button>
93112
</form>
94113
</main>
114+
<button class="btn btn-danger sos-btn">
115+
<i class="bi bi-chat-heart"></i>
116+
</button>
117+
<footer class="bg-dark text-white py-4 mt-5">
118+
<div
119+
class="container d-flex flex-wrap justify-content-between align-items-start"
120+
>
121+
<!-- Esquerda -->
122+
<div>
123+
<p class="mb-1">&copy; 2025 SkyTrack</p>
124+
<p class="mb-0">Todos os direitos reservados</p>
125+
</div>
126+
127+
<address class="mb-0 text-center">
128+
BrenoMaranhao@skytrack.com<br />
129+
(16) 4002-8922 <br />
130+
Ribeirão Preto - SP
131+
</address>
132+
133+
<nav>
134+
<ul class="nav flex-column text-end">
135+
<li class="nav-item">
136+
<a href="index.html" class="nav-link text-white p-0">Dashboard</a>
137+
</li>
138+
<li class="nav-item">
139+
<a href="cadastro.html" class="nav-link text-white p-0"
140+
>Cadastrar Drone</a
141+
>
142+
</li>
143+
<li class="nav-item">
144+
<a
145+
href="https://github.com/ByteCoreRP/SkyTrack_Project.git"
146+
class="nav-link text-white p-0"
147+
>
148+
GitHub
149+
</a>
150+
</li>
151+
</ul>
152+
</nav>
153+
</div>
154+
</footer>
95155

96156
<script>
97157
const form = document.querySelector("form");
@@ -102,7 +162,7 @@ <h2>Cadastro de Drone</h2>
102162
const drone = {
103163
nome: document.getElementById("nome").value,
104164
serie: document.getElementById("serie").value,
105-
autonomia: document.getElementById("autonomia").value,
165+
autonomia: Number(document.getElementById("autonomia").value),
106166
setor: document.querySelector("select").value,
107167
estado: document.querySelector('input[name="estado"]:checked')?.value,
108168
};
@@ -113,17 +173,23 @@ <h2>Cadastro de Drone</h2>
113173

114174
localStorage.setItem("drones", JSON.stringify(drones));
115175

116-
mostrarMensagem("Drone cadastrado com sucesso 🚀");
176+
mostrarMensagem("Drone cadastrado com sucesso");
117177

118178
form.reset();
179+
180+
setTimeout(() => {
181+
window.location.href = "index.html";
182+
}, 1500);
119183
});
120184

121185
function mostrarMensagem(msg) {
122186
const alerta = document.createElement("div");
123187
alerta.className = "alert alert-success mt-3";
124188
alerta.innerText = msg;
125189

126-
document.querySelector("main").appendChild(alerta);
190+
const form = document.querySelector("form");
191+
192+
form.parentNode.insertBefore(alerta, form);
127193

128194
setTimeout(() => {
129195
alerta.remove();

0 commit comments

Comments
 (0)