diff --git a/packages/ui/src/components/remote-access-overlay.tsx b/packages/ui/src/components/remote-access-overlay.tsx index 901dab87..91b36860 100644 --- a/packages/ui/src/components/remote-access-overlay.tsx +++ b/packages/ui/src/components/remote-access-overlay.tsx @@ -18,7 +18,7 @@ export function RemoteAccessOverlay(props: RemoteAccessOverlayProps) { const [meta, setMeta] = createSignal(null) const [loading, setLoading] = createSignal(false) const [qrCodes, setQrCodes] = createSignal>({}) - const [expanded, setExpanded] = createSignal>(new Set()) + const [expandedUrl, setExpandedUrl] = createSignal(null) const [error, setError] = createSignal(null) const addresses = createMemo(() => meta()?.addresses ?? []) @@ -45,14 +45,11 @@ export function RemoteAccessOverlay(props: RemoteAccessOverlayProps) { }) const toggleExpanded = async (url: string) => { - const next = new Set(expanded()) - if (next.has(url)) { - next.delete(url) - setExpanded(next) + if (expandedUrl() === url) { + setExpandedUrl(null) return } - next.add(url) - setExpanded(next) + setExpandedUrl(url) if (!qrCodes()[url]) { try { const dataUrl = await toDataURL(url, { margin: 1, scale: 4 }) @@ -184,7 +181,7 @@ export function RemoteAccessOverlay(props: RemoteAccessOverlayProps) {
{(address) => { - const expandedState = () => expanded().has(address.url) + const expandedState = () => expandedUrl() === address.url const qr = () => qrCodes()[address.url] return (