| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>ArduPilot Overlay Manager</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.10.5/font/bootstrap-icons.css">
- <style>
- .btn-custom { background-color: #0B61A4; color: white; transition: all 0.2s; }
- .btn-custom:hover { background-color: #084b82; color: white; transform: translateY(-1px); }
- </style>
- </head>
- <body class="bg-light">
- <nav class="navbar navbar-dark shadow-sm py-2" style="background-color: #0B61A4;">
- <div class="container d-flex align-items-center">
- <img src="/patch-manager/static/logo.png" alt="ArduPilot Logo" height="35" class="d-inline-block align-text-top me-3">
- <span class="navbar-brand mb-0 h4 fw-bold">Overlay Manager</span>
- </div>
- </nav>
- <div class="container mt-4">
- <div class="card shadow border-0 rounded-3 mb-4">
- <div class="card-body p-4">
- <h5 class="card-title fw-bold text-secondary mb-3"><i class="bi bi-cloud-arrow-up-fill me-2 text-primary"></i>Inject Custom Source</h5>
-
- <form action="/patch-manager/upload" method="post" enctype="multipart/form-data" class="row g-3">
- <div class="col-md-5"><input class="form-control border-primary" type="file" name="file" required></div>
- <div class="col-md-5"><input type="text" class="form-control border-primary" name="target_path" placeholder="Path (e.g., libraries/AP_HAL)"></div>
- <div class="col-md-2"><button type="submit" class="btn btn-custom w-100 fw-bold">Upload</button></div>
- </form>
- </div>
- </div>
- <div class="card shadow border-0 rounded-3">
- <div class="card-body p-0">
- <table class="table table-hover align-middle mb-0">
- <thead class="table-light"><tr><th class="ps-4 py-3">Source Path</th><th class="text-end pe-4 py-3">Actions</th></tr></thead>
- <tbody>
- {% for file in files %}
- <tr>
- <td class="ps-4 font-monospace">{{ file }}</td>
- <td class="text-end pe-4">
- <a href="/patch-manager/edit?filepath={{ file }}" class="btn btn-sm btn-outline-primary me-2"><i class="bi bi-pencil"></i> Edit</a>
- <form action="/patch-manager/delete" method="post" class="d-inline" onsubmit="return confirm('Delete this file?');">
- <input type="hidden" name="filepath" value="{{ file }}">
- <button type="submit" class="btn btn-sm btn-outline-danger"><i class="bi bi-trash"></i> Delete</button>
- </form>
- </td>
- </tr>
- {% endfor %}
- </tbody>
- </table>
- </div>
- </div>
- </div>
- </body>
- </html>
|