| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>{% block title %}Seamo Species API{% endblock %}</title> |
| |
| |
| <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&display=swap" rel="stylesheet"> |
| |
| |
| <style> |
| * { margin: 0; padding: 0; box-sizing: border-box; } |
| body { |
| font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; |
| background: #f9fafb; |
| color: #111827; |
| line-height: 1.5; |
| } |
| .container { max-width: 1200px; margin: 0 auto; padding: 0 1rem; } |
| .dashboard-grid { |
| display: grid; |
| grid-template-columns: 1fr 1fr 1fr; |
| gap: 2rem; |
| margin: 2rem 0; |
| } |
| @media (max-width: 1024px) { |
| .dashboard-grid { grid-template-columns: 1fr; } |
| } |
| </style> |
|
|
| |
| <link rel="stylesheet" href="/static/css/main.css"> |
|
|
| {% block extra_css %}{% endblock %} |
| </head> |
| <body> |
| |
| <header class="header"> |
| <div class="container"> |
| <div class="nav-brand"> |
| <span class="nav-title">Seamo Species API</span> |
| </div> |
| |
| <nav class="nav-tabs"> |
| <a href="/" class="nav-tab {% if active_tab == 'dashboard' %}active{% endif %}"> |
| Dashboard |
| </a> |
| <a href="/docs" class="nav-tab {% if active_tab == 'docs' %}active{% endif %}"> |
| API Docs |
| </a> |
| <a href="/api/v1/info" class="nav-tab" target="_blank"> |
| API Info |
| </a> |
| </nav> |
| </div> |
| </header> |
|
|
| |
| <main class="main"> |
| <div class="container"> |
| {% block content %}{% endblock %} |
| </div> |
| </main> |
|
|
| |
| <footer class="footer"> |
| <div class="container"> |
| <p>© 2025 Seamo Species API. Powered by YOLOv5.</p> |
| </div> |
| </footer> |
|
|
| |
| <script src="/static/js/main.js"></script> |
| {% block extra_js %}{% endblock %} |
| </body> |
| </html> |
|
|