import InlineNotification from '@components/shared/InlineNotification' import { BN } from '@coral-xyz/anchor' import { useWallet } from '@solana/wallet-adapter-react' import GovernanceStore from '@store/governanceStore' import { useTranslation } from 'next-i18next' import { MANGO_DAO_WALLET_GOVERNANCE, MANGO_MINT_DECIMALS, } from 'utils/governance/constants' import { fmtTokenAmount } from 'utils/governance/tools' import { formatNumericValue } from 'utils/numbers' const OnBoarding = ({ minVotes }: { minVotes?: BN }) => { const { connected } = useWallet() const { t } = useTranslation(['governance']) const governances = GovernanceStore((s) => s.governances) const voter = GovernanceStore((s) => s.voter) const loadingVoter = GovernanceStore((s) => s.loadingVoter) const minVoterWeight = minVotes ? minVotes : governances ? new BN( governances[ MANGO_DAO_WALLET_GOVERNANCE.toBase58() ].account.config.minCommunityTokensToCreateProposal.toString(), ) : new BN(0) const mintVoterWeightNumber = governances ? fmtTokenAmount(minVoterWeight, MANGO_MINT_DECIMALS) : 0 return voter.voteWeight.cmp(minVoterWeight) !== -1 || !connected ? null : !loadingVoter ? (
{t('on-boarding-description', { amount: formatNumericValue(mintVoterWeightNumber), })}{' '} {t('mango-governance')} } desc={`${t('on-boarding-deposit-info')} ${t( 'on-boarding-description-1', )}`} />
) : null } export default OnBoarding