fix open settings in tray, prevent loading profiles when daemon is down

This commit is contained in:
Eduard Gert
2026-05-18 13:07:34 +02:00
parent 6b44d65cac
commit 741ce8581d
24 changed files with 459 additions and 93 deletions

View File

@@ -13,6 +13,7 @@ import { SettingsSSH } from "@/modules/settings/SettingsSSH.tsx";
import { SettingsAdvanced } from "@/modules/settings/SettingsAdvanced.tsx";
import { SettingsTroubleshooting } from "@/modules/settings/SettingsTroubleshooting.tsx";
import { SettingsAbout } from "@/modules/settings/SettingsAbout.tsx";
import { SettingsDevelopment } from "@/modules/settings/SettingsDevelopment.tsx";
// The settings window always opens at General. The only way to land on a
// different tab is via navigation state (e.g. the update-available header
@@ -59,6 +60,11 @@ export const Settings = () => {
<VerticalTabs.Content value={"about"}>
<SettingsAbout />
</VerticalTabs.Content>
{import.meta.env.DEV && (
<VerticalTabs.Content value={"development"}>
<SettingsDevelopment />
</VerticalTabs.Content>
)}
</SettingsProvider>
</div>
</ScrollArea.Viewport>

View File

@@ -2,7 +2,7 @@ import { useTranslation } from "react-i18next";
import { Browser } from "@wailsio/runtime";
import netbirdFull from "@/assets/logos/netbird-full.svg";
import pkg from "../../../package.json";
import { useStatus } from "@/hooks/useStatus";
import { useStatus } from "@/modules/daemon-status/StatusContext.tsx";
import { UpdateVersionCard } from "@/modules/auto-update/UpdateVersionCard";
import { useAccentTrigger } from "@/modules/settings/SettingsAccent";

View File

@@ -0,0 +1,30 @@
import { Button } from "@/components/Button";
import { WindowManager } from "@bindings/services";
import { SectionGroup } from "@/modules/settings/SettingsSection.tsx";
export function SettingsDevelopment() {
return (
<SectionGroup title={"Session windows"}>
<div className={"flex flex-col gap-2 items-start"}>
<Button
variant={"secondary"}
onClick={() =>
WindowManager.OpenSessionExpired().catch(console.error)
}
>
Open Session expired
</Button>
<Button
variant={"secondary"}
onClick={() =>
WindowManager.OpenSessionAboutToExpire(336).catch(
console.error,
)
}
>
Open About to expire (5:36)
</Button>
</div>
</SectionGroup>
);
}

View File

@@ -5,6 +5,7 @@ import { UpdateBadge } from "@/modules/auto-update/UpdateBadge.tsx";
import { useClientVersion } from "@/modules/auto-update/ClientVersionContext.tsx";
import {
BoltIcon,
HammerIcon,
InfoIcon,
LifeBuoyIcon,
NetworkIcon,
@@ -62,6 +63,13 @@ export const SettingsNavigationTriggers = () => {
title={t("settings.tabs.about")}
adornment={aboutAdornment}
/>
{import.meta.env.DEV && (
<VerticalTabs.Trigger
value={"development"}
icon={HammerIcon}
title={"Development"}
/>
)}
</VerticalTabs.List>
</div>
);