From 2d3d8d791ff2113bc517aa636071f1d3779477ec Mon Sep 17 00:00:00 2001 From: xintaofei Date: Wed, 25 Mar 2026 23:52:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96web=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../settings/web-service-settings.tsx | 87 +++++++++++-------- 1 file changed, 53 insertions(+), 34 deletions(-) diff --git a/src/components/settings/web-service-settings.tsx b/src/components/settings/web-service-settings.tsx index e50da91..a8e615b 100644 --- a/src/components/settings/web-service-settings.tsx +++ b/src/components/settings/web-service-settings.tsx @@ -1,23 +1,49 @@ "use client" import { useCallback, useEffect, useState } from "react" -import { Check, Copy, Eye, EyeOff } from "lucide-react" +import { Check, Copy, ExternalLink, Eye, EyeOff } from "lucide-react" import { startWebServer, stopWebServer, getWebServerStatus, type WebServerInfo, } from "@/lib/api" +import { openUrl } from "@/lib/platform" -function CopyableCard({ - label, - value, - masked, -}: { - label: string - value: string - masked?: boolean -}) { +function AddressCard({ label, value }: { label: string; value: string }) { + const [hovered, setHovered] = useState(false) + + return ( +
+
{label}
+
setHovered(true)} + onMouseLeave={() => setHovered(false)} + > + + {value} + +
+ +
+
+
+ ) +} + +function TokenCard({ label, value }: { label: string; value: string }) { const [hovered, setHovered] = useState(false) const [copied, setCopied] = useState(false) const [revealed, setRevealed] = useState(false) @@ -28,10 +54,9 @@ function CopyableCard({ setTimeout(() => setCopied(false), 1500) } - const displayValue = - masked && !revealed - ? value.slice(0, 4) + "\u2022".repeat(Math.max(value.length - 4, 8)) - : value + const displayValue = revealed + ? value + : "\u2022".repeat(Math.max(value.length, 12)) return (
@@ -49,20 +74,18 @@ function CopyableCard({ hovered ? "opacity-100" : "opacity-0" }`} > - {masked && ( - - )} +