diff --git a/resources/js/components/RadioGroupButton.vue b/resources/js/components/RadioGroupButton.vue index 0b8d43fc..7a3392df 100644 --- a/resources/js/components/RadioGroupButton.vue +++ b/resources/js/components/RadioGroupButton.vue @@ -11,6 +11,8 @@ { 'md:grid-cols-2': cols === 2, 'md:grid-cols-3': cols === 3, + 'md:grid-cols-4': cols === 4, + 'md:grid-cols-5': cols === 5, }, `mt-4 grid grid-cols-2 gap-y-6 gap-x-4`, ]" @@ -26,7 +28,7 @@
diff --git a/resources/js/components/marketplace/CounterOffersList.vue b/resources/js/components/marketplace/CounterOffersList.vue new file mode 100644 index 00000000..186a12b1 --- /dev/null +++ b/resources/js/components/marketplace/CounterOffersList.vue @@ -0,0 +1,359 @@ + + + diff --git a/resources/js/components/marketplace/OffersList.vue b/resources/js/components/marketplace/OffersList.vue new file mode 100644 index 00000000..7ff35833 --- /dev/null +++ b/resources/js/components/marketplace/OffersList.vue @@ -0,0 +1,359 @@ + + + diff --git a/resources/js/components/pages/Marketplace.vue b/resources/js/components/pages/Marketplace.vue index 24f90a04..57c445fc 100644 --- a/resources/js/components/pages/Marketplace.vue +++ b/resources/js/components/pages/Marketplace.vue @@ -25,6 +25,16 @@ const marketTypes = [ label: 'Listings', value: 'ListingsList', }, + { + key: 'btn-offers', + label: 'Offers', + value: 'OffersList', + }, + { + key: 'btn-counter-offers', + label: 'Counter Offers', + value: 'CounterOffersList', + }, { key: 'btn-sales', label: 'Sales', @@ -35,6 +45,8 @@ const marketTypes = [ const martketRoutes = { BidsList: 'platform.marketplace.bids', ListingsList: 'platform.marketplace.listings', + OffersList: 'platform.marketplace.offers', + CounterOffersList: 'platform.marketplace.counter-offers', SalesList: 'platform.marketplace.sales', }; diff --git a/resources/js/components/pages/create/CreateListing.vue b/resources/js/components/pages/create/CreateListing.vue index 1ac005a4..5607c92c 100644 --- a/resources/js/components/pages/create/CreateListing.vue +++ b/resources/js/components/pages/create/CreateListing.vue @@ -53,7 +53,7 @@ @@ -150,7 +150,7 @@
@@ -281,12 +281,15 @@ const createListing = async () => { collectionId: takeCollectionId.value, tokenId: formatToken(takeTokenId.value), }, - auctionData: enableAuction.value - ? { - startBlock: auctionDataStart.value, - endBlock: auctionDataEnd.value, - } - : null, + listingData: { + type: enableAuction.value ? 'AUCTION' : 'FIXED_PRICE', + auctionParams: enableAuction.value + ? { + startBlock: auctionDataStart.value, + endBlock: auctionDataEnd.value, + } + : undefined, + }, idempotencyKey: idempotencyKey.value, }) ); diff --git a/resources/js/components/pages/create/CreateOffer.vue b/resources/js/components/pages/create/CreateOffer.vue new file mode 100644 index 00000000..fd6bd838 --- /dev/null +++ b/resources/js/components/pages/create/CreateOffer.vue @@ -0,0 +1,315 @@ + + + diff --git a/resources/js/graphql/mutation/marketplace/CreateListing.ts b/resources/js/graphql/mutation/marketplace/CreateListing.ts index 10f64f22..ca71e6a8 100644 --- a/resources/js/graphql/mutation/marketplace/CreateListing.ts +++ b/resources/js/graphql/mutation/marketplace/CreateListing.ts @@ -1,11 +1,12 @@ -export default `mutation CreateListing($makeAssetId: MultiTokenIdInput!, $takeAssetId: MultiTokenIdInput!, $amount: BigInt!, $price: BigInt!, $salt: String, $auctionData: AuctionDataInputType, $idempotencyKey: String) { +export default `mutation CreateListing($makeAssetId: MultiTokenIdInput!, $takeAssetId: MultiTokenIdInput!, $amount: BigInt!, $price: BigInt!, $salt: String, $listingData: ListingDataInput, $signingAccount: String, $idempotencyKey: String) { CreateListing( makeAssetId: $makeAssetId takeAssetId: $takeAssetId amount: $amount price: $price salt: $salt - auctionData: $auctionData + listingData: $listingData + signingAccount: $signingAccount idempotencyKey: $idempotencyKey ) { id diff --git a/resources/js/router/index.ts b/resources/js/router/index.ts index 133229ae..e4004312 100644 --- a/resources/js/router/index.ts +++ b/resources/js/router/index.ts @@ -103,6 +103,16 @@ const routes = [ name: 'platform.marketplace.listings', component: () => import('../components/marketplace/ListingsList.vue'), }, + { + path: 'offers', + name: 'platform.marketplace.offers', + component: () => import('../components/marketplace/OffersList.vue'), + }, + { + path: 'counter-offers', + name: 'platform.marketplace.counter-offers', + component: () => import('../components/marketplace/CounterOffersList.vue'), + }, { path: 'sales', name: 'platform.marketplace.sales', @@ -155,6 +165,15 @@ const routes = [ requiresToken: true, }, }, + { + path: '/create/offer', + name: 'platform.create.offer', + component: () => import('../components/pages/create/CreateOffer.vue'), + meta: { + requiresAuth: true, + requiresToken: true, + }, + }, { path: '/create/batch', name: 'platform.create.batch',