125 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html lang="pl" class="{% if session.dark_mode %}dark-mode{% endif %}">
 | |
| <head>
 | |
|   <meta charset="UTF-8" />
 | |
|   <title>Backup RouterOS App</title>
 | |
|   <!-- Bootstrap CSS -->
 | |
|   <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css">
 | |
| 
 | |
|   <style>
 | |
|     .dark-mode body {
 | |
|       background-color: #222;
 | |
|       color: #ffffff;
 | |
|     }
 | |
|     .dark-mode a, .dark-mode a:hover {
 | |
|       color: #ddd;
 | |
|     }
 | |
|     .dark-mode .navbar, .dark-mode .table {
 | |
|       background-color: #333 !important;
 | |
|       color: #fff;
 | |
|     }
 | |
|     .diff-add { color: green; }
 | |
|     .diff-rem { color: red; }
 | |
|   </style>
 | |
| 
 | |
|     <!-- Blok head umożliwiający dołączenie dodatkowych stylów -->
 | |
|     {% block head %}{% endblock %}
 | |
| </head>
 | |
| <body>
 | |
|   <nav class="navbar navbar-expand navbar-dark bg-dark mb-4">
 | |
|     <div class="container-fluid">
 | |
|       <a href="{{ url_for('index') }}" class="navbar-brand">Backup RouterOS</a>
 | |
|       <div>
 | |
|         {% if session.user_id %}
 | |
|           <a href="{{ url_for('dashboard') }}" class="btn btn-secondary me-2">Dashboard</a>
 | |
|           <a href="{{ url_for('routers_list') }}" class="btn btn-secondary me-2">Urządzenia</a>
 | |
|           <a href="{{ url_for('diff_selector') }}" class="btn btn-secondary me-2">Diff selector</a>
 | |
|           <a href="{{ url_for('all_files') }}" class="btn btn-secondary me-2">Wszystkie pliki</a>
 | |
|           <a href="{{ url_for('logs_page') }}" class="btn btn-secondary me-2">Logi</a>
 | |
| 
 | |
|           <a href="{{ url_for('settings_view') }}" class="btn btn-secondary me-2">Ustawienia</a>
 | |
|           <a href="{{ url_for('advanced_schedule') }}" class="btn btn-secondary me-2">Harmonogram</a> 
 | |
| 
 | |
|           <a href="{{ url_for('change_password') }}" class="btn btn-secondary me-2">Zmiana hasła</a>
 | |
|           <a href="{{ url_for('logout') }}" class="btn btn-secondary me-2">Wyloguj</a>
 | |
|         {% else %}
 | |
|           <a href="{{ url_for('login') }}" class="btn btn-secondary me-2">Zaloguj</a>
 | |
|           <a href="{{ url_for('register') }}" class="btn btn-secondary me-2">Utwórz konto</a>
 | |
|         {% endif %}
 | |
|          <!--<a href="{{ url_for('toggle_dark_mode') }}" class="btn btn-warning">Toggle Dark Mode</a>-->
 | |
|       </div>
 | |
|     </div>
 | |
|   </nav>
 | |
|   <div class="container">
 | |
|     {% with messages = get_flashed_messages() %}
 | |
|       {% if messages %}
 | |
|         <div class="alert alert-info">
 | |
|           {% for msg in messages %}
 | |
|             <div>{{ msg }}</div>
 | |
|           {% endfor %}
 | |
|         </div>
 | |
|       {% endif %}
 | |
|     {% endwith %}
 | |
| 
 | |
|     {% block content %}{% endblock %}
 | |
|   </div>
 | |
| 
 | |
| 
 | |
|   <!-- Modal Test Połączenia -->
 | |
| <div class="modal fade" id="testConnectionModal" tabindex="-1" aria-labelledby="testConnectionModalLabel" aria-hidden="true">
 | |
|   <div class="modal-dialog modal-lg">
 | |
|     <div class="modal-content">
 | |
|       <div class="modal-header">
 | |
|         <h5 class="modal-title" id="testConnectionModalLabel">Test Połączenia</h5>
 | |
|         <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Zamknij"></button>
 | |
|       </div>
 | |
|       <div class="modal-body" id="testConnectionModalBody">
 | |
|         <!-- Zawartość zostanie załadowana przez AJAX -->
 | |
|       </div>
 | |
|     </div>
 | |
|   </div>
 | |
| </div>
 | |
| 
 | |
| 
 | |
|   <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
 | |
|   <script>
 | |
|     function ajaxExport(router_id) {
 | |
|       fetch("/router/" + router_id + "/export", {
 | |
|         method: "POST",
 | |
|         headers: {"X-Requested-With": "XMLHttpRequest"}
 | |
|       })
 | |
|       .then(response => response.json())
 | |
|       .then(data => {
 | |
|         if(data.status === "success"){
 | |
|           alert("Eksport wykonany: " + data.message);
 | |
|           // Możesz też zaktualizować część strony dynamicznie
 | |
|         } else {
 | |
|           alert("Błąd eksportu: " + data.message);
 | |
|         }
 | |
|       })
 | |
|       .catch(error => {
 | |
|         console.error("Błąd AJAX:", error);
 | |
|         alert("Wystąpił błąd.");
 | |
|       });
 | |
|     }
 | |
|     </script>
 | |
|     <script>
 | |
|       function openTestConnectionModal(routerId) {
 | |
|         fetch('/router/' + routerId + '/test_connection?modal=1')
 | |
|           .then(response => response.text())
 | |
|           .then(html => {
 | |
|             document.getElementById('testConnectionModalBody').innerHTML = html;
 | |
|             var myModal = new bootstrap.Modal(document.getElementById('testConnectionModal'));
 | |
|             myModal.show();
 | |
|           })
 | |
|           .catch(error => {
 | |
|             console.error("Błąd ładowania modalu: ", error);
 | |
|             alert("Wystąpił błąd podczas ładowania danych.");
 | |
|           });
 | |
|       }
 | |
|       </script>
 | |
|   <!-- Blok scripts umożliwiający dołączenie dodatkowych skryptów -->
 | |
|   {% block scripts %}{% endblock %}
 | |
| </body>
 | |
| </html>
 | 
