base.html 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <!DOCTYPE html>
  2. <html lang="fr" class="h-full bg-gray-50">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>{% block title %}Backup Manager{% endblock %} — {{ instance_name }}</title>
  7. <script src="https://cdn.tailwindcss.com"></script>
  8. </head>
  9. <body class="h-full flex flex-col">
  10. <nav class="bg-gray-900 text-white shadow-lg">
  11. <div class="max-w-7xl mx-auto px-6 py-3 flex items-center justify-between">
  12. <div class="flex items-center gap-3">
  13. <svg class="w-6 h-6 text-blue-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
  14. <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
  15. d="M5 12h14M5 12l4-4m-4 4l4 4M19 12l-4-4m4 4l-4 4"/>
  16. </svg>
  17. <a href="{{ url_for('jobs.index') }}" class="text-lg font-bold tracking-tight">Backup Manager</a>
  18. <span class="bg-blue-600 text-xs font-medium px-2 py-0.5 rounded">{{ instance_name }}</span>
  19. </div>
  20. <div class="flex items-center gap-4 text-sm">
  21. <a href="{{ url_for('jobs.index') }}" class="text-gray-300 hover:text-white transition">Dashboard</a>
  22. <a href="{{ url_for('network.dashboard_network') }}" class="text-gray-300 hover:text-white transition">Réseau</a>
  23. <a href="{{ url_for('network.remote_instances_list') }}" class="text-gray-300 hover:text-white transition">Instances</a>
  24. <a href="{{ url_for('dest.destinations_list') }}" class="text-gray-300 hover:text-white transition">Destinations</a>
  25. <a href="{{ url_for('cfg.settings') }}" class="text-gray-300 hover:text-white transition">Paramètres</a>
  26. <a href="{{ url_for('jobs.job_new') }}"
  27. class="bg-blue-600 hover:bg-blue-700 text-white px-3 py-1.5 rounded font-medium transition">
  28. + Nouveau job
  29. </a>
  30. </div>
  31. </div>
  32. </nav>
  33. <main class="flex-1 max-w-7xl mx-auto w-full px-6 py-8">
  34. {% with messages = get_flashed_messages(with_categories=true) %}
  35. {% if messages %}
  36. <div class="mb-6 space-y-2">
  37. {% for category, message in messages %}
  38. <div class="px-4 py-3 rounded-lg text-sm font-medium
  39. {% if category == 'error' %}bg-red-50 text-red-800 border border-red-200
  40. {% elif category == 'info' %}bg-blue-50 text-blue-800 border border-blue-200
  41. {% else %}bg-green-50 text-green-800 border border-green-200{% endif %}">
  42. {{ message }}
  43. </div>
  44. {% endfor %}
  45. </div>
  46. {% endif %}
  47. {% endwith %}
  48. {% block content %}{% endblock %}
  49. </main>
  50. <footer class="text-center text-xs text-gray-400 py-4">
  51. Backup Manager — instance <strong>{{ instance_name }}</strong>
  52. </footer>
  53. </body>
  54. </html>