Merge remote-tracking branch 'origin/ui-refactor' into ui-refactor

This commit is contained in:
Eduard Gert
2026-05-18 10:41:12 +02:00
81 changed files with 5744 additions and 1180 deletions

View File

@@ -43,6 +43,12 @@ export function SettingsNetwork() {
label={t("settings.network.serverRoutes.label")}
helpText={t("settings.network.serverRoutes.help")}
/>
<FancyToggleSwitch
value={!config.disableIpv6}
onChange={(v) => setField("disableIpv6", !v)}
label={"Enable IPv6"}
helpText={"Use IPv6 addressing for the NetBird overlay network."}
/>
</SectionGroup>
</>
);

View File

@@ -55,7 +55,7 @@ export default function Networks() {
const overlapping = useMemo(() => filterOverlapping(routes), [routes]);
const exitNodes = useMemo(
() => routes.filter((r) => r.range === "0.0.0.0/0" || r.range === "::/0"),
() => routes.filter((r) => isDefaultRoute(r.range)),
[routes],
);
@@ -146,6 +146,15 @@ function NetworkList({
);
}
// range is the merged display string from the daemon, e.g. "0.0.0.0/0",
// "::/0", or "0.0.0.0/0, ::/0" when a v4 exit node has a paired v6 entry.
function isDefaultRoute(range: string): boolean {
return range.split(",").some((part) => {
const trimmed = part.trim();
return trimmed === "0.0.0.0/0" || trimmed === "::/0";
});
}
function filterOverlapping(routes: Network[]): Network[] {
const byRange = new Map<string, Network[]>();
for (const r of routes) {