From 127eeb03cfddc0f45cf0bfa9d52055782b253e2d Mon Sep 17 00:00:00 2001 From: bartosz-lipinski <264380+bartosz-lipinski@users.noreply.github.com> Date: Mon, 26 Apr 2021 17:05:45 -0500 Subject: [PATCH] fix: art selector --- packages/metavinci/src/actions/nft.tsx | 2 -- .../src/views/auctionCreate/artSelector.tsx | 20 ++++++----- .../src/views/auctionCreate/index.tsx | 36 ++++++++++--------- 3 files changed, 32 insertions(+), 26 deletions(-) diff --git a/packages/metavinci/src/actions/nft.tsx b/packages/metavinci/src/actions/nft.tsx index 10d699c..d38799a 100644 --- a/packages/metavinci/src/actions/nft.tsx +++ b/packages/metavinci/src/actions/nft.tsx @@ -242,8 +242,6 @@ export const mintNFT = async ( updateSigners, ); - debugger; - notify({ message: 'Art created on Solana', description: ( diff --git a/packages/metavinci/src/views/auctionCreate/artSelector.tsx b/packages/metavinci/src/views/auctionCreate/artSelector.tsx index 2505858..71e4734 100644 --- a/packages/metavinci/src/views/auctionCreate/artSelector.tsx +++ b/packages/metavinci/src/views/auctionCreate/artSelector.tsx @@ -46,11 +46,13 @@ export const ArtSelector = (props: ArtSelectorProps) => { }; const confirm = () => { - let list = items.filter(item => - selectedItems.has(item.metadata.pubkey.toBase58()), - ); - setSelected(list); - close(); + setTimeout(() => { + let list = items.filter(item => + selectedItems.has(item.metadata.pubkey.toBase58()), + ); + setSelected(list); + close(); + }, 200); }; const breakpointColumnsObj = { @@ -131,9 +133,11 @@ export const ArtSelector = (props: ArtSelectorProps) => { list = []; } - isSelected - ? setSelectedItems(new Set(list.filter(item => item !== id))) - : setSelectedItems(new Set([...list, id])); + const newSet = isSelected + ? new Set(list.filter(item => item !== id)) + : new Set([...list, id]); + + setSelectedItems(newSet); if (!allowMultiple) { confirm(); diff --git a/packages/metavinci/src/views/auctionCreate/index.tsx b/packages/metavinci/src/views/auctionCreate/index.tsx index a971961..2ff37c3 100644 --- a/packages/metavinci/src/views/auctionCreate/index.tsx +++ b/packages/metavinci/src/views/auctionCreate/index.tsx @@ -57,6 +57,7 @@ import { SafetyDepositDraft, } from '../../actions/createAuctionManager'; import BN from 'bn.js'; +import { ZERO } from '@oyster/common/dist/lib/constants'; const { Step } = Steps; const { Option } = Select; @@ -110,6 +111,8 @@ export interface AuctionState { spots?: number; tiers?: Array; + + winnersCount: number; } export const AuctionCreateView = () => { @@ -128,6 +131,7 @@ export const AuctionCreateView = () => { items: [], category: AuctionCategory.Open, saleType: 'auction', + winnersCount: 1, }); useEffect(() => { @@ -154,28 +158,27 @@ export const AuctionCreateView = () => { winnerLimit = new WinnerLimit({ type: WinnerLimitType.Unlimited, - usize: new BN(0), + usize: ZERO, }); } else if (attributes.category == AuctionCategory.Single) { settings = new AuctionManagerSettings({ openEditionWinnerConstraint: WinningConstraint.NoOpenEdition, openEditionNonWinningConstraint: NonWinningConstraint.NoOpenEdition, - winningConfigs: [ - { - safetyDepositBoxIndex: 0, - amount: 1, - hasAuthority: false, - editionType: items[0].masterEdition - ? EditionType.MasterEdition - : EditionType.NA, - }, - ], + winningConfigs: attributes.items.map((item, index) => ({ + // TODO: check index + safetyDepositBoxIndex: index, + amount: 1, + hasAuthority: false, + editionType: item.masterEdition + ? EditionType.MasterEdition + : EditionType.NA, + })), openEditionConfig: null, openEditionFixedPrice: null, }); winnerLimit = new WinnerLimit({ type: WinnerLimitType.Capped, - usize: new BN(1), + usize: new BN(attributes.winnersCount), }); } else { throw new Error('Not supported'); @@ -188,7 +191,8 @@ export const AuctionCreateView = () => { winnerLimit, new BN((attributes.auctionDuration || 1) * 60), new BN((attributes.gapTime || 1) * 60), - [items[0]], + attributes.items, + // TODO: move to config new PublicKey('4XEUcBjLyBHuMDKTARycf4VXqpsAsDcThMbhWgFuDGsC'), ); }; @@ -356,7 +360,7 @@ export const AuctionCreateView = () => { )} {stepsByCategory[attributes.category][step][1]} - {0 < step && step < stepsByCategory[attributes.category].length && ( + {0 < step && step < (stepsByCategory[attributes.category].length -1) && (