Untitled
Anonymous
plain_text
03/14/2026 4:47 PM
7.9 KB
14
Indexable
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Admin Panel - Token Manager</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background-color: #0f1117;
color: #e1e4e8;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
}
.panel {
background-color: #161b22;
border: 1px solid #30363d;
border-radius: 12px;
padding: 40px;
width: 100%;
max-width: 520px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}
.panel-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 32px;
}
.panel-header .icon {
background-color: #1f6feb;
width: 42px;
height: 42px;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
}
.panel-header h1 {
font-size: 22px;
font-weight: 600;
}
.panel-header p {
font-size: 13px;
color: #8b949e;
}
/* --- Token Section --- */
.section {
margin-bottom: 28px;
}
.section label {
display: block;
font-size: 14px;
font-weight: 500;
margin-bottom: 8px;
color: #c9d1d9;
}
.input-group {
display: flex;
gap: 10px;
}
.input-group input {
flex: 1;
padding: 12px 16px;
background-color: #0d1117;
border: 1px solid #30363d;
border-radius: 8px;
color: #e1e4e8;
font-size: 14px;
outline: none;
transition: border-color 0.2s;
}
.input-group input::placeholder {
color: #484f58;
}
.input-group input:focus {
border-color: #1f6feb;
}
.btn-save {
padding: 12px 24px;
background-color: #1f6feb;
color: #fff;
border: none;
border-radius: 8px;
font-size: 14px;
font-weight: 600;
cursor: pointer;
transition: background-color 0.2s;
white-space: nowrap;
}
.btn-save:hover {
background-color: #388bfd;
}
/* --- Expiry Info --- */
.expiry-card {
background-color: #0d1117;
border: 1px solid #30363d;
border-radius: 8px;
padding: 20px;
}
.expiry-card .label {
font-size: 12px;
text-transform: uppercase;
letter-spacing: 1px;
color: #8b949e;
margin-bottom: 8px;
}
.expiry-card .date {
font-size: 20px;
font-weight: 600;
color: #e1e4e8;
margin-bottom: 6px;
}
.expiry-card .status {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 13px;
padding: 4px 12px;
border-radius: 20px;
margin-top: 4px;
}
.status.active {
background-color: rgba(46, 160, 67, 0.15);
color: #3fb950;
}
.status .dot {
width: 8px;
height: 8px;
border-radius: 50%;
background-color: #3fb950;
}
/* --- Current Token Preview --- */
.current-token {
margin-bottom: 28px;
}
.current-token .label {
font-size: 14px;
font-weight: 500;
color: #c9d1d9;
margin-bottom: 8px;
}
.token-display {
background-color: #0d1117;
border: 1px solid #30363d;
border-radius: 8px;
padding: 12px 16px;
font-family: 'Courier New', monospace;
font-size: 13px;
color: #8b949e;
word-break: break-all;
}
.divider {
border: none;
border-top: 1px solid #30363d;
margin: 28px 0;
}
</style>
</head>
<body>
<div class="panel">
<!-- Header -->
<div class="panel-header">
<div class="icon">🔑</div>
<div>
<h1>Token Manager</h1>
<p>Gerencie o Bearer Token da aplicação</p>
</div>
</div>
<!-- Current Token -->
<div class="current-token">
<div class="label">Token Atual</div>
<div class="token-display">eyJhbGciOiJIUzI1NiIsInR5cCI6...x4kQ9z</div>
</div>
<!-- Expiry Info -->
<div class="section">
<div class="expiry-card">
<div class="label">Data de Expiração</div>
<div class="date" id="expiry-date">25 de Julho, 2025 — 14:30</div>
<span class="status active">
<span class="dot"></span>
Token válido
</span>
</div>
</div>
<hr class="divider">
<!-- Update Token -->
<div class="section">
<label for="new-token">Novo Token</label>
<div class="input-group">
<input
type="text"
id="new-token"
placeholder="Cole o novo bearer token aqui..."
>
<button class="btn-save">Salvar</button>
</div>
</div>
</div>
</body>
</html>Editor is loading...
Leave a Comment