diff --git a/apps/staking/app/faucet/AuthModule.tsx b/apps/staking/app/faucet/AuthModule.tsx index a8f11f22..be02b3cf 100644 --- a/apps/staking/app/faucet/AuthModule.tsx +++ b/apps/staking/app/faucet/AuthModule.tsx @@ -126,6 +126,7 @@ export const AuthModule = () => { const { hash, error, faucetError } = res; if (hash) { setTransactionHash(hash); + setFormState(FORM_STATE.SUCCESS); return resolve(hash); } diff --git a/apps/staking/app/stake/ActionModule.tsx b/apps/staking/app/stake/ActionModule.tsx index f3ef4dd9..c7802bf8 100644 --- a/apps/staking/app/stake/ActionModule.tsx +++ b/apps/staking/app/stake/ActionModule.tsx @@ -48,7 +48,7 @@ export const actionModuleBackground = { background: 'url(/images/action-module-background-1.png)', backgroundPositionX: '85%', backgroundPositionY: 'bottom', - backgroundSize: '350%', + backgroundSize: '150%', backgroundRepeat: 'no-repeat', }, 2: { diff --git a/apps/staking/app/stake/node/[nodeId]/BlockExplorerLink.tsx b/apps/staking/app/stake/node/[nodeId]/BlockExplorerLink.tsx new file mode 100644 index 00000000..8ba9d2ad --- /dev/null +++ b/apps/staking/app/stake/node/[nodeId]/BlockExplorerLink.tsx @@ -0,0 +1,42 @@ +'use client'; + +import { OpenNode } from '@session/sent-staking-js/client'; +import { LoadingText } from '@session/ui/components/loading-text'; +import { LinkOutIcon } from '@session/ui/icons/LinkOutIcon'; +import { useTranslations } from 'next-intl'; +import Link from 'next/link'; +import { useEffect, useMemo, useState } from 'react'; + +export const BlockExplorerLink = ({ nodeId }: { nodeId: string }) => { + const [loading, setLoading] = useState(true); + const [nodes, setNodes] = useState>([]); + const dictionary = useTranslations('actionModules.node'); + + useEffect(() => { + fetch('/api/sent/nodes/open') + .then((res) => res.json()) + .then((data) => setNodes(data.nodes)) + .catch(console.error) + .finally(() => setLoading(false)); + }, []); + + const node = useMemo(() => { + /* if (showMockNodes) { + return generateOpenNodes({ userAddress: address })[0]; + } else if (showNoNodes) { + return {} as OpenNode; + } */ + return nodes?.find((node) => node.service_node_pubkey === nodeId); + }, [nodes]); + + return loading ? ( + + ) : node?.contract ? ( + + + {dictionary('viewOnExplorer')} + + + + ) : null; +}; diff --git a/apps/staking/app/stake/node/[nodeId]/page.tsx b/apps/staking/app/stake/node/[nodeId]/page.tsx index 9271a0f2..c79a1627 100644 --- a/apps/staking/app/stake/node/[nodeId]/page.tsx +++ b/apps/staking/app/stake/node/[nodeId]/page.tsx @@ -1,7 +1,6 @@ -import { LinkOutIcon } from '@session/ui/icons/LinkOutIcon'; import { useTranslations } from 'next-intl'; -import Link from 'next/link'; import ActionModule from '../../ActionModule'; +import { BlockExplorerLink } from './BlockExplorerLink'; import NodeStaking from './NodeStaking'; interface NodePageParams { @@ -17,14 +16,7 @@ export default function NodePage({ params }: NodePageParams) { - - {dictionary('viewOnExplorer')} - - - - } + headerAction={} > diff --git a/apps/staking/public/images/action-module-background-1.png b/apps/staking/public/images/action-module-background-1.png index 5e34906e..382aef7f 100644 Binary files a/apps/staking/public/images/action-module-background-1.png and b/apps/staking/public/images/action-module-background-1.png differ diff --git a/apps/staking/public/images/action-module-background-2.png b/apps/staking/public/images/action-module-background-2.png index 229571fb..dae328c8 100644 Binary files a/apps/staking/public/images/action-module-background-2.png and b/apps/staking/public/images/action-module-background-2.png differ diff --git a/apps/staking/public/images/action-module-background-3.png b/apps/staking/public/images/action-module-background-3.png index beeddc53..b7e3ebd9 100644 Binary files a/apps/staking/public/images/action-module-background-3.png and b/apps/staking/public/images/action-module-background-3.png differ