Spaces:
Runtime error
Runtime error
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>{% block title %}Outline VPN{% endblock %}</title> | |
| <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> | |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css"> | |
| <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet"> | |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.css"> | |
| <link rel="stylesheet" href="{{ static_url('css/style.css') }}"> | |
| {% block extra_css %}{% endblock %} | |
| <style> | |
| body { | |
| font-family: 'Inter', sans-serif; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <nav class="navbar navbar-expand-lg navbar-dark bg-dark"> | |
| <div class="container"> | |
| <a class="navbar-brand" href="/">Outline VPN</a> | |
| <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"> | |
| <span class="navbar-toggler-icon"></span> | |
| </button> | |
| <div class="collapse navbar-collapse" id="navbarNav"> | |
| <ul class="navbar-nav ms-auto"> | |
| <div class="auth-logged-in" style="display: none;"> | |
| <li class="nav-item"> | |
| <a class="nav-link" href="/dashboard">Dashboard</a> | |
| </li> | |
| <li class="nav-item"> | |
| <a class="nav-link user-profile" href="/profile"></a> | |
| </li> | |
| <li class="nav-item"> | |
| <a class="nav-link" href="/logout">Logout</a> | |
| </li> | |
| </div> | |
| <div class="auth-logged-out"> | |
| <li class="nav-item"> | |
| <a class="nav-link" href="/login">Login</a> | |
| </li> | |
| <li class="nav-item"> | |
| <a class="nav-link" href="/signup">Sign Up</a> | |
| </li> | |
| </div> | |
| </ul> | |
| </div> | |
| </div> | |
| </nav> | |
| <main class="container mt-4"> | |
| {% if messages %} | |
| {% for message in messages %} | |
| <div class="alert alert-info alert-dismissible fade show" role="alert"> | |
| {{ message }} | |
| <button type="button" class="btn-close" data-bs-dismiss="alert"></button> | |
| </div> | |
| {% endfor %} | |
| {% endif %} | |
| {% block content %}{% endblock %} | |
| </main> | |
| <footer class="footer mt-5 py-3 bg-light"> | |
| <div class="container text-center"> | |
| <span class="text-muted">© 2025 Outline VPN. All rights reserved.</span> | |
| </div> | |
| </footer> | |
| <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> | |
| <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script> | |
| <script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.js"></script> | |
| <script src="{{ static_url('js/main.js') }}"></script> | |
| <script src="{{ static_url('js/auth.js') }}"></script> | |
| <script> | |
| AOS.init({ | |
| duration: 800, | |
| easing: 'ease-in-out', | |
| once: true | |
| }); | |
| </script> | |
| {% block extra_js %}{% endblock %} | |
| </body> | |
| </html> | |