From 5a4dd893195a637cd265297eb6cc14c89690a86f Mon Sep 17 00:00:00 2001 From: Bill Date: Wed, 27 Jul 2022 22:38:51 -0400 Subject: [PATCH] Marketplace commission fix --- .../marketplace/MarketplacePostOfferView.tsx | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/components/catalog/views/page/layout/marketplace/MarketplacePostOfferView.tsx b/src/components/catalog/views/page/layout/marketplace/MarketplacePostOfferView.tsx index 82232703..f9f614d5 100644 --- a/src/components/catalog/views/page/layout/marketplace/MarketplacePostOfferView.tsx +++ b/src/components/catalog/views/page/layout/marketplace/MarketplacePostOfferView.tsx @@ -1,5 +1,5 @@ import { GetMarketplaceConfigurationMessageComposer, MakeOfferMessageComposer, MarketplaceConfigurationEvent } from '@nitrots/nitro-renderer'; -import { FC, useCallback, useEffect, useState } from 'react'; +import { FC, useEffect, useState } from 'react'; import { FurnitureItem, LocalizeText, ProductTypeEnum, SendMessageComposer } from '../../../../../../api'; import { Base, Button, Column, Grid, LayoutFurniImageView, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../../../../../common'; import { CatalogPostMarketplaceOfferEvent } from '../../../../../../events'; @@ -13,7 +13,7 @@ export const MarketplacePostOfferView : FC<{}> = props => const { marketplaceConfiguration = null } = catalogOptions; const { showConfirm = null } = useNotification(); - const onMarketplaceConfigurationEvent = useCallback((event: MarketplaceConfigurationEvent) => + useMessageEvent(MarketplaceConfigurationEvent, event => { const parser = event.getParser(); @@ -25,16 +25,9 @@ export const MarketplacePostOfferView : FC<{}> = props => return newValue; }); - }, [ setCatalogOptions ]); + }); - useMessageEvent(MarketplaceConfigurationEvent, onMarketplaceConfigurationEvent); - - const onCatalogPostMarketplaceOfferEvent = useCallback( (event: CatalogPostMarketplaceOfferEvent) => - { - setItem(event.item); - }, []); - - useUiEvent(CatalogPostMarketplaceOfferEvent.POST_MARKETPLACE, onCatalogPostMarketplaceOfferEvent); + useUiEvent(CatalogPostMarketplaceOfferEvent.POST_MARKETPLACE, event => setItem(event.item)); useEffect(() => { @@ -55,9 +48,11 @@ export const MarketplacePostOfferView : FC<{}> = props => const getFurniTitle = (item ? LocalizeText(item.isWallItem ? 'wallItem.name.' + item.type : 'roomItem.name.' + item.type) : ''); const getFurniDescription = (item ? LocalizeText(item.isWallItem ? 'wallItem.desc.' + item.type : 'roomItem.desc.' + item.type) : ''); + const getCommission = () => Math.max(Math.ceil(((marketplaceConfiguration.commission * 0.01) * askingPrice)), 1); + const postItem = () => { - if(!item || (askingPrice <= marketplaceConfiguration.minimumPrice)) return; + if(!item || (askingPrice < marketplaceConfiguration.minimumPrice)) return; showConfirm(LocalizeText('inventory.marketplace.confirm_offer.info', [ 'furniname', 'price' ], [ getFurniTitle, askingPrice.toString() ]), () => { @@ -99,7 +94,7 @@ export const MarketplacePostOfferView : FC<{}> = props => } { (!((askingPrice < marketplaceConfiguration.minimumPrice) || (askingPrice > marketplaceConfiguration.maximumPrice) || isNaN(askingPrice))) && - { LocalizeText('inventory.marketplace.make_offer.final_price', [ 'commission', 'finalprice' ], [ marketplaceConfiguration.commission.toString(), (askingPrice + marketplaceConfiguration.commission).toString() ]) } + { LocalizeText('inventory.marketplace.make_offer.final_price', [ 'commission', 'finalprice' ], [ getCommission().toString(), (askingPrice + getCommission()).toString() ]) } }