mirror of
https://github.com/smittix/intercept.git
synced 2026-04-30 09:39:58 -07:00
Add animated SVG globe with rotating meridians as a subtle background element on the welcome overlay and login pages. Also removes unused signal-cards-mockup.html. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
90 lines
5.2 KiB
HTML
90 lines
5.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>iNTERCEPT // Restricted Access</title>
|
|
<script src="{{ url_for('static', filename='js/core/login.js') }}"></script>
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/index.css') }}" />
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/login.css') }}" />
|
|
</head>
|
|
<body>
|
|
<div class="landing-overlay">
|
|
<!-- Spinning Globe Background -->
|
|
<div class="globe-background">
|
|
<svg class="globe-svg" viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg">
|
|
<!-- Outer circle -->
|
|
<circle cx="200" cy="200" r="180" fill="none" stroke="currentColor" stroke-width="0.5"/>
|
|
<!-- Equator -->
|
|
<ellipse cx="200" cy="200" rx="180" ry="40" fill="none" stroke="currentColor" stroke-width="0.5"/>
|
|
<!-- Latitude lines -->
|
|
<ellipse cx="200" cy="140" rx="145" ry="30" fill="none" stroke="currentColor" stroke-width="0.3"/>
|
|
<ellipse cx="200" cy="260" rx="145" ry="30" fill="none" stroke="currentColor" stroke-width="0.3"/>
|
|
<ellipse cx="200" cy="90" rx="85" ry="15" fill="none" stroke="currentColor" stroke-width="0.3"/>
|
|
<ellipse cx="200" cy="310" rx="85" ry="15" fill="none" stroke="currentColor" stroke-width="0.3"/>
|
|
<!-- Prime meridian -->
|
|
<ellipse cx="200" cy="200" rx="40" ry="180" fill="none" stroke="currentColor" stroke-width="0.5" class="meridian meridian-1"/>
|
|
<!-- Additional meridians -->
|
|
<ellipse cx="200" cy="200" rx="100" ry="180" fill="none" stroke="currentColor" stroke-width="0.3" class="meridian meridian-2"/>
|
|
<ellipse cx="200" cy="200" rx="150" ry="180" fill="none" stroke="currentColor" stroke-width="0.3" class="meridian meridian-3"/>
|
|
<!-- Rotating meridian group -->
|
|
<g class="rotating-meridians">
|
|
<ellipse cx="200" cy="200" rx="70" ry="180" fill="none" stroke="currentColor" stroke-width="0.3"/>
|
|
<ellipse cx="200" cy="200" rx="130" ry="180" fill="none" stroke="currentColor" stroke-width="0.3"/>
|
|
<ellipse cx="200" cy="200" rx="170" ry="180" fill="none" stroke="currentColor" stroke-width="0.2"/>
|
|
</g>
|
|
</svg>
|
|
</div>
|
|
<div class="landing-scanline"></div>
|
|
|
|
<div class="landing-content">
|
|
<div class="landing-logo">
|
|
<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path d="M15 30 Q5 50, 15 70" stroke="#00d4ff" stroke-width="3" fill="none" stroke-linecap="round" opacity="0.5" class="signal-wave signal-wave-1"/>
|
|
<path d="M22 35 Q14 50, 22 65" stroke="#00d4ff" stroke-width="2.5" fill="none" stroke-linecap="round" opacity="0.7" class="signal-wave signal-wave-2"/>
|
|
<path d="M29 40 Q23 50, 29 60" stroke="#00d4ff" stroke-width="2" fill="none" stroke-linecap="round" class="signal-wave signal-wave-3"/>
|
|
<path d="M85 30 Q95 50, 85 70" stroke="#00d4ff" stroke-width="3" fill="none" stroke-linecap="round" opacity="0.5" class="signal-wave signal-wave-1"/>
|
|
<path d="M78 35 Q86 50, 78 65" stroke="#00d4ff" stroke-width="2.5" fill="none" stroke-linecap="round" opacity="0.7" class="signal-wave signal-wave-2"/>
|
|
<path d="M71 40 Q77 50, 71 60" stroke="#00d4ff" stroke-width="2" fill="none" stroke-linecap="round" class="signal-wave signal-wave-3"/>
|
|
<circle cx="50" cy="22" r="6" fill="#00ff88" class="logo-dot" />
|
|
<rect x="44" y="35" width="12" height="45" rx="2" fill="#00d4ff" />
|
|
<rect x="38" y="35" width="24" height="4" rx="1" fill="#00d4ff" />
|
|
<rect x="38" y="76" width="24" height="4" rx="1" fill="#00d4ff" />
|
|
</svg>
|
|
</div>
|
|
|
|
<h1 class="landing-title">SECURE LOGIN</h1>
|
|
<p class="landing-tagline">// Restricted Terminal Access</p>
|
|
|
|
<div class="login-box">
|
|
<div class="flash-container">
|
|
{% with messages = get_flashed_messages(with_categories=true) %}
|
|
{% if messages %}
|
|
{% for category, message in messages %}
|
|
<div class="flash-error">
|
|
<span class="error-prefix">SIGNAL_ERR:</span>
|
|
<span class="error-message">{{ message|upper }}</span>
|
|
</div>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endwith %}
|
|
</div>
|
|
|
|
<form method="POST">
|
|
<input type="text" name="username" placeholder="OPERATOR ID" class="form-input" required autofocus autocomplete="off" />
|
|
<input type="password" name="password" placeholder="ENCRYPTION KEY" class="form-input" required />
|
|
|
|
<button type="submit" class="landing-enter-btn" onclick="login(event)">
|
|
<span class="btn-text">INITIALIZE SESSION</span>
|
|
</button>
|
|
</form>
|
|
</div>
|
|
|
|
<p class="landing-version">SYSTEM AUTH v{{ version }}</p>
|
|
<p class="landing-tagline" style="font-size: 0.6rem; opacity: 0.4; margin-top: 10px;">
|
|
Unauthorized access is logged. IP: {{ request.remote_addr }}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html> |