From 57b1e83fbe79621aab9697ac4c2a4571af6e849e Mon Sep 17 00:00:00 2001 From: Calvin Kei Date: Tue, 14 Dec 2021 15:03:10 +0800 Subject: [PATCH 1/3] some fixes --- components/AssetDistributionChart/Chart.tsx | 15 +++++------ components/AssetDistributionChart/index.tsx | 28 +++++++++++---------- components/ProfileCard/index.tsx | 3 ++- misc/utils.ts | 4 ++- 4 files changed, 28 insertions(+), 22 deletions(-) diff --git a/components/AssetDistributionChart/Chart.tsx b/components/AssetDistributionChart/Chart.tsx index 110de854..a73c3ace 100644 --- a/components/AssetDistributionChart/Chart.tsx +++ b/components/AssetDistributionChart/Chart.tsx @@ -36,17 +36,18 @@ const Chart: React.FC = ({ data: rawData, setPopoverIndex, setAnchorP const [activeIndex, setActiveIndex] = React.useState(0) const theme: CustomTheme = useTheme() + const activeData = data[activeIndex] || data[0] + // todo: how to override light mode color of the pie? it shows black when it is activeIndex const { top, left } = React.useMemo(() => { - const midAngle = - (((data[activeIndex].startAngle + data[activeIndex].endAngle) / 2) * Math.PI) / 180 - const radius = (1.27 * Number(data[activeIndex].outerRadius.replace('%', ''))) / 2 + const midAngle = (((activeData.startAngle + activeData.endAngle) / 2) * Math.PI) / 180 + const radius = (1.27 * Number(activeData.outerRadius.replace('%', ''))) / 2 return { top: `calc(50% - ${Math.sin(midAngle) * radius}px)`, left: `calc(30% + ${Math.cos(midAngle) * radius}px)`, } - }, [activeIndex, data]) + }, [activeData]) return ( @@ -82,11 +83,11 @@ const Chart: React.FC = ({ data: rawData, setPopoverIndex, setAnchorP - {formatPercentage(data[activeIndex].value, lang)} + {formatPercentage(activeData.value, lang)} - - {data[activeIndex].name} + + {activeData.name} diff --git a/components/AssetDistributionChart/index.tsx b/components/AssetDistributionChart/index.tsx index 5209f13f..5abbf206 100644 --- a/components/AssetDistributionChart/index.tsx +++ b/components/AssetDistributionChart/index.tsx @@ -75,23 +75,25 @@ const AssetDistributionChart: React.FC = () => { Object.keys(balancesByValidator).forEach((moniker) => { rawData.push({ name: moniker, - value: getTokenAmountBalance(balancesByValidator[moniker].amount), + // TODO: uncomment the line below when DSM has value > 0 + // value: getTokenAmountBalance(balancesByValidator[moniker].amount), + value: Object.values(balancesByValidator[moniker].amount) + .map((a: any) => a.amount) + .reduce((a, b) => a + b, 0), }) }) const total = rawData.map((d) => d.value).reduce((a, b) => a + b, 0) setData( - rawData.map((d) => ({ - name: d.name, - image: balancesByValidator[d.name].avatar, - value: - // eslint-disable-next-line no-nested-ternary - total === 0 - ? 1 / rawData.length - : d.value === total - ? 1 - : Math.round(d.value / total), - extraData: balancesByValidator[d.name], - })) + rawData + .filter((d) => d.value > 0) + .map((d) => ({ + name: d.name, + image: balancesByValidator[d.name].avatar, + value: + // eslint-disable-next-line no-nested-ternary + total === 0 ? 1 / rawData.length : d.value === total ? 1 : d.value / total, + extraData: balancesByValidator[d.name], + })) ) } } catch (err) { diff --git a/components/ProfileCard/index.tsx b/components/ProfileCard/index.tsx index edb3d8a3..3ef8dff3 100644 --- a/components/ProfileCard/index.tsx +++ b/components/ProfileCard/index.tsx @@ -1,6 +1,7 @@ import { Card, CardMedia, CardContent, Typography, Avatar, Box, Button } from '@material-ui/core' import useTranslation from 'next-translate/useTranslation' import React from 'react' +import Markdown from '../Markdown' import useStyles from './styles' import { useGeneralContext } from '../../contexts/GeneralContext' import useIsMobile from '../../misc/useIsMobile' @@ -65,7 +66,7 @@ const ProfileCard: React.FC = ({ - {profile.bio} + {profile.bio} diff --git a/misc/utils.ts b/misc/utils.ts index 246cd803..7118e3dd 100644 --- a/misc/utils.ts +++ b/misc/utils.ts @@ -3,6 +3,7 @@ import last from 'lodash/last' import cloneDeep from 'lodash/cloneDeep' import drop from 'lodash/drop' import keyBy from 'lodash/keyBy' +import flatten from 'lodash/flatten' import { format, differenceInDays } from 'date-fns' import TransportWebHID from '@ledgerhq/hw-transport-webhid' import { EnglishMnemonic } from '@cosmjs/crypto' @@ -167,6 +168,7 @@ export const getWalletsBalancesFromAccountsBalances = ( export const transformGqlAcountBalance = (data: any, timestamp: number): AccountBalance => { const denoms = get(data, 'account[0].available[0].tokens_prices', []) + console.log(data) const balance = { available: getTokenAmountFromDenoms(get(data, 'account[0].available[0].coins', []), denoms), delegated: getTokenAmountFromDenoms( @@ -184,7 +186,7 @@ export const transformGqlAcountBalance = (data: any, timestamp: number): Account denoms ), commissions: getTokenAmountFromDenoms( - get(data, 'account[0].validator.validator.commissions', []).map((d) => d.amount), + flatten(get(data, 'account[0].validator[0].validator.commissions', []).map((d) => d.amount)), denoms ), } From d59c1b6f6360ce5a66f460fc61c875bd3c4b84fd Mon Sep 17 00:00:00 2001 From: Calvin Kei Date: Wed, 15 Dec 2021 23:46:01 +0800 Subject: [PATCH 2/3] airdrop flow --- ...mation.svg => icon_danger_exclamation.svg} | 2 +- assets/images/icons/icon_tick.svg | 4 +- assets/images/icons/icon_warning.svg | 17 +++++ components/Banner/index.tsx | 9 ++- components/ConnectChainDialog/index.tsx | 8 ++- .../DsmAirdrop/AirdropEligibilityDetails.tsx | 63 ++++++++++++++++++- components/DsmAirdrop/CheckClaimable.tsx | 23 ++++++- components/DsmAirdrop/ClaimableAmount.tsx | 48 ++++++++++++-- components/DsmAirdrop/index.tsx | 15 +++++ components/DsmAirdrop/styles.ts | 2 +- locales/en/common.json | 8 ++- misc/utils.ts | 3 - 12 files changed, 178 insertions(+), 24 deletions(-) rename assets/images/icons/{icon_Danger exclamation.svg => icon_danger_exclamation.svg} (97%) create mode 100644 assets/images/icons/icon_warning.svg diff --git a/assets/images/icons/icon_Danger exclamation.svg b/assets/images/icons/icon_danger_exclamation.svg similarity index 97% rename from assets/images/icons/icon_Danger exclamation.svg rename to assets/images/icons/icon_danger_exclamation.svg index 06938d89..383eb4ef 100644 --- a/assets/images/icons/icon_Danger exclamation.svg +++ b/assets/images/icons/icon_danger_exclamation.svg @@ -1,6 +1,6 @@ -