Spaces:
Sleeping
Sleeping
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1" /> | |
| <title>{% block title %}AI Medical Intelligence Pipeline{% endblock %}</title> | |
| <!-- Favicon --> | |
| <link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='favicon.ico') }}" /> | |
| <link rel="icon" type="image/png" sizes="32x32" href="{{ url_for('static', filename='favicon-192.png') }}" /> | |
| <link rel="apple-touch-icon" sizes="180x180" href="{{ url_for('static', filename='apple-touch-icon.png') }}" /> | |
| <link rel="preconnect" href="https://fonts.googleapis.com" /> | |
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> | |
| <link | |
| href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" | |
| rel="stylesheet" | |
| /> | |
| <link rel="stylesheet" href="{{ url_for('static', filename='css/base.css') }}" /> | |
| <link rel="stylesheet" href="{{ url_for('static', filename='css/components.css') }}" /> | |
| <link rel="stylesheet" href="{{ url_for('static', filename='css/pages.css') }}" /> | |
| <link rel="stylesheet" href="{{ url_for('static', filename='css/auth.css') }}" /> | |
| <link rel="stylesheet" href="{{ url_for('static', filename='css/responsive.css') }}" /> | |
| {% block head %}{% endblock %} | |
| </head> | |
| <body> | |
| <!-- ββ Top navigation βββββββββββββββββββββββββββββββββββββββββββββββ --> | |
| <header class="topbar"> | |
| <div class="topbar-inner"> | |
| <a class="brand" href="{{ url_for('home') }}"> | |
| <span class="brand-icon"> | |
| <svg | |
| width="22" | |
| height="22" | |
| viewBox="0 0 24 24" | |
| fill="none" | |
| stroke="currentColor" | |
| stroke-width="2" | |
| stroke-linecap="round" | |
| stroke-linejoin="round" | |
| > | |
| <path d="M22 12h-4l-3 9L9 3l-3 9H2" /> | |
| </svg> | |
| </span> | |
| <span>AI Medical Intelligence Pipeline</span> | |
| </a> | |
| <nav class="nav-links"> | |
| {% if current_user.is_authenticated %} | |
| <a href="{{ url_for('home') }}" | |
| class="{% if request.endpoint == 'home' %}active{% endif %}">Home</a> | |
| <a href="{{ url_for('upload') }}" | |
| class="{% if request.endpoint == 'upload' %}active{% endif %}">New Scan</a> | |
| <a href="{{ url_for('reports') }}" | |
| class="{% if request.endpoint == 'reports' %}active{% endif %}">Past Reports</a> | |
| {% if show_logs %} | |
| <a href="{{ url_for('logs_page') }}" | |
| class="{% if request.endpoint == 'logs_page' %}active{% endif %}">Logs</a> | |
| {% endif %} | |
| <a href="{{ url_for('evaluation') }}" | |
| class="{% if request.endpoint == 'evaluation' %}active{% endif %}">Evaluation</a> | |
| <a href="{{ url_for('about') }}" | |
| class="{% if request.endpoint == 'about' %}active{% endif %}">About</a> | |
| {% endif %} | |
| </nav> | |
| {% if current_user.is_authenticated %} | |
| <div class="user-menu"> | |
| <button class="user-button" type="button" data-user-menu-toggle="true" title="User menu"> | |
| <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> | |
| <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path> | |
| <circle cx="12" cy="7" r="4"></circle> | |
| </svg> | |
| <span>{{ current_user.username }}</span> | |
| </button> | |
| <div id="userMenuDropdown" class="user-menu-dropdown"> | |
| <a href="{{ url_for('auth.profile') }}" class="menu-item">Profile</a> | |
| <hr> | |
| <form method="POST" action="{{ url_for('auth.logout') }}" class="logout-form"> | |
| <button type="submit" class="menu-item logout-btn">Logout</button> | |
| </form> | |
| </div> | |
| </div> | |
| {% else %} | |
| <div class="auth-buttons"> | |
| <a href="{{ url_for('auth.login') }}" class="btn btn-sm btn-outline">Login</a> | |
| <a href="{{ url_for('auth.register') }}" class="btn btn-sm btn-primary">Register</a> | |
| </div> | |
| {% endif %} | |
| </div> | |
| </header> | |
| <!-- ββ Main content ββββββββββββββββββββββββββββββββββββββββββββββββββ --> | |
| <main class="container page">{% block content %}{% endblock %}</main> | |
| <!-- ββ Footer ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ --> | |
| <footer class="footer"> | |
| <div class="container footer-inner"> | |
| <p> | |
| AI Medical Intelligence Pipeline for CT Scan Analysis — | |
| Screening Tool, Not a Diagnostic Device | |
| </p> | |
| <p class="muted small"> | |
| All findings must be reviewed by a qualified medical professional. | |
| </p> | |
| </div> | |
| </footer> | |
| {% block scripts %}{% endblock %} | |
| <script src="{{ url_for('static', filename='js/layout.js') }}" defer></script> | |
| </body> | |
| </html> | |