WebPass / webpass /templates /base.html
ag235772's picture
Initial Release: WebPass V2 with Steganography, Crypto Vault, and Cloud Toggle
136c0f7
<!DOCTYPE html>
<html lang="en" data-bs-theme="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}WebPass{% endblock %}</title>
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Inter:wght@300;400;600&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.0/font/bootstrap-icons.css">
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.6/css/dataTables.bootstrap5.min.css">
<link rel="stylesheet" href="{{ url_for('static', filename='css/modern.css') }}">
<script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
<script src="https://cdn.socket.io/4.6.0/socket.io.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
</head>
<body>
<div class="d-flex" id="wrapper">
<div class="cyber-sidebar border-end" id="sidebar-wrapper">
<div class="sidebar-heading text-center py-4 primary-text fs-4 fw-bold text-uppercase border-bottom">
<i class="bi bi-shield-lock-fill me-2"></i>WebPass
</div>
<div class="list-group list-group-flush my-3">
<a href="{{ url_for('dashboard.dashboard') }}" class="list-group-item list-group-item-action bg-transparent second-text">
<i class="bi bi-grid-1x2-fill me-2"></i>Dashboard
</a>
{% if has_credentials %}
<a href="{{ url_for('dashboard.secure_tools') }}" class="list-group-item list-group-item-action bg-transparent second-text">
<i class="bi bi-safe2-fill me-2"></i>Zero-Know Vault
</a>
{% else %}
<a href="{{ url_for('dashboard.profile') }}" class="list-group-item list-group-item-action bg-transparent text-muted locked-link">
<i class="bi bi-lock-fill me-2"></i>Zero-Know Vault
</a>
{% endif %}
{% if has_credentials %}
<a href="{{ url_for('share.share_ui') }}" class="list-group-item list-group-item-action bg-transparent second-text">
<i class="bi bi-send-x-fill me-2"></i>Dead Drop
</a>
{% else %}
<a href="{{ url_for('dashboard.profile') }}" class="list-group-item list-group-item-action bg-transparent text-muted locked-link">
<i class="bi bi-lock-fill me-2"></i>Dead Drop
</a>
{% endif %}
{% if has_credentials %}
<a href="{{ url_for('stego.ui') }}" class="list-group-item list-group-item-action bg-transparent second-text">
<i class="bi bi-eye-slash-fill me-2"></i>Steganography
</a>
{% else %}
<a href="{{ url_for('dashboard.profile') }}" class="list-group-item list-group-item-action bg-transparent text-muted locked-link">
<i class="bi bi-eye-slash-fill me-2"></i>Steganography
</a>
{% endif %}
{% if has_credentials %}
<a href="{{ url_for('dashboard.network_monitor') }}" class="list-group-item list-group-item-action bg-transparent second-text">
<i class="bi bi-activity me-2"></i>Net Monitor
</a>
{% else %}
<a href="{{ url_for('dashboard.profile') }}" class="list-group-item list-group-item-action bg-transparent text-muted locked-link">
<i class="bi bi-lock-fill me-2"></i>Net Monitor
</a>
{% endif %}
<a href="{{ url_for('dashboard.profile') }}" class="list-group-item list-group-item-action bg-transparent second-text">
<i class="bi bi-person-circle me-2"></i>Profile
</a>
<a href="{{ url_for('auth.logout') }}" class="list-group-item list-group-item-action bg-transparent text-danger fw-bold mt-5 logout-btn">
<i class="bi bi-box-arrow-left me-2"></i>Logout
</a>
</div>
</div>
<div id="page-content-wrapper">
<nav class="navbar navbar-expand-lg navbar-dark bg-transparent py-4 px-4">
<div class="d-flex align-items-center">
<i class="bi bi-list fs-3 me-3 text-white" id="menu-toggle" style="cursor: pointer;"></i>
<h2 class="fs-2 m-0 text-white fw-bold">{% block page_title %}{% endblock %}</h2>
</div>
</nav>
<div class="container-fluid px-4 pb-5">
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
{% for category, message in messages %}
<div class="alert alert-{{ category }} alert-dismissible fade show cyber-alert" role="alert">
<i class="bi bi-info-circle-fill me-2"></i> {{ message }}
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
{% endfor %}
{% endif %}
{% endwith %}
{% block content %}{% endblock %}
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script>
// Sidebar Toggle
var el = document.getElementById("wrapper");
var toggleButton = document.getElementById("menu-toggle");
toggleButton.onclick = function () {
el.classList.toggle("toggled");
};
// Active Link Highlighter
const currentPath = window.location.pathname;
document.querySelectorAll('.list-group-item').forEach(link => {
if(link.getAttribute('href') === currentPath) {
link.classList.add('active-link');
}
});
</script>
{% block scripts %}{% endblock %}
</body>
</html>