| | <!DOCTYPE html> |
| | <html> |
| | <head> |
| | <title>EE Server</title> |
| | <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"> |
| | <style> |
| | body { background: #f8f9fa; } |
| | .card { border: none; border-radius: 12px; box-shadow: 0 2px 12px rgba(0,0,0,0.08); } |
| | .status-dot { width: 12px; height: 12px; border-radius: 50%; display: inline-block; margin-right: 8px; } |
| | .dot-green { background: #28a745; box-shadow: 0 0 6px #28a745; animation: pulse 2s infinite; } |
| | .dot-gray { background: #adb5bd; } |
| | @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.5} } |
| | </style> |
| | </head> |
| | <body class="container mt-5" style="max-width:600px"> |
| |
|
| | <div class="text-center mb-4"> |
| | <h2 class="fw-bold">Equivariant Encryption Server</h2> |
| | <p class="text-muted">Secure inference endpoint</p> |
| | </div> |
| |
|
| | |
| | <div class="card p-4 mb-4"> |
| | {% if server_ready %} |
| | <div class="d-flex align-items-center mb-3"> |
| | <span class="status-dot dot-green"></span> |
| | <strong class="text-success fs-5">Server Running</strong> |
| | </div> |
| | <p class="mb-1 text-muted">Model loaded:</p> |
| | <p class="fw-semibold mb-3">{{ model_name }}</p> |
| | <p class="mb-1 text-muted">Inference endpoint:</p> |
| | <a href="{{ space_url }}/generate" target="_blank" class="btn btn-outline-primary btn-sm"> |
| | 🔗 {{ space_url }}/generate |
| | </a> |
| | {% else %} |
| | <div class="d-flex align-items-center mb-3"> |
| | <span class="status-dot dot-gray"></span> |
| | <strong class="text-secondary fs-5">Server Not Started</strong> |
| | </div> |
| |
|
| | <form method="POST"> |
| | <input type="hidden" name="action" value="start_server"> |
| | <div class="mb-3"> |
| | <label class="form-label fw-semibold">EE Model from Hub</label> |
| | <input class="form-control" name="ee_model_name" placeholder="org/model-name" required> |
| | </div> |
| | <div class="mb-3"> |
| | <label class="form-label fw-semibold">HF Token</label> |
| | <input type="password" class="form-control" name="hf_token" placeholder="hf_..." required> |
| | </div> |
| | <button class="btn btn-success w-100">▶ Load & Start Server</button> |
| | </form> |
| | {% endif %} |
| | </div> |
| |
|
| | |
| | {% with messages = get_flashed_messages(with_categories=true) %} |
| | {% if messages %} |
| | {% for category, msg in messages %} |
| | <div class="alert alert-{{ category }} rounded-3">{{ msg }}</div> |
| | {% endfor %} |
| | {% endif %} |
| | {% endwith %} |
| |
|
| | </body> |
| | </html> |