diff --git a/templates/base.html b/templates/base.html index b9c0e47..fc69dbe 100644 --- a/templates/base.html +++ b/templates/base.html @@ -2,11 +2,16 @@ <html lang="pl" class="{% if session.get('dark_mode', True) %}dark-mode{% endif %}"> <head> <meta charset="UTF-8" /> - <title>Backup RouterOS App</title> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <title>Backup RouterOS</title> <!-- Bootstrap CSS --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> - + <style> + /* Poprawa kontrastu dla form-text w trybie ciemnym */ + .dark-mode .form-text { + color: #ccc !important; + } /* Ogólne style trybu ciemnego */ .dark-mode body { background-color: #121212; @@ -30,6 +35,13 @@ .dark-mode .navbar-nav .nav-link:hover { color: #fff !important; } + /* Nowa reguła dla elementów dropdown po najechaniu */ + .dark-mode .dropdown-item:hover, + .dark-mode .dropdown-item:focus, + .dark-mode .dropdown-item.active { + background-color: #444 !important; + color: #fff !important; + } /* Tabele */ .dark-mode .table { @@ -50,7 +62,6 @@ color: #fff !important; border: 1px solid #555 !important; } - html.dark-mode table.table tbody td { background-color: #333 !important; color: #ddd !important; @@ -91,6 +102,10 @@ background-color: #1e1e1e !important; color: #fff !important; } + footer { + background-color: #f8f9fa; + color: #212529; + } /* Alerty – pozostają bez zmian */ .diff-add { color: green; } @@ -129,7 +144,7 @@ /* Niestandardowy styl dla trybu jasnego – ciemniejsze, szare menu */ .navbar-light.bg-custom-light { - background-color: #dcdcdc !important; /* Gainsboro – nieco ciemniejszy szary odcień */ + background-color: #dcdcdc !important; } .dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button { @@ -137,95 +152,123 @@ color: #fff !important; border: 1px solid #555 !important; } - .dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button.current, .dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button:hover { background-color: #444 !important; color: #fff !important; } - - - /* paginacja */ html.dark-mode .dataTables_wrapper .pagination .page-link { background-color: #333 !important; color: #fff !important; border: 1px solid #555 !important; } - html.dark-mode .dataTables_wrapper .pagination .page-item.active .page-link, html.dark-mode .dataTables_wrapper .pagination .page-link:hover { background-color: #444 !important; color: #fff !important; } - html.dark-mode .dataTables_wrapper .dataTables_info, html.dark-mode .dataTables_wrapper .dataTables_length, html.dark-mode .dataTables_wrapper .dataTables_filter { color: #fff !important; } - - /* pola w formularzach */ .dark-mode input:focus, .dark-mode textarea:focus, - dark-mode select:focus { + .dark-mode select:focus { background-color: #333 !important; color: #fff !important; border-color: #555 !important; box-shadow: none !important; } - - .dark-mode .btn-secondary:hover { background-color: #555 !important; border-color: #888888 !important; color: #fff !important; } - .dark-mode .btn-warning:hover { background-color: #e6aa00 !important; border-color: #c98f00 !important; color: #fff !important; } - .dark-mode .btn-outline-dark:hover { background-color: #444 !important; border-color: #888888 !important; color: #fff !important; } + .btn-logout { + color: #fff; + } + </style> -</style> - - <!-- Blok head umożliwiający dołączenie dodatkowych stylów --> {% block head %}{% endblock %} </head> <body> - <nav class="navbar navbar-expand {% if session.get('dark_mode', True) %}navbar-dark bg-dark{% else %}navbar-light bg-custom-light{% endif %} mb-4"> + <nav class="navbar navbar-expand-lg {% if session.get('dark_mode', True) %}navbar-dark bg-dark{% else %}navbar-light bg-custom-light{% endif %} mb-4"> <div class="container-fluid"> - <a href="{{ url_for('index') }}" class="navbar-brand">RouterOS Backup</a> - <!-- Przełącznik trybu ciemnego umieszczony przed menu --> - <form action="{{ url_for('toggle_dark_mode') }}" method="GET" class="d-flex align-items-center me-2"> - <div class="form-check form-switch mb-0"> - <input class="form-check-input" type="checkbox" id="darkModeSwitch" onchange="this.form.submit()" {% if session.get('dark_mode', True) %}checked{% endif %}> - <label class="form-check-label" for="darkModeSwitch">Tryb ciemny</label> - </div> - </form> - {% set btn_class = "btn-secondary" if session.get('dark_mode', True) else "btn-outline-dark" %} - <div class="d-flex align-items-center"> - {% if session.user_id %} - <a href="{{ url_for('dashboard') }}" class="btn {{ btn_class }} me-2">Dashboard</a> - <a href="{{ url_for('routers_list') }}" class="btn {{ btn_class }} me-2">Urządzenia</a> - <a href="{{ url_for('diff_selector') }}" class="btn {{ btn_class }} me-2">Diff selector</a> - <a href="{{ url_for('all_files') }}" class="btn {{ btn_class }} me-2">Wszystkie pliki</a> - <a href="{{ url_for('logs_page') }}" class="btn {{ btn_class }} me-2">Logi</a> - <a href="{{ url_for('settings_view') }}" class="btn {{ btn_class }} me-2">Ustawienia</a> - <a href="{{ url_for('advanced_schedule') }}" class="btn {{ btn_class }} me-2">Harmonogram</a> - <a href="{{ url_for('change_password') }}" class="btn {{ btn_class }} me-2">Zmiana hasła</a> - <a href="{{ url_for('logout') }}" class="btn {{ btn_class }} me-2">Wyloguj</a> - {% else %} - <a href="{{ url_for('login') }}" class="btn {{ btn_class }} me-2">Zaloguj</a> - <a href="{{ url_for('register') }}" class="btn {{ btn_class }} me-2">Utwórz konto</a> - {% endif %} + <a href="{{ url_for('dashboard') }}" class="navbar-brand">Backup RouterOS</a> + <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavDropdown" + aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse" id="navbarNavDropdown"> + <ul class="navbar-nav me-auto"> + <!-- Dashboard --> + <li class="nav-item"> + <a class="nav-link" href="{{ url_for('dashboard') }}">Dashboard</a> + </li> + <!-- Urządzenia dropdown --> + <li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle" href="#" id="devicesDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"> + Urządzenia + </a> + <ul class="dropdown-menu" aria-labelledby="devicesDropdown"> + <li><a class="dropdown-item" href="/routers">Lista</a></li> + <li><a class="dropdown-item" href="/routers/add">Dodaj nowe</a></li> + </ul> + </li> + <!-- Diff --> + <li class="nav-item"> + <a class="nav-link" href="/diff_selector">Diff</a> + </li> + <!-- Wszystkie pliki --> + <li class="nav-item"> + <a class="nav-link" href="/all_files">Wszystkie pliki</a> + </li> + <!-- Logi --> + <li class="nav-item"> + <a class="nav-link" href="/logs">Logi</a> + </li> + <!-- Ustawienia dropdown --> + <li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle" href="#" id="settingsDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"> + Ustawienia + </a> + <ul class="dropdown-menu" aria-labelledby="settingsDropdown"> + <li><a class="dropdown-item" href="/settings">Główne</a></li> + <li><a class="dropdown-item" href="/advanced_schedule">Harmonogram</a></li> + </ul> + </li> + </ul> + <ul class="navbar-nav ms-auto align-items-center"> + <!-- Przełącznik trybu ciemnego --> + <li class="nav-item me-2"> + <form action="{{ url_for('toggle_dark_mode') }}" method="GET" class="d-flex align-items-center"> + <div class="form-check form-switch mb-0"> + <input class="form-check-input" type="checkbox" id="darkModeSwitch" onchange="this.form.submit()" {% if session.get('dark_mode', True) %}checked{% endif %}> + <label class="form-check-label" for="darkModeSwitch">Tryb ciemny</label> + </div> + </form> + </li> + <!-- Zmień hasło --> + <li class="nav-item"> + <a class="nav-link btn btn-alert ms-2 btn-logout" href="{{ url_for('change_password') }}">Zmień hasło</a> + </li> + <!-- Wyloguj --> + <li class="nav-item"> + <a class="nav-link btn btn-danger ms-2 btn-logout" href="{{ url_for('logout') }}">Wyloguj</a> + </li> + </ul> </div> </div> </nav> @@ -301,7 +344,6 @@ }); } </script> - <!-- Blok scripts umożliwiający dołączenie dodatkowych skryptów --> {% block scripts %}{% endblock %} </body> </html>