From dc6c276992f1292b81b39ffa09b60a0aeae84e44 Mon Sep 17 00:00:00 2001 From: diegosouzapw Date: Sat, 16 May 2026 08:44:10 -0300 Subject: [PATCH] refactor(dashboard): streamline endpoint card expanded panels and inline IPs - Local Server: show LAN IPs inline (comma-separated) instead of chips below name - Tailscale row: show Tailscale IP (100.x) inline with comma in row header - Cloudflare expanded: remove readOnly URL input (URL visible in Active Endpoints bar) - Tailscale expanded: remove both URL inputs; sudo field always visible (not conditional on running state) - ngrok expanded: remove readOnly URL input; keep only authtoken field --- .../dashboard/endpoint/EndpointPageClient.tsx | 175 ++++++------------ 1 file changed, 56 insertions(+), 119 deletions(-) diff --git a/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.tsx b/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.tsx index a6e32a307c..6de915f48f 100644 --- a/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.tsx +++ b/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.tsx @@ -1268,32 +1268,26 @@ export default function APIPageClient({ machineId }: Readonly
-
+
Local Server {resolvedMachineId && ( ยท {resolvedMachineId.slice(0, 8)} )} + {lanUrls.map((url) => ( + + ))}
- {lanUrls.length > 0 && ( -
- {lanUrls.map((url) => ( - - ))} -
- )}
@@ -1450,26 +1444,6 @@ export default function APIPageClient({ machineId }: Readonly )}

{cloudflaredUrlNotice}

-
- - -
{cloudflaredStatus?.lastError && (

{translateOrFallback("cloudflaredLastError", "Last error: {error}", { @@ -1493,9 +1467,29 @@ export default function APIPageClient({ machineId }: Readonly

- - {translateOrFallback("tailscaleTitle", "Tailscale Funnel")} - +
+ + {translateOrFallback("tailscaleTitle", "Tailscale Funnel")} + + {tailscaleIpUrl && ( + + )} +
)} - {tailscaleStatus?.installed && - !tailscaleStatus?.running && - tailscaleStatus?.platform !== "win32" && ( -
- - setTailscalePassword(event.target.value)} - placeholder={translateOrFallback( - "tailscaleSudoPlaceholder", - "Enter sudo password" - )} - disabled={tailscaleBusy} - className="font-mono text-sm" - /> -
- )} -
-
+ {tailscaleStatus?.installed && tailscaleStatus?.platform !== "win32" && ( +
+ setTailscalePassword(event.target.value)} + placeholder={translateOrFallback( + "tailscaleSudoPlaceholder", + "Optional sudo password" + )} + disabled={tailscaleBusy} + className="font-mono text-sm" /> -
- {tailscaleIpUrl && ( -
- - -
- )} -
+ )} {tailscaleStatus?.binaryPath && (

{translateOrFallback("tailscaleBinaryPath", "Binary: {path}", { @@ -1747,23 +1701,6 @@ export default function APIPageClient({ machineId }: Readonly

)} -
- - -
{ngrokStatus?.lastError && (

{translateOrFallback("ngrokLastError", "Last error: {error}", {