diff --git a/src/components/NftRewards/AddNftCollectionForm/AddNftCollectionForm.tsx b/src/components/NftRewards/AddNftCollectionForm/AddNftCollectionForm.tsx index e4dccf3980..f31acc9273 100644 --- a/src/components/NftRewards/AddNftCollectionForm/AddNftCollectionForm.tsx +++ b/src/components/NftRewards/AddNftCollectionForm/AddNftCollectionForm.tsx @@ -4,7 +4,8 @@ import { Form, FormInstance } from 'antd' import ExternalLink from 'components/ExternalLink' import TooltipLabel from 'components/TooltipLabel' import { JuiceInput } from 'components/inputs/JuiceTextInput' -import { NftPostPayModalConfig, NftRewardTier } from 'models/nftRewards' +import { NftPostPayModalConfig } from 'models/nftPostPayModal' +import { NftRewardTier } from 'models/nftRewards' import { CreateCollapse } from 'packages/v2v3/components/Create/components/CreateCollapse/CreateCollapse' import { OptionalHeader } from 'packages/v2v3/components/Create/components/OptionalHeader' import { useLockPageRulesWrapper } from 'packages/v2v3/components/Create/hooks/useLockPageRulesWrapper' diff --git a/src/components/NftRewards/RewardsList/AddEditRewardModal.tsx b/src/components/NftRewards/RewardsList/AddEditRewardModal.tsx index 8239d76be3..c2eb1c4b8f 100644 --- a/src/components/NftRewards/RewardsList/AddEditRewardModal.tsx +++ b/src/components/NftRewards/RewardsList/AddEditRewardModal.tsx @@ -1,35 +1,34 @@ -import { Form, Modal, Tooltip } from 'antd' -import { NftFileType, UploadNoStyle } from 'components/inputs/UploadNoStyle' +import { QuestionCircleOutlined } from '@ant-design/icons' import { Trans, t } from '@lingui/macro' -import { - inputIsIntegerRule, - inputIsValidUrlRule, - inputMustBeEthAddressRule, - inputMustExistRule, - inputNonZeroRule, -} from 'utils/antdRules' -import { useCallback, useEffect, useLayoutEffect, useState } from 'react' - -import { CreateCollapse } from 'packages/v2v3/components/Create/components/CreateCollapse/CreateCollapse' -import { DEFAULT_NFT_MAX_SUPPLY } from 'packages/v2v3/constants/nftRewards' +import { Form, Modal, Tooltip } from 'antd' +import InputAccessoryButton from 'components/buttons/InputAccessoryButton' +import { WarningCallout } from 'components/Callout/WarningCallout' import { EthAddressInput } from 'components/inputs/EthAddressInput' import FormattedNumberInput from 'components/inputs/FormattedNumberInput' -import InputAccessoryButton from 'components/buttons/InputAccessoryButton' -import { JuiceInput } from 'components/inputs/JuiceTextInput' import { JuiceSwitch } from 'components/inputs/JuiceSwitch' import { JuiceTextArea } from 'components/inputs/JuiceTextArea' -import { NftRewardTier } from 'models/nftRewards' -import { NftRewardsData } from 'redux/slices/shared/v2ProjectTypes' -import { OptionalHeader } from 'packages/v2v3/components/Create/components/OptionalHeader' +import { JuiceInput } from 'components/inputs/JuiceTextInput' import PrefixedInput from 'components/inputs/PrefixedInput' -import { QuestionCircleOutlined } from '@ant-design/icons' -import { UploadRequestOption } from 'rc-upload/lib/interface' +import { NftFileType, UploadNoStyle } from 'components/inputs/UploadNoStyle' import { VIDEO_FILE_TYPES } from 'constants/fileTypes' -import { WarningCallout } from 'components/Callout/WarningCallout' -import { ipfsGatewayUrl } from 'utils/ipfs' import { pinFile } from 'lib/api/ipfs' import random from 'lodash/random' +import { NftRewardTier } from 'models/nftRewards' +import { CreateCollapse } from 'packages/v2v3/components/Create/components/CreateCollapse/CreateCollapse' +import { OptionalHeader } from 'packages/v2v3/components/Create/components/OptionalHeader' +import { DEFAULT_NFT_MAX_SUPPLY } from 'packages/v2v3/constants/nftRewards' +import { UploadRequestOption } from 'rc-upload/lib/interface' +import { useCallback, useEffect, useLayoutEffect, useState } from 'react' +import { NftRewardsData } from 'redux/slices/shared/v2ProjectTypes' +import { + inputIsIntegerRule, + inputIsValidUrlRule, + inputMustBeEthAddressRule, + inputMustExistRule, + inputNonZeroRule, +} from 'utils/antdRules' import { withHttps } from 'utils/externalLink' +import { ipfsGatewayUrl } from 'utils/ipfs' interface AddEditRewardModalFormProps { fileUrl: string @@ -247,11 +246,7 @@ export const AddEditRewardModal = ({ rules={[inputMustExistRule({ label: t`Minimum Contribution` })]} > - } + accessory={} /> diff --git a/src/components/NftRewards/RewardsList/RewardItem.tsx b/src/components/NftRewards/RewardsList/RewardItem.tsx index 1f9901c889..17e32c31b2 100644 --- a/src/components/NftRewards/RewardsList/RewardItem.tsx +++ b/src/components/NftRewards/RewardsList/RewardItem.tsx @@ -1,18 +1,17 @@ import { DeleteOutlined, EditOutlined, LinkOutlined } from '@ant-design/icons' import { Trans, t } from '@lingui/macro' - import EthereumAddress from 'components/EthereumAddress' import ExternalLink from 'components/ExternalLink' import { JuiceVideoThumbnailOrImage } from 'components/JuiceVideo/JuiceVideoThumbnailOrImage' +import TooltipLabel from 'components/TooltipLabel' +import round from 'lodash/round' import { NftRewardTier } from 'models/nftRewards' -import { NftRewardsData } from 'redux/slices/shared/v2ProjectTypes' import { ReactNode } from 'react' -import { RewardItemButton } from './RewardItemButton' -import TooltipLabel from 'components/TooltipLabel' -import { hasLimitedSupply } from 'utils/nftRewards' +import { NftRewardsData } from 'redux/slices/shared/v2ProjectTypes' import { isZeroAddress } from 'utils/address' +import { hasLimitedSupply } from 'utils/nftRewards' import { prettyUrl } from 'utils/url' -import round from 'lodash/round' +import { RewardItemButton } from './RewardItemButton' const SIGNIFICANT_FIGURE_LIMIT = 6 @@ -99,7 +98,9 @@ export const RewardItem = ({
{hasLimitedSupply(maxSupply) && ( >({ rewards: [], @@ -116,7 +115,7 @@ export const RewardsList: React.FC> & )}
{ const { nftRewards: nftRewardsData, fundingCycleMetadata } = useAppSelector( diff --git a/src/packages/v4/components/Create/components/pages/NftRewards/NftRewardsPage.tsx b/src/packages/v4/components/Create/components/pages/NftRewards/NftRewardsPage.tsx index 1115a8c705..54bfa3ad64 100644 --- a/src/packages/v4/components/Create/components/pages/NftRewards/NftRewardsPage.tsx +++ b/src/packages/v4/components/Create/components/pages/NftRewards/NftRewardsPage.tsx @@ -1,15 +1,14 @@ import { AddNftCollectionForm } from 'components/NftRewards/AddNftCollectionForm/AddNftCollectionForm' import { CREATE_FLOW } from 'constants/fathomEvents' -import { NATIVE_TOKEN_SYMBOLS } from 'juice-sdk-core' -import { PageContext } from '../../Wizard/contexts/PageContext' -import { SUPPORTED_JB_MULTITERMINAL_ADDRESS } from 'packages/v4/hooks/useLaunchProjectTx' -import { Wizard } from '../../Wizard/Wizard' +import { JBChainId, NATIVE_TOKEN_SYMBOLS } from 'juice-sdk-core' import { trackFathomGoal } from 'lib/fathom' +import { useContext } from 'react' import { useAppSelector } from 'redux/hooks/useAppSelector' +import { useSetCreateFurthestPageReached } from 'redux/hooks/useEditingCreateFurthestPageReached' import { useChainId } from 'wagmi' -import { useContext } from 'react' +import { PageContext } from '../../Wizard/contexts/PageContext' +import { Wizard } from '../../Wizard/Wizard' import { useCreateFlowNftRewardsForm } from './hooks/useCreateFlowNftRewardsForm' -import { useSetCreateFurthestPageReached } from 'redux/hooks/useEditingCreateFurthestPageReached' export function NftRewardsPage() { const { goToNextPage } = useContext(PageContext) @@ -26,8 +25,6 @@ export function NftRewardsPage() { useSetCreateFurthestPageReached('nftRewards') const chainId = useChainId() - const chainIdStr = - chainId?.toString() as keyof typeof SUPPORTED_JB_MULTITERMINAL_ADDRESS return ( } - priceCurrencySymbol={NATIVE_TOKEN_SYMBOLS[chainIdStr]} + priceCurrencySymbol={NATIVE_TOKEN_SYMBOLS[chainId as JBChainId]} onFinish={() => { goToNextPage?.() trackFathomGoal(CREATE_FLOW.NFT_NEXT_CTA) diff --git a/src/packages/v4/components/Create/components/pages/ReviewDeploy/components/RewardsReview/RewardsReview.tsx b/src/packages/v4/components/Create/components/pages/ReviewDeploy/components/RewardsReview/RewardsReview.tsx index 9e5e92108f..3d9b8604ac 100644 --- a/src/packages/v4/components/Create/components/pages/ReviewDeploy/components/RewardsReview/RewardsReview.tsx +++ b/src/packages/v4/components/Create/components/pages/ReviewDeploy/components/RewardsReview/RewardsReview.tsx @@ -1,17 +1,15 @@ -import { useCallback, useMemo } from 'react' - -import { NATIVE_TOKEN_SYMBOLS } from 'juice-sdk-core' -import { NftRewardTier } from 'models/nftRewards' -import { ReviewDescription } from '../ReviewDescription' -import { RewardsList } from 'components/NftRewards/RewardsList/RewardsList' -import { SUPPORTED_JB_MULTITERMINAL_ADDRESS } from 'packages/v4/hooks/useLaunchProjectTx' -import { creatingV2ProjectActions } from 'redux/slices/creatingV2Project' -import { formatEnabled } from 'utils/format/formatBoolean' import { t } from '@lingui/macro' +import { RewardsList } from 'components/NftRewards/RewardsList/RewardsList' +import { JBChainId, NATIVE_TOKEN_SYMBOLS } from 'juice-sdk-core' +import { NftRewardTier } from 'models/nftRewards' +import { useCallback, useMemo } from 'react' import { useAppDispatch } from 'redux/hooks/useAppDispatch' import { useAppSelector } from 'redux/hooks/useAppSelector' -import { useChainId } from 'wagmi' +import { creatingV2ProjectActions } from 'redux/slices/creatingV2Project' +import { formatEnabled } from 'utils/format/formatBoolean' import { v4 } from 'uuid' +import { useChainId } from 'wagmi' +import { ReviewDescription } from '../ReviewDescription' export const RewardsReview = () => { const { nftRewards: nftRewardsData, fundingCycleMetadata } = useAppSelector( @@ -70,13 +68,11 @@ export const RewardsReview = () => { }, [nftRewardsData.flags.preventOverspending]) const chainId = useChainId() - const chainIdStr = - chainId?.toString() as keyof typeof SUPPORTED_JB_MULTITERMINAL_ADDRESS return (
(b as JB_721_TIER_PARAMS_V4).price) { - return 1 - } - - if ((a as JB_721_TIER_PARAMS_V4).price < (b as JB_721_TIER_PARAMS_V4).price) { - return -1 - } - - return 0 - } - if ( version === JB721DelegateVersion.JB721DELEGATE_V3_2 || version === JB721DelegateVersion.JB721DELEGATE_V3_3 || @@ -446,7 +443,12 @@ type DeployTiered721DelegateParams = { collectionName: string collectionSymbol: string currency: V2V3CurrencyOption - tiers: (JB721TierParams | JB_721_TIER_PARAMS_V3_1 | JB_721_TIER_PARAMS_V3_2 | JB_721_TIER_PARAMS_V4)[] + tiers: ( + | JB721TierParams + | JB_721_TIER_PARAMS_V3_1 + | JB_721_TIER_PARAMS_V3_2 + | JB_721_TIER_PARAMS_V4 + )[] ownerAddress: string governanceType: JB721GovernanceType contractAddresses: {