Spaces:
Sleeping
Sleeping
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Document AI</title> | |
| <!-- Google Fonts --> | |
| <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> | |
| <!-- Bootstrap CSS --> | |
| <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"> | |
| <!-- Bootstrap Icons --> | |
| <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css" rel="stylesheet"> | |
| <style> | |
| :root { | |
| --bg-main: #0f172a; | |
| --bg-card: #1e293b; | |
| --text-main: #f8fafc; | |
| --text-muted: #94a3b8; | |
| --accent-primary: #3b82f6; | |
| --accent-hover: #2563eb; | |
| --accent-gradient: linear-gradient(135deg, #3b82f6, #8b5cf6); | |
| --border-color: #334155; | |
| } | |
| body { | |
| background-color: var(--bg-main); | |
| color: var(--text-main); | |
| font-family: 'Inter', sans-serif; | |
| min-height: 100vh; | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| /* Custom Scrollbar */ | |
| ::-webkit-scrollbar { | |
| width: 8px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: var(--bg-main); | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: var(--border-color); | |
| border-radius: 4px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: var(--text-muted); | |
| } | |
| /* Navbar */ | |
| .navbar { | |
| background-color: rgba(30, 41, 59, 0.8) ; | |
| backdrop-filter: blur(10px); | |
| border-bottom: 1px solid var(--border-color); | |
| padding: 1rem 0; | |
| } | |
| .navbar-brand { | |
| font-weight: 700; | |
| color: var(--text-main) ; | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| font-size: 1.4rem; | |
| } | |
| .navbar-brand i { | |
| background: var(--accent-gradient); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| } | |
| .navbar-nav .nav-link { | |
| color: var(--text-muted) ; | |
| font-weight: 500; | |
| padding: 0.5rem 1rem; | |
| border-radius: 6px; | |
| transition: all 0.2s ease; | |
| } | |
| .navbar-nav .nav-link:hover { | |
| color: var(--text-main) ; | |
| background-color: rgba(255, 255, 255, 0.05); | |
| } | |
| /* Main Container */ | |
| .container.main-content { | |
| margin-top: 40px; | |
| flex: 1; | |
| } | |
| /* Cards */ | |
| .card { | |
| background-color: var(--bg-card); | |
| border: 1px solid var(--border-color); | |
| border-radius: 12px; | |
| box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); | |
| transition: transform 0.3s ease, box-shadow 0.3s ease; | |
| } | |
| .card-title { | |
| color: var(--text-main); | |
| font-weight: 600; | |
| } | |
| .card-header { | |
| background-color: rgba(0,0,0,0.1); | |
| border-bottom: 1px solid var(--border-color); | |
| border-top-left-radius: 12px ; | |
| border-top-right-radius: 12px ; | |
| padding: 1.25rem; | |
| } | |
| /* Inputs & Forms */ | |
| .form-control { | |
| background-color: rgba(15, 23, 42, 0.5); | |
| border: 1px solid var(--border-color); | |
| color: var(--text-main); | |
| border-radius: 8px; | |
| padding: 0.75rem 1rem; | |
| } | |
| .form-control:focus { | |
| background-color: rgba(15, 23, 42, 0.8); | |
| border-color: var(--accent-primary); | |
| color: var(--text-main); | |
| box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.25); | |
| } | |
| .form-control::placeholder { | |
| color: var(--text-muted); | |
| } | |
| /* Buttons */ | |
| .btn-primary { | |
| background: var(--accent-gradient); | |
| border: none; | |
| font-weight: 500; | |
| padding: 0.6rem 1.5rem; | |
| border-radius: 8px; | |
| transition: opacity 0.2s ease, transform 0.2s ease; | |
| } | |
| .btn-primary:hover { | |
| background: var(--accent-gradient); | |
| opacity: 0.9; | |
| transform: translateY(-1px); | |
| } | |
| /* Footer */ | |
| footer { | |
| margin-top: auto; | |
| padding: 2rem 0; | |
| text-align: center; | |
| color: var(--text-muted); | |
| border-top: 1px solid var(--border-color); | |
| background-color: var(--bg-card); | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <!-- Navigation Bar --> | |
| <nav class="navbar navbar-expand-lg sticky-top"> | |
| <div class="container-fluid px-4"> | |
| <a class="navbar-brand" href="/"> | |
| <i class="bi bi-robot"></i> Document AI | |
| </a> | |
| <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" | |
| aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> | |
| <i class="bi bi-list text-white fs-2"></i> | |
| </button> | |
| <div class="collapse navbar-collapse" id="navbarNav"> | |
| <ul class="navbar-nav ms-auto"> | |
| <li class="nav-item"> | |
| <a class="nav-link" href="/"><i class="bi bi-house-door me-1"></i> Home</a> | |
| </li> | |
| <li class="nav-item"> | |
| <a class="nav-link" href="/create-db"><i class="bi bi-database-add me-1"></i> Create DB</a> | |
| </li> | |
| <li class="nav-item"> | |
| <a class="nav-link" href="/list-dbs"><i class="bi bi-server me-1"></i> List DBs</a> | |
| </li> | |
| <li class="nav-item"> | |
| <a class="nav-link" href="/chat"><i class="bi bi-chat-left-dots me-1"></i> Chat</a> | |
| </li> | |
| </ul> | |
| </div> | |
| </div> | |
| </nav> | |
| <!-- Main Content --> | |
| <div class="container main-content mb-5"> | |
| {% block content %} | |
| <!-- Page-specific content will go here --> | |
| {% endblock %} | |
| </div> | |
| <!-- Footer --> | |
| <footer> | |
| <div class="container"> | |
| <p class="mb-0">© 2024 Document AI. All rights reserved.</p> | |
| </div> | |
| </footer> | |
| <!-- Bootstrap JS --> | |
| <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"></script> | |
| </body> | |
| </html> |