Disable deploy button when account is not selected
This commit is contained in:
parent
05bd766133
commit
93afc0be7a
@ -538,7 +538,9 @@ const Configure = () => {
|
|||||||
<Button
|
<Button
|
||||||
{...buttonSize}
|
{...buttonSize}
|
||||||
type="submit"
|
type="submit"
|
||||||
disabled={isLoading || isPaymentLoading}
|
disabled={
|
||||||
|
isLoading || isPaymentLoading || !selectedAccount
|
||||||
|
}
|
||||||
rightIcon={
|
rightIcon={
|
||||||
isLoading || isPaymentLoading ? (
|
isLoading || isPaymentLoading ? (
|
||||||
<LoadingIcon className="animate-spin" />
|
<LoadingIcon className="animate-spin" />
|
||||||
|
@ -42,31 +42,31 @@ export const AuctionCard = ({ project }: { project: Project }) => {
|
|||||||
<LoadingIcon className="animate-spin" />
|
<LoadingIcon className="animate-spin" />
|
||||||
);
|
);
|
||||||
|
|
||||||
const checkAuctionStatus = useCallback(async () => {
|
const checkAuctionStatus = useCallback(async () => {
|
||||||
const result = await client.getAuctionData(project.auctionId);
|
const result = await client.getAuctionData(project.auctionId);
|
||||||
setAuctionStatus(result.status);
|
setAuctionStatus(result.status);
|
||||||
setAuctionDetails(result);
|
setAuctionDetails(result);
|
||||||
}, [project.auctionId, project.deployers, project.fundsReleased]);
|
}, [project.auctionId, project.deployers, project.fundsReleased]);
|
||||||
|
|
||||||
const fetchUpdatedProject = useCallback(async () => {
|
const fetchUpdatedProject = useCallback(async () => {
|
||||||
const updatedProject = await client.getProject(project.id);
|
const updatedProject = await client.getProject(project.id);
|
||||||
setDeployers(updatedProject.project!.deployers!);
|
setDeployers(updatedProject.project!.deployers!);
|
||||||
setFundsStatus(updatedProject.project!.fundsReleased!);
|
setFundsStatus(updatedProject.project!.fundsReleased!);
|
||||||
}, [project.id]);
|
}, [project.id]);
|
||||||
|
|
||||||
const fetchData = useCallback(async () => {
|
const fetchData = useCallback(async () => {
|
||||||
await Promise.all([checkAuctionStatus(), fetchUpdatedProject()]);
|
await Promise.all([checkAuctionStatus(), fetchUpdatedProject()]);
|
||||||
}, [checkAuctionStatus, fetchUpdatedProject]);
|
}, [checkAuctionStatus, fetchUpdatedProject]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
fetchData();
|
||||||
|
|
||||||
|
const timerId = setInterval(() => {
|
||||||
fetchData();
|
fetchData();
|
||||||
|
}, WAIT_DURATION);
|
||||||
|
|
||||||
const timerId = setInterval(() => {
|
return () => clearInterval(timerId);
|
||||||
fetchData();
|
}, [fetchData]);
|
||||||
}, WAIT_DURATION);
|
|
||||||
|
|
||||||
return () => clearInterval(timerId);
|
|
||||||
}, [fetchData]);
|
|
||||||
|
|
||||||
const renderAuctionStatus = useCallback(
|
const renderAuctionStatus = useCallback(
|
||||||
() => (
|
() => (
|
||||||
|
@ -10,7 +10,6 @@ import {
|
|||||||
import SignClient from '@walletconnect/sign-client';
|
import SignClient from '@walletconnect/sign-client';
|
||||||
import { getSdkError } from '@walletconnect/utils';
|
import { getSdkError } from '@walletconnect/utils';
|
||||||
import { SessionTypes } from '@walletconnect/types';
|
import { SessionTypes } from '@walletconnect/types';
|
||||||
import { StargateClient } from '@cosmjs/stargate';
|
|
||||||
|
|
||||||
import { walletConnectModal } from '../utils/web3modal';
|
import { walletConnectModal } from '../utils/web3modal';
|
||||||
import {
|
import {
|
||||||
@ -46,10 +45,6 @@ export const WalletConnectClientProvider = ({
|
|||||||
|
|
||||||
const isSignClientInitializing = useRef<boolean>(false);
|
const isSignClientInitializing = useRef<boolean>(false);
|
||||||
|
|
||||||
const createCosmosClient = useCallback(async (endpoint: string) => {
|
|
||||||
return await StargateClient.connect(endpoint);
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
const onSessionConnect = useCallback(async (session: SessionTypes.Struct) => {
|
const onSessionConnect = useCallback(async (session: SessionTypes.Struct) => {
|
||||||
setSession(session);
|
setSession(session);
|
||||||
}, []);
|
}, []);
|
||||||
@ -166,6 +161,11 @@ export const WalletConnectClientProvider = ({
|
|||||||
if (!session) {
|
if (!session) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (!session.namespaces['cosmos']) {
|
||||||
|
console.log('Accounts for cosmos namespace not found');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const cosmosAddresses = session.namespaces['cosmos'].accounts;
|
const cosmosAddresses = session.namespaces['cosmos'].accounts;
|
||||||
|
|
||||||
const cosmosAccounts = cosmosAddresses.map((address) => ({
|
const cosmosAccounts = cosmosAddresses.map((address) => ({
|
||||||
@ -178,7 +178,7 @@ export const WalletConnectClientProvider = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
populateAccounts();
|
populateAccounts();
|
||||||
}, [session, createCosmosClient]);
|
}, [session]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!signClient) {
|
if (!signClient) {
|
||||||
|
Loading…
Reference in New Issue
Block a user