]> git.giorgioravera.it Git - network-manager.git/commitdiff
reviewed mobile layout
authorGiorgio Ravera <giorgio.ravera@gmail.com>
Mon, 15 Jun 2026 13:12:48 +0000 (15:12 +0200)
committerGiorgio Ravera <giorgio.ravera@gmail.com>
Mon, 15 Jun 2026 13:12:48 +0000 (15:12 +0200)
frontend/aliases.html
frontend/css/layout.css
frontend/devices.html
frontend/hosts.html
frontend/leases.html
frontend/settings.html

index 708ad14ae0abb51e9ff094147fcbddd79fdcf327..a4e11aac725bb8a6f72e4323615345db3f10c38b 100644 (file)
                     <!-- Separator -->
                     <div class="vr mx-2 d-none d-md-block"></div>
 
-                    <!-- Add alias -->
+                    <!-- Add host Desktop -->
                     <button
-                        class="btn btn-primary d-flex align-items-center gap-2 px-3"
+                        class="btn btn-primary d-none d-md-flex align-items-center gap-2 px-3"
                         title="Add Alias"
                         aria-label="Add Alias"
                         data-bs-toggle="modal" data-bs-target="#addAliasModal">
                         <i class="bi bi-plus-lg"></i>
-                        <span class="label d-none d-md-block">Add Alias</span>
+                        <span class="label">Add Alias</span>
                     </button>
 
                     <!-- Separator -->
                     <div class="vr mx-2 d-none d-md-block"></div>
 
-                    <!-- Reload DNS -->
+                    <!-- Reload DNS Desktop -->
                     <button
-                        class="btn btn-primary d-flex align-items-center gap-2 px-3"
+                        class="btn btn-primary d-none d-md-flex align-items-center gap-2 px-3"
                         title="Reload DNS (BIND)"
                         aria-label="Reload DNS"
                         data-action="reloadDns">
                         <i class="bi bi-arrow-repeat"></i>
-                        <span class="label d-none d-md-block">Reload DNS</span>
+                        <span class="label">Reload DNS</span>
                     </button>
 
-                    <!-- Reload DNS -->
+                    <!-- Reload DHCP Desktop -->
                     <button
-                        class="btn btn-primary d-flex align-items-center gap-2 px-3"
+                        class="btn btn-primary d-none d-md-flex align-items-center gap-2 px-3"
                         title="Reload DHCP (Kea)"
                         aria-label="Reload DHCP"
                         data-action="reloadDhcp">
                         <i class="bi bi-arrow-repeat"></i>
-                        <span class="label d-none d-md-block">Reload DHCP</span>
+                        <span class="label">Reload DHCP</span>
                     </button>
+
+                    <!-- Mobile Dropdown -->
+                    <div class="dropdown d-md-none">
+                        <button
+                            class="btn btn-primary d-flex align-items-center px-3"
+                            type="button"
+                            data-bs-toggle="dropdown"
+                            aria-expanded="false">
+                            <i class="bi bi-three-dots-vertical"></i>
+                        </button>
+
+                        <ul class="dropdown-menu dropdown-menu-end shadow">
+
+                            <!-- Add Host Mobile -->
+                            <li class="px-2 py-1">
+                                <button
+                                    class="btn btn-primary w-100 d-flex align-items-center gap-2"
+                                    title="Add Alias"
+                                    aria-label="Add Alias"
+                                    data-bs-toggle="modal" data-bs-target="#addAliasModal">
+                                    <i class="bi bi-plus-lg"></i>
+                                    <span>Add Alias</span>
+                                </button>
+                            </li>
+
+                            <!-- Reload DNS Mobile -->
+                            <li class="px-2 py-1">
+                                <button
+                                    class="btn btn-primary w-100 d-flex align-items-center gap-2"
+                                    title="Reload DNS (BIND)"
+                                    aria-label="Reload DNS"
+                                    data-action="reloadDns">
+                                    <i class="bi bi-arrow-repeat"></i>
+                                    <span>Reload DNS</span>
+                                </button>
+                            </li>
+
+                            <!-- Reload DHCP Mobile -->
+                            <li class="px-2 py-1">
+                                <button
+                                    class="btn btn-primary w-100 d-flex align-items-center gap-2"
+                                    title="Reload DHCP (Kea)"
+                                    aria-label="Reload DHCP"
+                                    data-action="reloadDhcp">
+                                    <i class="bi bi-arrow-repeat"></i>
+                                    <span>Reload DHCP</span>
+                                </button>
+                            </li>
+                        </ul>
+                    </div>
                 </div>
             </div>
 
                     </th>
 
                     <th data-type="string" data-sortable="false" class="text-center text-nowrap">
