diff --git a/.gitea/workflows/build-windows.yml b/.gitea/workflows/build-windows.yml index 6107571..1bfb101 100644 --- a/.gitea/workflows/build-windows.yml +++ b/.gitea/workflows/build-windows.yml @@ -6,8 +6,8 @@ on: jobs: portable: - # Configure the Gitea runner with the `windows:host` label. - runs-on: windows + # Configure the Gitea runner with the `windows-host` label. + runs-on: windows-host defaults: run: shell: powershell diff --git a/README.md b/README.md index 6f69ba8..6f0506a 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ the relative paths `./n2n/edge.exe` and `./n2n/supernode.exe`. `.gitea/workflows/build-windows.yml` runs on every push and uploads the portable zip plus its checksum as workflow artifacts. Configure a dedicated Gitea runner -with the `windows:host` label and the Windows build prerequisites above. +with the `windows-host` label and the Windows build prerequisites above. The native command layer can start and stop edge/supernode processes, query the n2n UDP management API, run ping and TCPing checks, and inspect the local firewall state. Browser preview does not fabricate native process, management, or network-check results. diff --git a/src/styles.css b/src/styles.css index 2abd834..f0a55f3 100644 --- a/src/styles.css +++ b/src/styles.css @@ -197,11 +197,11 @@ h1 { margin: 0; color: var(--ink); font-size: 24px; line-height: 1.2; letter-spa .server-inputs { grid-template-columns: minmax(0, 1fr) auto 58px; gap: 4px; } .port-separator { font-size: 15px; } .input-group small { display: none; } - .ip-heading { display: contents; } - .input-group:has(.ip-heading) { position: relative; } - .input-group:has(.ip-heading) .field-title { grid-column: 1; grid-row: 1; } - .input-group:has(.ip-heading) > input { grid-column: 2; grid-row: 1; padding-right: 65px; } - .input-group:has(.ip-heading) .dhcp-toggle { position: absolute; top: 7px; right: 5px; gap: 4px; min-height: 18px; font-size: 10px; } + .ip-heading { grid-column: 1; grid-row: 1 / span 2; display: grid; align-content: center; justify-items: start; gap: 3px; } + .input-group:has(.ip-heading) { grid-template-rows: repeat(2, minmax(0, 1fr)); column-gap: 6px; row-gap: 0; } + .input-group:has(.ip-heading) .field-title { grid-column: auto; grid-row: auto; } + .input-group:has(.ip-heading) > input { grid-column: 2; grid-row: 1 / span 2; align-self: center; padding-right: 7px; } + .input-group:has(.ip-heading) .dhcp-toggle { position: static; gap: 4px; min-height: 17px; font-size: 10px; } .toggle-track { width: 28px; height: 17px; } .toggle-track i { top: 2px; left: 2px; width: 13px; height: 13px; } .dhcp-toggle input:checked + .toggle-track i { left: 13px; }