From 9a954daea356b49ba52c34e996306e9ca935aab7 Mon Sep 17 00:00:00 2001 From: Alex D Date: Fri, 20 Sep 2024 13:47:08 +0200 Subject: [PATCH] feat(spaceward): fix qa issues (#877) * fixes https://github.com/warden-protocol/wardenprotocol/issues/869; add missing Dockerfile entry * fix https://github.com/warden-protocol/wardenprotocol/issues/874; https://github.com/warden-protocol/wardenprotocol/issues/873 * fix tx sidebar scroll --- Dockerfile | 1 + spaceward/src/components/ui/copy.tsx | 2 ++ spaceward/src/features/actions/StatusSidebar.tsx | 2 +- spaceward/src/features/modals/AssetSelector.tsx | 8 ++++---- spaceward/src/features/modals/ReceiveAssets.tsx | 15 ++++++++------- spaceward/src/features/modals/index.tsx | 10 +++++----- spaceward/src/utils/shield.ts | 4 ++++ 7 files changed, 25 insertions(+), 17 deletions(-) diff --git a/Dockerfile b/Dockerfile index 86a811a82..0f5b7d72f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -117,6 +117,7 @@ ENV VITE_WARDEN_COSMOSKIT_CHAIN_NAME=%WARDEN_COSMOSKIT_CHAIN_NAME% ENV VITE_WARDEN_CHAIN_ID=%WARDEN_CHAIN_ID% ENV VITE_WARDEN_MAINTENANCE=%WARDEN_MAINTENANCE% ENV VITE_WARDEN_SNAP_ORIGIN=%WARDEN_SNAP_ORIGIN% +ENV VITE_WARDEN_SNAP_VERSION=%WARDEN_SNAP_VERSION% ENV VITE_WARDEN_ENVIRONMENT=%WARDEN_ENVIRONMENT% ENV VITE_WARDEN_STORYBLOK_TOKEN=%WARDEN_STORYBLOK_TOKEN% ENV VITE_WARDEN_ETHEREUM_ANALYZER_CONTRACT=%WARDEN_ETHEREUM_ANALYZER_CONTRACT% diff --git a/spaceward/src/components/ui/copy.tsx b/spaceward/src/components/ui/copy.tsx index cfaf58a86..25b488dd8 100644 --- a/spaceward/src/components/ui/copy.tsx +++ b/spaceward/src/components/ui/copy.tsx @@ -30,6 +30,8 @@ const Copy = React.forwardRef( const [showTooltip, setShowTooltip] = React.useState(false); const onCopy = React.useCallback(() => { setCopied(true); + setShowTooltip(true); + setTimeout(() => { setCopied(false); setShowTooltip(false); diff --git a/spaceward/src/features/actions/StatusSidebar.tsx b/spaceward/src/features/actions/StatusSidebar.tsx index 01f2f88a4..c0d41c2c5 100644 --- a/spaceward/src/features/actions/StatusSidebar.tsx +++ b/spaceward/src/features/actions/StatusSidebar.tsx @@ -486,7 +486,7 @@ export default function StatusSidebar() { sideOffset={20} className="p-0" > -
+
{filtered.map((id) => { const action = data?.[id]; diff --git a/spaceward/src/features/modals/AssetSelector.tsx b/spaceward/src/features/modals/AssetSelector.tsx index 2affe7587..2e3e0bece 100644 --- a/spaceward/src/features/modals/AssetSelector.tsx +++ b/spaceward/src/features/modals/AssetSelector.tsx @@ -102,7 +102,7 @@ const AssetSelector = ({ }, [_results, filterByChain, searchValue]); return ( -
+
{isNetworkDropdown && ( -
+
{ setIsNetworkDropdown(false); @@ -222,7 +222,7 @@ const AssetSelector = ({
{!searchValue && Object.keys(withBalance).length ? ( -
+
Your assets
@@ -319,7 +319,7 @@ const AssetSelector = ({ <> )} -
+
{results .filter( ({ chainName, token }) => diff --git a/spaceward/src/features/modals/ReceiveAssets.tsx b/spaceward/src/features/modals/ReceiveAssets.tsx index 6fda59b0f..23ce73815 100644 --- a/spaceward/src/features/modals/ReceiveAssets.tsx +++ b/spaceward/src/features/modals/ReceiveAssets.tsx @@ -1,5 +1,5 @@ import clsx from "clsx"; -import { useState } from "react"; +import { useRef, useState } from "react"; import QRCode from "react-qr-code"; import { Copy } from "@/components/ui/copy"; import { TransferParams } from "./types"; @@ -102,6 +102,7 @@ export const fixAddress = ( }; export default function ReceiveAssetsModal(props: TransferParams) { + const copyRef = useRef(null); const { setData: setModal } = useModalState(); const { spaceId } = useSpaceId(); const { queryBalances } = useAssetQueries(spaceId); @@ -200,14 +201,14 @@ export default function ReceiveAssetsModal(props: TransferParams) { address
- +
- - - +
)} diff --git a/spaceward/src/features/modals/index.tsx b/spaceward/src/features/modals/index.tsx index 831c553a1..00705de0f 100644 --- a/spaceward/src/features/modals/index.tsx +++ b/spaceward/src/features/modals/index.tsx @@ -25,7 +25,7 @@ function hasEntry(key: K, obj?: T): obj is T & { export default function ModalRoot() { const { data, setData } = useModalState(); - const isDesktop = useMediaQuery("(min-width: 768px)"); + const isLargeScreen = useMediaQuery("(min-width: 1280px) and (min-height: 800px)"); // fixme async function _cancel() { @@ -65,20 +65,20 @@ export default function ModalRoot() { )} >
- {!isDesktop ? ( + {!isLargeScreen ? ( ) : null}
- {isDesktop ? ( + {isLargeScreen ? ( diff --git a/spaceward/src/utils/shield.ts b/spaceward/src/utils/shield.ts index f2487ecef..cbbb9050d 100644 --- a/spaceward/src/utils/shield.ts +++ b/spaceward/src/utils/shield.ts @@ -266,6 +266,10 @@ export const validateAddressNumber = (expression?: Expression) => { break; } + // do not validate whitelist + case "contains": { + break; + } default: error = `Validation failed: unknown function name: ${name}`; break;