-                        Actions <span class="sort-arrow invisible" aria-hidden="true"></span>
+                        Actions
                     </th>
                 </tr>
             </thead>
index 3de77e73370fec038ee7230369367858bc13f10b..53d17269a972ad88f4d76153934bd9b38cdf470b 100644 (file)
@@ -648,7 +648,7 @@ td.actions {
 /* ================================
    Responsive
    ================================ */
-@media (max-width: 640px) {
+@media (max-width: 768px) {
 
     .topbar-inner {
         flex-wrap: nowrap;
@@ -660,7 +660,7 @@ td.actions {
     }
 
     .logo span {
-        font-size: 1.1rem;
+        font-size: 1.3rem;
         white-space: nowrap;
     }
 
@@ -668,10 +668,14 @@ td.actions {
         margin: 10px 10px 15px 10px;
     }
 
+    .section-title {
+        font-size: 1.1rem;
+    }
+
     .table-responsive {
         margin: 10px;
         width: calc(100% - 20px);
-        max-height: calc(100dvh - 11.5rem);
+        max-height: calc(100dvh - 9rem);
     }
 
     .table {
index 1d4c19a4eb4bd60b68007f5a0b8feed546c85024..247d97ea582cf108420e502eec8686c1b1b453f5 100644 (file)
                     <!-- Search Mobile -->
                     <div class="col-auto d-md-none">
                         <button
-                                class="btn btn-primary d-flex align-items-center gap-2 px-3"
-                                data-bs-toggle="collapse" data-bs-target="#mobileSearch"
-                                aria-expanded="false" aria-controls="mobileSearch">
+                            class="btn btn-primary d-flex align-items-center gap-2 px-3"
+                            data-bs-toggle="collapse" data-bs-target="#mobileSearch"
+                            aria-expanded="false" aria-controls="mobileSearch">
                             <i class="bi bi-search"></i>
                         </button>
                     </div>
                     <!-- Separator -->
                     <div class="vr mx-2 d-none d-md-block"></div>
 
-                    <!-- Add host -->
+                    <!-- Add host Desktop -->
                     <button
-                            class="btn btn-primary d-flex align-items-center gap-2 px-3"
-                            title="Add Host"
-                            aria-label="Add Host"
-                            data-bs-toggle="modal" data-bs-target="#addHostModal">
+                        class="btn btn-primary d-none d-md-flex align-items-center gap-2 px-3"
+                        title="Add Host"
+                        aria-label="Add Host"
+                        data-bs-toggle="modal" data-bs-target="#addHostModal">
                         <i class="bi bi-plus-lg"></i>
-                        <span class="label d-none d-md-block"> Add Host</span>
+                        <span class="label">Add Host</span>
                     </button>
 
                     <!-- Separator -->
                     <div class="vr mx-2 d-none d-md-block"></div>
 
-                    <!-- Reload DNS -->
+                    <!-- Reload DNS Desktop -->
                     <button
-                            class="btn btn-primary d-flex align-items-center gap-2 px-3"
-                            title="Reload DNS (BIND)"
-                            aria-label="Reload DNS"
-                            data-action="reloadDns">
+                        class="btn btn-primary d-none d-md-flex align-items-center gap-2 px-3"
+                        title="Reload DNS (BIND)"
+                        aria-label="Reload DNS"
+                        data-action="reloadDns">
                         <i class="bi bi-arrow-repeat"></i>
-                        <span class="label d-none d-md-block"> Reload DNS</span>
+                        <span class="label">Reload DNS</span>
                     </button>
 
-                    <!-- Reload DNS -->
-                    <button class="btn btn-primary d-flex align-items-center gap-2 px-3"
-                            title="Reload DHCP (Kea)"
-                            aria-label="Reload DHCP"
-                            data-action="reloadDhcp">
+                    <!-- Reload DHCP Desktop -->
+                    <button
+                        class="btn btn-primary d-none d-md-flex align-items-center gap-2 px-3"
+                        title="Reload DHCP (Kea)"
+                        aria-label="Reload DHCP"
+                        data-action="reloadDhcp">
                         <i class="bi bi-arrow-repeat"></i>
-                        <span class="label d-none d-md-block"> Reload DHCP</span>
+                        <span class="label">Reload DHCP</span>
                     </button>
+
+                    <!-- Mobile Dropdown -->
+                    <div class="dropdown d-md-none">
+                        <button
+                            class="btn btn-primary d-flex align-items-center px-3"
+                            type="button"
+                            data-bs-toggle="dropdown"
+                            aria-expanded="false">
+                            <i class="bi bi-three-dots-vertical"></i>
+                        </button>
+
+                        <ul class="dropdown-menu dropdown-menu-end shadow">
+
+                            <!-- Add Host Mobile -->
+                            <li class="px-2 py-1">
+                                <button
+                                    class="btn btn-primary w-100 d-flex align-items-center gap-2"
+                                    title="Add Host"
+                                    aria-label="Add Host"
+                                    data-bs-toggle="modal" data-bs-target="#addHostModal">
+                                    <i class="bi bi-plus-lg"></i>
+                                    <span>Add Host</span>
+                                </button>
+                            </li>
+
+                            <!-- Reload DNS Mobile -->
+                            <li class="px-2 py-1">
+                                <button
+                                    class="btn btn-primary w-100 d-flex align-items-center gap-2"
+                                    title="Reload DNS (BIND)"
+                                    aria-label="Reload DNS"
+                                    data-action="reloadDns">
+                                    <i class="bi bi-arrow-repeat"></i>
+                                    <span>Reload DNS</span>
+                                </button>
+                            </li>
+
+                            <!-- Reload DHCP Mobile -->
+                            <li class="px-2 py-1">
+                                <button
+                                    class="btn btn-primary w-100 d-flex align-items-center gap-2"
+                                    title="Reload DHCP (Kea)"
+                                    aria-label="Reload DHCP"
+                                    data-action="reloadDhcp">
+                                    <i class="bi bi-arrow-repeat"></i>
+                                    <span>Reload DHCP</span>
+                                </button>
+                            </li>
+                        </ul>
+                    </div>
                 </div>
             </div>
 
                     </th>
 
                     <th data-type="string" data-sortable="false" class="text-center text-nowrap">
-                        Actions <span class="sort-arrow invisible" aria-hidden="true"></span>
+                        Actions
                     </th>
                 </tr>
             </thead>
index 2a3e81b4d063d265a13faeb3a2e92dc1eee36eac..cbd2103508e60bb08b8d1eca366c4c5024a5036b 100644 (file)
                     <!-- Separator -->
                     <div class="vr mx-2 d-none d-md-block"></div>
 
-                    <!-- Add host -->
+                    <!-- Add host Desktop -->
                     <button
-                        class="btn btn-primary d-flex align-items-center gap-2 px-3"
+                        class="btn btn-primary d-none d-md-flex align-items-center gap-2 px-3"
                         title="Add Host"
                         aria-label="Add Host"
                         data-bs-toggle="modal" data-bs-target="#addHostModal">
                         <i class="bi bi-plus-lg"></i>
-                        <span class="label d-none d-md-block">Add Host</span>
+                        <span class="label">Add Host</span>
                     </button>
 
                     <!-- Separator -->
                     <div class="vr mx-2 d-none d-md-block"></div>
 
-                    <!-- Reload DNS -->
+                    <!-- Reload DNS Desktop -->
                     <button
-                        class="btn btn-primary d-flex align-items-center gap-2 px-3"
+                        class="btn btn-primary d-none d-md-flex align-items-center gap-2 px-3"
                         title="Reload DNS (BIND)"
                         aria-label="Reload DNS"
                         data-action="reloadDns">
                         <i class="bi bi-arrow-repeat"></i>
-                        <span class="label d-none d-md-block">Reload DNS</span>
+                        <span class="label">Reload DNS</span>
                     </button>
 
-                    <!-- Reload DNS -->
+                    <!-- Reload DHCP Desktop -->
                     <button
-                        class="btn btn-primary d-flex align-items-center gap-2 px-3"
+                        class="btn btn-primary d-none d-md-flex align-items-center gap-2 px-3"
                         title="Reload DHCP (Kea)"
                         aria-label="Reload DHCP"
                         data-action="reloadDhcp">
                         <i class="bi bi-arrow-repeat"></i>
-                        <span class="label d-none d-md-block">Reload DHCP</span>
+                        <span class="label">Reload DHCP</span>
                     </button>
+
+                    <!-- Mobile Dropdown -->
+                    <div class="dropdown d-md-none">
+                        <button
+                            class="btn btn-primary d-flex align-items-center px-3"
+                            type="button"
+                            data-bs-toggle="dropdown"
+                            aria-expanded="false">
+                            <i class="bi bi-three-dots-vertical"></i>
+                        </button>
+
+                        <ul class="dropdown-menu dropdown-menu-end shadow">
+
+                            <!-- Add Host Mobile -->
+                            <li class="px-2 py-1">
+                                <button
+                                    class="btn btn-primary w-100 d-flex align-items-center gap-2"
+                                    title="Add Host"
+                                    aria-label="Add Host"
+                                    data-bs-toggle="modal" data-bs-target="#addHostModal">
+                                    <i class="bi bi-plus-lg"></i>
+                                    <span>Add Host</span>
+                                </button>
+                            </li>
+
+                            <!-- Reload DNS Mobile -->
+                            <li class="px-2 py-1">
+                                <button
+                                    class="btn btn-primary w-100 d-flex align-items-center gap-2"
+                                    title="Reload DNS (BIND)"
+                                    aria-label="Reload DNS"
+                                    data-action="reloadDns">
+                                    <i class="bi bi-arrow-repeat"></i>
+                                    <span>Reload DNS</span>
+                                </button>
+                            </li>
+
+                            <!-- Reload DHCP Mobile -->
+                            <li class="px-2 py-1">
+                                <button
+                                    class="btn btn-primary w-100 d-flex align-items-center gap-2"
+                                    title="Reload DHCP (Kea)"
+                                    aria-label="Reload DHCP"
+                                    data-action="reloadDhcp">
+                                    <i class="bi bi-arrow-repeat"></i>
+                                    <span>Reload DHCP</span>
+                                </button>
+                            </li>
+                        </ul>
+                    </div>
                 </div>
             </div>
 
index e1f27a788330fe1d2bbae80c4224dc692c2b598f..85fa018d066b65762c6d112c5c4960c78c6bc055 100644 (file)
                     <!-- Separator -->
                     <div class="vr mx-2 d-none d-md-block"></div>
 
-                    <!-- Add host -->
+                    <!-- Add host Desktop -->
                     <button
-                        class="btn btn-primary d-flex align-items-center gap-2 px-3"
+                        class="btn btn-primary d-none d-md-flex align-items-center gap-2 px-3"
                         title="Add Host"
                         aria-label="Add Host"
                         data-bs-toggle="modal" data-bs-target="#addHostModal">
                         <i class="bi bi-plus-lg"></i>
-                        <span class="label d-none d-md-block">Add Host</span>
+                        <span class="label">Add Host</span>
                     </button>
 
                     <!-- Separator -->
                     <div class="vr mx-2 d-none d-md-block"></div>
 
-                    <!-- Reload DNS -->
+                    <!-- Reload DNS Desktop -->
                     <button
-                        class="btn btn-primary d-flex align-items-center gap-2 px-3"
+                        class="btn btn-primary d-none d-md-flex align-items-center gap-2 px-3"
                         title="Reload DNS (BIND)"
                         aria-label="Reload DNS"
                         data-action="reloadDns">
                         <i class="bi bi-arrow-repeat"></i>
-                        <span class="label d-none d-md-block">Reload DNS</span>
+                        <span class="label">Reload DNS</span>
                     </button>
 
-                    <!-- Reload DNS -->
+                    <!-- Reload DHCP Desktop -->
                     <button
-                        class="btn btn-primary d-flex align-items-center gap-2 px-3"
+                        class="btn btn-primary d-none d-md-flex align-items-center gap-2 px-3"
                         title="Reload DHCP (Kea)"
                         aria-label="Reload DHCP"
                         data-action="reloadDhcp">
                         <i class="bi bi-arrow-repeat"></i>
-                        <span class="label d-none d-md-block">Reload DHCP</span>
+                        <span class="label">Reload DHCP</span>
                     </button>
+
+                    <!-- Mobile Dropdown -->
+                    <div class="dropdown d-md-none">
+                        <button
+                            class="btn btn-primary d-flex align-items-center px-3"
+                            type="button"
+                            data-bs-toggle="dropdown"
+                            aria-expanded="false">
+                            <i class="bi bi-three-dots-vertical"></i>
+                        </button>
+
+                        <ul class="dropdown-menu dropdown-menu-end shadow">
+
+                            <!-- Add Host Mobile -->
+                            <li class="px-2 py-1">
+                                <button
+                                    class="btn btn-primary w-100 d-flex align-items-center gap-2"
+                                    title="Add Host"
+                                    aria-label="Add Host"
+                                    data-bs-toggle="modal" data-bs-target="#addHostModal">
+                                    <i class="bi bi-plus-lg"></i>
+                                    <span>Add Host</span>
+                                </button>
+                            </li>
+
+                            <!-- Reload DNS Mobile -->
+                            <li class="px-2 py-1">
+                                <button
+                                    class="btn btn-primary w-100 d-flex align-items-center gap-2"
+                                    title="Reload DNS (BIND)"
+                                    aria-label="Reload DNS"
+                                    data-action="reloadDns">
+                                    <i class="bi bi-arrow-repeat"></i>
+                                    <span>Reload DNS</span>
+                                </button>
+                            </li>
+
+                            <!-- Reload DHCP Mobile -->
+                            <li class="px-2 py-1">
+                                <button
+                                    class="btn btn-primary w-100 d-flex align-items-center gap-2"
+                                    title="Reload DHCP (Kea)"
+                                    aria-label="Reload DHCP"
+                                    data-action="reloadDhcp">
+                                    <i class="bi bi-arrow-repeat"></i>
+                                    <span>Reload DHCP</span>
+                                </button>
+                            </li>
+                        </ul>
+                    </div>
                 </div>
             </div>
 
                     </th>
 
                     <th data-type="string" data-sortable="false" class="text-center text-nowrap">
-                        Actions <span class="sort-arrow invisible" aria-hidden="true"></span>
+                        Actions
                     </th>
                 </tr>
             </thead>
index 33b0e138a33b726e74d48d0891d4b9ed4f1d490b..dbf0e7563eb1b9032908a807507d73714e8f76e2 100644 (file)
 
                     <!-- Expand -->
                     <button
-                        id="expandAllBtn"
-                        class="btn btn-sm btn-primary d-flex align-items-center gap-2 px-3"
+                        class="btn btn-primary d-none d-md-flex align-items-center gap-2 px-3"
                         title="Expand all groups"
-                        aria-label="Expand all groups">
+                        aria-label="Expand all groups"
+                        id="expandAllBtn">
                         <i class="bi bi-arrows-expand"></i>
-                        <span class="label d-none d-md-block">Expand</span>
+                        <span class="label">Expand</span>
                     </button>
 
                     <!-- Collapse -->
-                    <button 
-                        id="collapseAllBtn"
-                        class="btn btn-sm btn-primary d-flex align-items-center gap-2 px-3"
+                    <button
+                        class="btn btn-primary d-none d-md-flex align-items-center gap-2 px-3"
                         title="Collapse all groups"
-                        aria-label="Collapse all groups">
+                        aria-label="Collapse all groups"
+                        id="collapseAllBtn">
                         <i class="bi bi-arrows-collapse"></i>
-                        <span class="label d-none d-md-block">Collapse</span>
+                        <span class="label">Collapse</span>
                     </button>
 
                     <!-- Separator -->
 
                     <!-- Restart -->
                     <button
-                        class="btn btn-danger d-flex align-items-center gap-2 px-3"
+                        class="btn btn-danger d-none d-md-flex align-items-center gap-2 px-3"
                         title="Restart system"
                         aria-label="Restart system"
                         data-action="restartApp">
                         <i class="bi bi-arrow-repeat"></i>
-                        <span class="label d-none d-md-block">Restart</span>
+                        <span class="label">Restart</span>
                     </button>
+
+                    <!-- Mobile Dropdown -->
+                    <div class="dropdown d-md-none">
+                        <button
+                            class="btn btn-primary d-flex align-items-center px-3"
+                            type="button"
+                            data-bs-toggle="dropdown"
+                            aria-expanded="false">
+                            <i class="bi bi-three-dots-vertical"></i>
+                        </button>
+
+                        <ul class="dropdown-menu dropdown-menu-end shadow">
+
+                            <!-- Expand Mobile -->
+                            <li class="px-2 py-1">
+                                <button
+                                    class="btn btn-primary w-100 d-flex align-items-center gap-2"
+                                    title="Expand all groups"
+                                    aria-label="Expand all groups"
+                                    id="expandAllBtn">
+                                    <i class="bi bi-arrows-expand"></i>
+                                    <span class="label">Expand</span>
+                                </button>
+                            </li>
+
+                            <!-- Collapse Mobile -->
+                            <li class="px-2 py-1">
+                                <button
+                                    class="btn btn-primary w-100 d-flex align-items-center gap-2"
+                                    title="Collapse all groups"
+                                    aria-label="Collapse all groups"
+                                    id="collapseAllBtn">
+                                    <i class="bi bi-arrows-collapse"></i>
+                                    <span class="label">Collapse</span>
+                                </button>
+                            </li>
+
+                            <!-- Restart Mobile -->
+                            <li class="px-2 py-1">
+                                <button
+                                    class="btn btn-danger w-100 d-flex align-items-center gap-2"
+                                    title="Restart system"
+                                    aria-label="Restart system"
+                                    data-action="restartApp">
+                                    <i class="bi bi-arrow-repeat"></i>
+                                    <span class="label">Restart</span>
+                                </button>
+                            </li>
+                        </ul>
+                    </div>
                 </div>
             </div>
 
                     </th>
 
                     <th data-type="string" data-sortable="false" class="text-center text-nowrap">
-                        Actions <span class="sort-arrow invisible" aria-hidden="true"></span>
+                        Actions
                     </th>
                 </tr>
             </thead>