Web服务设置页面里的访问地址、访问Token右边的按钮改为一直显示,不需要悬停
This commit is contained in:
@@ -11,24 +11,14 @@ import {
|
|||||||
import { openUrl } from "@/lib/platform"
|
import { openUrl } from "@/lib/platform"
|
||||||
|
|
||||||
function AddressCard({ label, value }: { label: string; value: string }) {
|
function AddressCard({ label, value }: { label: string; value: string }) {
|
||||||
const [hovered, setHovered] = useState(false)
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="space-y-1.5">
|
<div className="space-y-1.5">
|
||||||
<div className="text-xs font-medium text-muted-foreground">{label}</div>
|
<div className="text-xs font-medium text-muted-foreground">{label}</div>
|
||||||
<div
|
<div className="group relative flex items-center rounded-md border bg-muted/40 px-3 py-2">
|
||||||
className="group relative flex items-center rounded-md border bg-muted/40 px-3 py-2"
|
|
||||||
onMouseEnter={() => setHovered(true)}
|
|
||||||
onMouseLeave={() => setHovered(false)}
|
|
||||||
>
|
|
||||||
<code className="min-w-0 flex-1 truncate text-sm select-all">
|
<code className="min-w-0 flex-1 truncate text-sm select-all">
|
||||||
{value}
|
{value}
|
||||||
</code>
|
</code>
|
||||||
<div
|
<div className="ml-2 flex shrink-0 items-center gap-1">
|
||||||
className={`ml-2 flex shrink-0 items-center gap-1 transition-opacity ${
|
|
||||||
hovered ? "opacity-100" : "opacity-0"
|
|
||||||
}`}
|
|
||||||
>
|
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => openUrl(value)}
|
onClick={() => openUrl(value)}
|
||||||
@@ -44,7 +34,6 @@ function AddressCard({ label, value }: { label: string; value: string }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function TokenCard({ label, value }: { label: string; value: string }) {
|
function TokenCard({ label, value }: { label: string; value: string }) {
|
||||||
const [hovered, setHovered] = useState(false)
|
|
||||||
const [copied, setCopied] = useState(false)
|
const [copied, setCopied] = useState(false)
|
||||||
const [revealed, setRevealed] = useState(false)
|
const [revealed, setRevealed] = useState(false)
|
||||||
|
|
||||||
@@ -61,19 +50,11 @@ function TokenCard({ label, value }: { label: string; value: string }) {
|
|||||||
return (
|
return (
|
||||||
<div className="space-y-1.5">
|
<div className="space-y-1.5">
|
||||||
<div className="text-xs font-medium text-muted-foreground">{label}</div>
|
<div className="text-xs font-medium text-muted-foreground">{label}</div>
|
||||||
<div
|
<div className="group relative flex items-center rounded-md border bg-muted/40 px-3 py-2">
|
||||||
className="group relative flex items-center rounded-md border bg-muted/40 px-3 py-2"
|
|
||||||
onMouseEnter={() => setHovered(true)}
|
|
||||||
onMouseLeave={() => setHovered(false)}
|
|
||||||
>
|
|
||||||
<code className="min-w-0 flex-1 truncate text-sm select-all">
|
<code className="min-w-0 flex-1 truncate text-sm select-all">
|
||||||
{displayValue}
|
{displayValue}
|
||||||
</code>
|
</code>
|
||||||
<div
|
<div className="ml-2 flex shrink-0 items-center gap-1">
|
||||||
className={`ml-2 flex shrink-0 items-center gap-1 transition-opacity ${
|
|
||||||
hovered ? "opacity-100" : "opacity-0"
|
|
||||||
}`}
|
|
||||||
>
|
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => setRevealed((v) => !v)}
|
onClick={() => setRevealed((v) => !v)}
|
||||||
|
|||||||
Reference in New Issue
Block a user