WebPass / webpass /templates /dashboard.html
ag235772's picture
Initial Release: WebPass V2 with Steganography, Crypto Vault, and Cloud Toggle
136c0f7
{% extends "base.html" %}
{% block title %}Command Center{% endblock %}
{% block page_title %}Dashboard{% endblock %}
{% block content %}
<div class="row g-4 mb-4">
<div class="col-md-3 fade-in-up" style="animation-delay: 0.1s;">
<div class="cyber-card p-3 d-flex justify-content-between align-items-center">
<div>
<h6 class="text-muted text-uppercase small">Identity</h6>
<h4 class="mb-0">{{ credential.username if credential else 'Guest' }}</h4>
</div>
<div class="bg-primary bg-opacity-10 p-3 rounded-circle">
<i class="bi bi-person-bounding-box fs-4 text-primary"></i>
</div>
</div>
</div>
<div class="col-md-3 fade-in-up" style="animation-delay: 0.2s;">
<div class="cyber-card p-3 d-flex justify-content-between align-items-center">
<div>
<h6 class="text-muted text-uppercase small">System Status</h6>
<h4 class="mb-0 text-success">Online</h4>
</div>
<div class="bg-success bg-opacity-10 p-3 rounded-circle">
<i class="bi bi-cpu fs-4 text-success"></i>
</div>
</div>
</div>
<div class="col-md-3 fade-in-up" style="animation-delay: 0.3s;">
<div class="cyber-card p-3 d-flex justify-content-between align-items-center">
<div>
<h6 class="text-muted text-uppercase small">Encryption</h6>
<h4 class="mb-0">AES-GCM</h4>
</div>
<div class="bg-warning bg-opacity-10 p-3 rounded-circle">
<i class="bi bi-shield-check fs-4 text-warning"></i>
</div>
</div>
</div>
<div class="col-md-3 fade-in-up" style="animation-delay: 0.4s;">
<div class="cyber-card p-3 d-flex justify-content-between align-items-center">
<div>
<h6 class="text-muted text-uppercase small">Connection</h6>
<h4 class="mb-0">Secure</h4>
</div>
<div class="bg-danger bg-opacity-10 p-3 rounded-circle">
<i class="bi bi-wifi fs-4 text-danger"></i>
</div>
</div>
</div>
</div>
<div class="row g-4">
<div class="col-lg-8 fade-in-up" style="animation-delay: 0.5s;">
<div class="cyber-card h-100 p-4 border-start border-4 border-info">
<h4 class="mb-4 text-white"><i class="bi bi-grid-fill me-2 text-info"></i>Operations Grid</h4>
<div class="row g-3">
<div class="col-md-4">
{% if has_credentials %}
<a href="{{ url_for('dashboard.secure_tools') }}" class="btn btn-outline-info w-100 py-4 d-flex flex-column align-items-center justify-content-center gap-2 h-100 border-2">
<i class="bi bi-file-earmark-lock fs-1"></i>
<span class="fw-bold">File Vault</span>
</a>
{% else %}
<a href="{{ url_for('dashboard.profile') }}" class="btn btn-dark w-100 py-4 d-flex flex-column align-items-center justify-content-center gap-2 h-100 border-secondary text-muted">
<i class="bi bi-lock-fill fs-1"></i>
<span>Setup Vault</span>
</a>
{% endif %}
</div>
<div class="col-md-4">
{% if has_credentials %}
<a href="{{ url_for('share.share_ui') }}" class="btn btn-outline-warning w-100 py-4 d-flex flex-column align-items-center justify-content-center gap-2 h-100 border-2">
<i class="bi bi-send-exclamation fs-1"></i>
<span class="fw-bold">Dead Drop</span>
</a>
{% else %}
<button class="btn btn-dark w-100 py-4 d-flex flex-column align-items-center justify-content-center gap-2 h-100 border-secondary text-muted" disabled>
<i class="bi bi-lock-fill fs-1"></i>
</button>
{% endif %}
</div>
<div class="col-md-4">
{% if has_credentials %}
<a href="{{ url_for('stego.ui') }}" class="btn btn-outline-success w-100 py-4 d-flex flex-column align-items-center justify-content-center gap-2 h-100 border-2">
<i class="bi bi-eye-slash-fill fs-1"></i>
<span class="fw-bold">Steganography</span>
</a>
{% else %}
<button class="btn btn-dark w-100 py-4 d-flex flex-column align-items-center justify-content-center gap-2 h-100 border-secondary text-muted" disabled>
<i class="bi bi-lock-fill fs-1"></i>
</button>
{% endif %}
</div>
<div class="col-md-4 mt-3">
{% if has_credentials %}
<a href="{{ url_for('tools.metadata_ui') }}" class="btn btn-outline-light w-100 py-4 d-flex flex-column align-items-center justify-content-center gap-2 h-100 border-2">
<i class="bi bi-eraser-fill fs-1"></i>
<span class="fw-bold">Ghost Wiper</span>
</a>
{% else %}
<button class="btn btn-dark w-100 py-4 d-flex flex-column align-items-center justify-content-center gap-2 h-100 border-secondary text-muted" disabled>
<i class="bi bi-lock-fill fs-1"></i>
</button>
{% endif %}
</div>
<div class="col-md-4 mt-3">
{% if has_credentials %}
<a href="{{ url_for('tools.breach_ui') }}" class="btn btn-outline-danger w-100 py-4 d-flex flex-column align-items-center justify-content-center gap-2 h-100 border-2">
<i class="bi bi-shield-lock-fill fs-1"></i>
<span class="fw-bold">Breach Check</span>
</a>
{% else %}
<button class="btn btn-dark w-100 py-4 d-flex flex-column align-items-center justify-content-center gap-2 h-100 border-secondary text-muted" disabled>
<i class="bi bi-lock-fill fs-1"></i>
</button>
{% endif %}
</div>
<div class="col-md-4 mt-3">
{% if has_credentials %}
<a href="{{ url_for('dashboard.network_monitor') }}" class="btn btn-outline-primary w-100 py-4 d-flex flex-column align-items-center justify-content-center gap-2 h-100 border-2">
<i class="bi bi-activity fs-1"></i>
<span class="fw-bold">Net Monitor</span>
</a>
{% else %}
<button class="btn btn-dark w-100 py-4 d-flex flex-column align-items-center justify-content-center gap-2 h-100 border-secondary text-muted" disabled>
<i class="bi bi-lock-fill fs-1"></i>
</button>
{% endif %}
</div>
<div class="col-12 mt-4">
<label class="text-muted small mb-2 text-uppercase fw-bold">Quick Watchtower Check</label>
<div class="input-group">
<span class="input-group-text bg-dark border-secondary text-danger"><i class="bi bi-tower"></i></span>
<input type="password" id="watchtower-input" class="form-control watchtower-monitor" placeholder="Test a password for leaks (k-Anonymity)...">
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4 fade-in-up" style="animation-delay: 0.6s;">
<div class="cyber-card h-100 p-4">
<h4 class="mb-3 text-white">System Log</h4>
<div class="border-start border-secondary ps-3 ms-2">
<div class="mb-3">
<small class="text-muted d-block">10:42:01 AM</small>
<span class="text-success"><i class="bi bi-check-circle me-1"></i> Zero-Knowledge Engine Ready</span>
</div>
<div class="mb-3">
<small class="text-muted d-block">10:42:05 AM</small>
<span class="text-info"><i class="bi bi-database me-1"></i> Database Connected</span>
</div>
<div class="mb-3">
<small class="text-muted d-block">10:42:06 AM</small>
<span class="text-warning"><i class="bi bi-shield-exclamation me-1"></i> HIBP API Latency: 45ms</span>
</div>
<div class="mb-3">
<small class="text-muted d-block">10:42:08 AM</small>
<span class="text-light"><i class="bi bi-eye-slash me-1"></i> Steganography Module Loaded</span>
</div>
</div>
<div class="mt-4 pt-4 border-top border-secondary">
<small class="text-muted text-uppercase">Current Session</small>
<div class="d-flex align-items-center mt-2">
<img src="{{ current_user.profile_image }}" class="rounded-circle me-3 border border-secondary" width="40" height="40">
<div>
<div class="text-white small fw-bold">{{ current_user.email }}</div>
<div class="text-success x-small" style="font-size: 0.75rem;">● Active</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block scripts %}
<script src="{{ url_for('static', filename='js/watchtower.js') }}"></script>
{% endblock %}