Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions app/dashboard/billing/deposit/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ export default function Deposit() {
if (!isConnectedRef.current || !walletInfoRef.current) {
return;
}
if (walletInfoRef.current?.address !== userInfo?.walletAddress) {
return;
}
try {
const getELFBalance: GetBalanceResponseType = await callViewMethod({
chainId: CHAIN_ID,
Expand Down Expand Up @@ -91,6 +94,7 @@ export default function Deposit() {
messageApi,
walletInfoRef.current,
isConnectedRef.current,
userInfo?.walletAddress,
]);

useEffect(() => {
Expand Down Expand Up @@ -154,17 +158,11 @@ export default function Deposit() {
router.back();
}, 2000);
} else {
messageApi.open({
type: 'error',
content: 'Deposit failed',
});
handleErrorMessage(depositResult?.error || depositResult);
}
console.log('depositResult', depositResult);
} else {
messageApi.open({
type: 'error',
content: 'Approve failed',
});
handleErrorMessage(approveResult?.error || approveResult);
}
} catch (error) {
handleErrorMessage(error);
Expand Down
12 changes: 2 additions & 10 deletions app/dashboard/billing/upgrade/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -229,22 +229,14 @@ export default function Upgrade() {
}, 2000);
}
} else {
messageApi.open({
type: 'info',
content: 'Confirm monthly purchase failed',
});
handleErrorMessage(lockResult?.error || lockResult);
await cancelOrder({
id: billingId,
});
}
console.log('lockResult', lockResult);
} catch (error) {
messageApi.open({
type: 'error',
content: `Confirm monthly purchase failed : ${handleErrorMessage(
error
)}`,
});
handleErrorMessage(error);
await cancelOrder({
id: billingId,
});
Expand Down
10 changes: 2 additions & 8 deletions app/dashboard/billing/withdraw/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -93,17 +93,11 @@ export default function Withdraw() {
router.back();
}, 2000);
} else {
messageApi.open({
type: 'error',
content: 'withdraw failed',
});
handleErrorMessage(withdrawResult?.error || withdrawResult);
}
console.log('withdrawResult', withdrawResult);
} catch (error) {
messageApi.open({
type: 'error',
content: `withdraw failed: ${handleErrorMessage(error)}`,
});
handleErrorMessage(error);
} finally {
setLoading(false);
}
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "aefinder",
"version": "2.22.1",
"version": "2.22.2",
"private": true,
"scripts": {
"dev": "next dev",
Expand Down
1 change: 1 addition & 0 deletions src/api/list.ts
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@ export const marketList = {
baseConfig: { method: 'POST' },
},
getFullPodUsage: `${AeFinderHost}/api/apps/resources/full-pod/usage`,
getResourceUsage: `${AeFinderHost}/api/apps/resource-usages`,
bindOrganization: {
target: `${AeFinderHost}/api/users/bind/organization`,
baseConfig: { method: 'POST' },
Expand Down
15 changes: 15 additions & 0 deletions src/api/requestMarket.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ import {
GetOrdersListRequest,
GetOrdersListResponse,
GetOrgBalanceResponse,
GetResourceUsageRequest,
GetResourceUsageResponse,
GetTransactionHistoryRequest,
GetTransactionHistoryResponse,
GetUserAllResponse,
Expand Down Expand Up @@ -94,6 +96,19 @@ export const getFullPodUsage = async (
}
};

export const getResourceUsage = async (
params: GetResourceUsageRequest
): Promise<GetResourceUsageResponse> => {
try {
const res = await request.market.getResourceUsage({
url: `${marketList.getResourceUsage}/${params?.appId}`,
});
return res;
} catch (error) {
throw new Error(handleErrorMessage(error, 'getFullPodUsage error'));
}
};

export const bindOrganization = async (
params: BindOrganizationRequest
): Promise<BindOrganizationResponse> => {
Expand Down
51 changes: 41 additions & 10 deletions src/components/appDetail/Capacity.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,17 @@ import {

import { useAppSelector } from '@/store/hooks';

import { getFullPodUsage } from '@/api/requestMarket';
import { getFullPodUsage, getResourceUsage } from '@/api/requestMarket';

import { FullPodUsageItem } from '@/types/marketType';
import {
FullPodUsageItem,
GetResourceUsageResponse,
usageItem,
} from '@/types/marketType';

export default function Capacity() {
const [podUsage, setPodUsage] = useState<FullPodUsageItem[]>();
console.log('podUsage', podUsage);
const [storageUsage, setStorageUsage] = useState<usageItem>();

const currentAppDetail = useAppSelector(
(state) => state.app.currentAppDetail
Expand All @@ -38,9 +42,28 @@ export default function Capacity() {
}
}, [currentAppDetail?.appId, currentVersion]);

const getResourceUsageTemp = useThrottleCallback(async () => {
if (!currentAppDetail?.appId) return;
const res: GetResourceUsageResponse = await getResourceUsage({
appId: currentAppDetail?.appId,
});

if (res?.resourceUsages) {
const tempUsageArray = res?.resourceUsages[currentVersion];
if (tempUsageArray?.length > 0) {
tempUsageArray.find((item) => {
if (item.name === 'Storage') {
setStorageUsage(item);
}
});
}
}
}, [currentAppDetail?.appId, currentVersion]);

useEffect(() => {
getFullPodUsageTemp();
}, [getFullPodUsageTemp]);
getResourceUsageTemp();
}, [getFullPodUsageTemp, getResourceUsageTemp]);

const displayCapacity = useCallback(() => {
const res = {
Expand Down Expand Up @@ -106,13 +129,21 @@ export default function Capacity() {
showInfo={false}
/>
</div>
{/* <div className='border-gray-E0 flex-1 rounded-lg border p-[24px]'>
<div className='text-gray-80'>Disk</div>
<div className='text-dark-normal mb-[6px] mt-[8px] font-medium'>
-- / -- GB
{storageUsage && (
<div className='border-gray-E0 flex-1 rounded-lg border p-[24px]'>
<div className='text-gray-80'>Disk</div>
<div className='text-dark-normal mb-[6px] mt-[8px] font-medium'>
{storageUsage?.usage} / {storageUsage?.limit}
</div>
<Progress
percent={calcDiv100(
storageUsage?.usage,
storageUsage?.limit
)}
showInfo={false}
/>
</div>
<Progress percent={0} showInfo={false} />
</div> */}
)}
</div>
</div>
);
Expand Down
15 changes: 4 additions & 11 deletions src/components/appDetail/UpdateCapacityDrawer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -455,23 +455,15 @@ export default function UpdateCapacityDrawer({
});
handleClose();
} else {
messageApi.open({
type: 'info',
content: 'Confirm monthly purchase failed',
});
handleErrorMessage(lockResult?.error || lockResult);
await cancelOrder({
id: billingId,
});
}
console.log('lockResult', lockResult);
} catch (error) {
console.log('error', error);
messageApi.open({
type: 'error',
content: `Confirm monthly purchase failed: ${handleErrorMessage(
error
)}`,
});
handleErrorMessage(error);
await cancelOrder({
id: billingId,
});
Expand Down Expand Up @@ -756,7 +748,8 @@ export default function UpdateCapacityDrawer({
disabled={
(originalCapacityType === currentCapacityType &&
originalStorageNum === currentStorageNum) ||
orgUser?.organizationStatus === 1
orgUser?.organizationStatus === 1 ||
currentTotalActualAmount > orgBalance?.balance
}
>
Save
Expand Down
22 changes: 20 additions & 2 deletions src/components/wallet/BindWallet.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ import {
useState,
} from 'react';

import { handleErrorMessage } from '@/lib/utils';

import { useGetWalletSignParams } from '@/components/wallet/getWalletSignParams';

import { bindWallet, getUsersInfo } from '@/api/requestApp';
Expand Down Expand Up @@ -115,6 +117,8 @@ export default function Bindwallet({
content: 'Bind sign wallet success',
});
callback && callback();
} else {
handleErrorMessage(res);
}
}
} catch (error) {
Expand Down Expand Up @@ -157,10 +161,23 @@ export default function Bindwallet({
}
}

if (res?.address || walletInfoRef.current?.address) {
const walletAddress = res?.address || walletInfoRef.current?.address;
if (walletAddress) {
// if have bind wallet address, go to dashboard
if (isHaveAddress) {
router.push('/dashboard');
// if not same wallet, show warning
if (walletAddress !== isHaveAddress) {
messageApi.open({
type: 'warning',
content: `Please use the same wallet address as the one you bind to sign in.`,
duration: 8,
});
if (isConnectedRef.current) {
await disConnectWallet();
}
} else {
router.push('/dashboard');
}
} else {
handleBindSignInWallet();
}
Expand All @@ -172,6 +189,7 @@ export default function Bindwallet({
isHaveAddress,
router,
setIsLoading,
disConnectWallet,
]);

return (
Expand Down
11 changes: 9 additions & 2 deletions src/lib/utils.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use client';

import { message } from 'antd';
import { message, notification } from 'antd';
import BigNumber from 'bignumber.js';
import BN, { isBN } from 'bn.js';
import clsx, { ClassValue } from 'clsx';
Expand Down Expand Up @@ -97,6 +97,8 @@ export function handleErrorMessage(error: any, errorText?: string) {
error = error?.data?.error_description || error;
// api error
error = error?.data?.error || error;
// contract error
error = error?.error || error;
if (typeof error === 'string') errorText = error;
if (typeof error.message === 'string') errorText = error.message;
if (error?.validationErrors && typeof error?.validationErrors === 'object') {
Expand All @@ -107,7 +109,12 @@ export function handleErrorMessage(error: any, errorText?: string) {
if (error?.details && typeof error?.details === 'string') {
errorText = error?.details;
}
message.error(errorText, 3);
notification.destroy();
errorText &&
notification?.error({
message: errorText,
});
// message.error(errorText, 3);
return error;
}

Expand Down
4 changes: 4 additions & 0 deletions src/types/appType.ts
Original file line number Diff line number Diff line change
Expand Up @@ -128,4 +128,8 @@ export type ApproveResponseType = {
TransactionSize: number;
};
transactionId: string;
error?: {
code: number;
message: string;
};
};
21 changes: 21 additions & 0 deletions src/types/marketType.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,27 @@ export type FullPodUsageItem = {
memoryUsage: string;
};

export type GetResourceUsageRequest = {
appId: string;
};

export type usageItem = {
name: string;
limit: string;
usage: string;
};

export type GetResourceUsageResponse = {
appInfo: {
appId: string;
appName: string;
};
organizationId: string;
resourceUsages: {
[key: string]: usageItem[];
};
};

export type GetFullPodUsageResponse = FullPodUsageItem[];

export type BindOrganizationRequest = {
Expand Down