From f0a1de34742c04bd9b74d4cdcf83d7a3cf4ff05d Mon Sep 17 00:00:00 2001 From: Owen Date: Thu, 16 Apr 2026 15:33:29 -0700 Subject: [PATCH] Show picker only when have remote node --- .../[orgId]/settings/sites/create/page.tsx | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/app/[orgId]/settings/sites/create/page.tsx b/src/app/[orgId]/settings/sites/create/page.tsx index cb6365b79..b7cff202a 100644 --- a/src/app/[orgId]/settings/sites/create/page.tsx +++ b/src/app/[orgId]/settings/sites/create/page.tsx @@ -161,16 +161,13 @@ export default function Page() { description: t("siteNewtTunnelDescription"), disabled: true }, - ...(env.flags.disableBasicWireguardSites + ...(env.flags.disableBasicWireguardSites || build == "saas" ? [] : [ { id: "wireguard" as SiteType, title: t("siteWg"), - description: - build == "saas" - ? t("siteWgDescriptionSaas") - : t("siteWgDescription"), + description: t("siteWgDescription"), disabled: true } ]), @@ -426,9 +423,22 @@ export default function Page() { })); setRemoteExitNodeOptions(exitNodeOptions); + + if (exitNodeOptions.length === 0) { + // No remote exit nodes available — remove local option and default to newt + setTunnelTypes((prev: any) => + prev.filter((item: any) => item.id !== "local") + ); + form.setValue("method", "newt"); + } } } catch (error) { console.error("Failed to fetch remote exit nodes:", error); + // If fetch fails, no remote exit nodes available — remove local option and default to newt + setTunnelTypes((prev: any) => + prev.filter((item: any) => item.id !== "local") + ); + form.setValue("method", "newt"); } }