mirror of
https://github.com/billsonnn/nitro-react.git
synced 2024-11-27 08:00:51 +01:00
Fix trade alerts
This commit is contained in:
parent
22f4b357fc
commit
34b8f855e4
@ -1,23 +1,26 @@
|
|||||||
import { AdvancedMap, BadgePointLimitsEvent, BadgeReceivedEvent, BadgesEvent, BotAddedToInventoryEvent, BotInventoryMessageEvent, BotRemovedFromInventoryEvent, FurnitureListAddOrUpdateEvent, FurnitureListEvent, FurnitureListInvalidateEvent, FurnitureListItemParser, FurnitureListRemovedEvent, FurniturePostItPlacedEvent, PetAddedToInventoryEvent, PetData, PetInventoryEvent, PetRemovedFromInventory, RequestBadgesComposer, TradingAcceptEvent, TradingCloseEvent, TradingCompletedEvent, TradingConfirmationEvent, TradingListItemEvent, TradingNotOpenEvent, TradingOpenEvent, TradingOpenFailedEvent, TradingOtherNotAllowedEvent, TradingYouAreNotAllowedEvent, UnseenItemsEvent } from '@nitrots/nitro-renderer';
|
import { AdvancedMap, BadgePointLimitsEvent, BadgeReceivedEvent, BadgesEvent, BotAddedToInventoryEvent, BotInventoryMessageEvent, BotRemovedFromInventoryEvent, FurnitureListAddOrUpdateEvent, FurnitureListEvent, FurnitureListInvalidateEvent, FurnitureListItemParser, FurnitureListRemovedEvent, FurniturePostItPlacedEvent, PetAddedToInventoryEvent, PetData, PetInventoryEvent, PetRemovedFromInventory, RequestBadgesComposer, TradingAcceptEvent, TradingCloseEvent, TradingCloseParser, TradingCompletedEvent, TradingConfirmationEvent, TradingListItemEvent, TradingNotOpenEvent, TradingOpenEvent, TradingOpenFailedEvent, TradingOpenFailedParser, TradingOtherNotAllowedEvent, TradingYouAreNotAllowedEvent, UnseenItemsEvent } from '@nitrots/nitro-renderer';
|
||||||
import { FC, useCallback } from 'react';
|
import { FC, useCallback } from 'react';
|
||||||
import { GetLocalization, GetRoomSession, GetSessionDataManager, LocalizeText, NotificationUtilities, SendMessageComposer } from '../../api';
|
import { GetLocalization, GetRoomSession, GetSessionDataManager, SendMessageComposer } from '../../api';
|
||||||
import { InventoryBadgesRequestEvent, InventoryBadgesUpdatedEvent } from '../../events';
|
import { InventoryBadgesRequestEvent, InventoryBadgesUpdatedEvent } from '../../events';
|
||||||
import { DispatchUiEvent, UseMessageEventHook, UseUiEvent } from '../../hooks';
|
import { DispatchUiEvent, UseMessageEventHook, UseUiEvent } from '../../hooks';
|
||||||
import { mergeFurniFragments } from './common/FurnitureUtilities';
|
import { mergeFurniFragments } from './common/FurnitureUtilities';
|
||||||
import { mergePetFragments } from './common/PetUtilities';
|
import { mergePetFragments } from './common/PetUtilities';
|
||||||
import { TradeState } from './common/TradeState';
|
import { TradeState } from './common/TradeState';
|
||||||
import { TradeUserData } from './common/TradeUserData';
|
import { TradeUserData } from './common/TradeUserData';
|
||||||
|
import { TradingNotificationMessage } from './common/TradingNotificationMessage';
|
||||||
|
import { TradingNotificationType } from './common/TradingNotificationType';
|
||||||
import { useInventoryContext } from './InventoryContext';
|
import { useInventoryContext } from './InventoryContext';
|
||||||
import { InventoryBadgeActions } from './reducers/InventoryBadgeReducer';
|
import { InventoryBadgeActions } from './reducers/InventoryBadgeReducer';
|
||||||
import { InventoryBotActions } from './reducers/InventoryBotReducer';
|
import { InventoryBotActions } from './reducers/InventoryBotReducer';
|
||||||
import { InventoryFurnitureActions } from './reducers/InventoryFurnitureReducer';
|
import { InventoryFurnitureActions } from './reducers/InventoryFurnitureReducer';
|
||||||
import { InventoryPetActions } from './reducers/InventoryPetReducer';
|
import { InventoryPetActions } from './reducers/InventoryPetReducer';
|
||||||
|
|
||||||
let furniMsgFragments: Map<number, FurnitureListItemParser>[] = null;
|
let furniMsgFragments: Map<number, FurnitureListItemParser>[] = null;
|
||||||
let petMsgFragments: Map<number, PetData>[] = null;
|
let petMsgFragments: Map<number, PetData>[] = null;
|
||||||
|
|
||||||
export const InventoryMessageHandler: FC<{}> = props =>
|
export const InventoryMessageHandler: FC<{}> = props =>
|
||||||
{
|
{
|
||||||
const { dispatchFurnitureState = null, dispatchBotState = null, dispatchPetState = null, badgeState = null, dispatchBadgeState = null, unseenTracker = null } = useInventoryContext();
|
const { dispatchFurnitureState = null, dispatchBotState = null, dispatchPetState = null, badgeState = null, dispatchBadgeState = null, unseenTracker = null, furnitureState = null } = useInventoryContext();
|
||||||
|
|
||||||
const onFurnitureListAddOrUpdateEvent = useCallback((event: FurnitureListAddOrUpdateEvent) =>
|
const onFurnitureListAddOrUpdateEvent = useCallback((event: FurnitureListAddOrUpdateEvent) =>
|
||||||
{
|
{
|
||||||
@ -192,11 +195,23 @@ export const InventoryMessageHandler: FC<{}> = props =>
|
|||||||
{
|
{
|
||||||
const parser = event.getParser();
|
const parser = event.getParser();
|
||||||
|
|
||||||
|
if(parser.reason === TradingCloseParser.ERROR_WHILE_COMMIT)
|
||||||
|
{
|
||||||
|
TradingNotificationMessage(TradingNotificationType.ERROR_WHILE_COMMIT);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(parser.userID !== (furnitureState && furnitureState.tradeData.ownUser.userId))
|
||||||
|
{
|
||||||
|
TradingNotificationMessage(TradingNotificationType.ALERT_OTHER_CANCELLED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dispatchFurnitureState({
|
dispatchFurnitureState({
|
||||||
type: InventoryFurnitureActions.CLOSE_TRADE,
|
type: InventoryFurnitureActions.CLOSE_TRADE,
|
||||||
payload: {}
|
payload: {}
|
||||||
});
|
});
|
||||||
}, [ dispatchFurnitureState ]);
|
}, [ furnitureState, dispatchFurnitureState ]);
|
||||||
|
|
||||||
const onTradingCompletedEvent = useCallback((event: TradingCompletedEvent) =>
|
const onTradingCompletedEvent = useCallback((event: TradingCompletedEvent) =>
|
||||||
{
|
{
|
||||||
@ -287,21 +302,23 @@ export const InventoryMessageHandler: FC<{}> = props =>
|
|||||||
{
|
{
|
||||||
const parser = event.getParser();
|
const parser = event.getParser();
|
||||||
|
|
||||||
NotificationUtilities.simpleAlert(LocalizeText(`inventory.trading.openfail.${ parser.reason }`, [ 'otherusername' ], [ parser.otherUserName ]), null, null, null, LocalizeText('inventory.trading.openfail.title'));
|
if((parser.reason !== TradingOpenFailedParser.REASON_YOU_ARE_ALREADY_TRADING && (parser.reason !== TradingOpenFailedParser.REASON_OTHER_USER_ALREADY_TRADING))) return;
|
||||||
|
|
||||||
|
TradingNotificationMessage(TradingNotificationType.ALERT_ALREADY_OPEN);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const onTradingOtherNotAllowedEvent = useCallback((event: TradingOtherNotAllowedEvent) =>
|
const onTradingOtherNotAllowedEvent = useCallback((event: TradingOtherNotAllowedEvent) =>
|
||||||
{
|
{
|
||||||
const parser = event.getParser();
|
const parser = event.getParser();
|
||||||
|
|
||||||
console.log(parser);
|
TradingNotificationMessage(TradingNotificationType.ALERT_OTHER_DISABLED);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const onTradingYouAreNotAllowedEvent = useCallback((event: TradingYouAreNotAllowedEvent) =>
|
const onTradingYouAreNotAllowedEvent = useCallback((event: TradingYouAreNotAllowedEvent) =>
|
||||||
{
|
{
|
||||||
const parser = event.getParser();
|
const parser = event.getParser();
|
||||||
|
|
||||||
console.log(parser);
|
TradingNotificationMessage(TradingNotificationType.YOU_NOT_ALLOWED);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const onUnseenItemsEvent = useCallback((event: UnseenItemsEvent) =>
|
const onUnseenItemsEvent = useCallback((event: UnseenItemsEvent) =>
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
import { LocalizeText, NotificationUtilities } from '../../../api';
|
||||||
|
import { TradingNotificationType } from './TradingNotificationType';
|
||||||
|
|
||||||
|
export const TradingNotificationMessage = (type: number) =>
|
||||||
|
{
|
||||||
|
switch(type)
|
||||||
|
{
|
||||||
|
case TradingNotificationType.ALERT_SCAM:
|
||||||
|
NotificationUtilities.simpleAlert(LocalizeText('inventory.trading.warning.other_not_offering'), null, null, null, LocalizeText('inventory.trading.notification.title'));
|
||||||
|
return;
|
||||||
|
case TradingNotificationType.ALERT_OTHER_CANCELLED:
|
||||||
|
NotificationUtilities.simpleAlert(LocalizeText('inventory.trading.info.closed'), null, null, null, LocalizeText('inventory.trading.notification.title'));
|
||||||
|
return;
|
||||||
|
case TradingNotificationType.ALERT_ALREADY_OPEN:
|
||||||
|
NotificationUtilities.simpleAlert(LocalizeText('inventory.trading.info.already_open'), null, null, null, LocalizeText('inventory.trading.notification.title'));
|
||||||
|
return;
|
||||||
|
case TradingNotificationType.ALERT_OTHER_DISABLED:
|
||||||
|
NotificationUtilities.simpleAlert(LocalizeText('inventory.trading.warning.others_account_disabled'), null, null, null, LocalizeText('inventory.trading.notification.title'));
|
||||||
|
return;
|
||||||
|
case TradingNotificationType.ERROR_WHILE_COMMIT:
|
||||||
|
NotificationUtilities.simpleAlert(`${ LocalizeText('inventory.trading.notification.caption') }, ${ LocalizeText('inventory.trading.notification.commiterror.info') }`, null, null, null, LocalizeText('inventory.trading.notification.title'));
|
||||||
|
return;
|
||||||
|
case TradingNotificationType.YOU_NOT_ALLOWED:
|
||||||
|
NotificationUtilities.simpleAlert(LocalizeText('inventory.trading.warning.own_account_disabled'), null, null, null, LocalizeText('inventory.trading.notification.title'));
|
||||||
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
export class TradingNotificationType
|
||||||
|
{
|
||||||
|
public static ALERT_SCAM: number = 0;
|
||||||
|
public static ALERT_OTHER_CANCELLED: number = 1;
|
||||||
|
public static ALERT_ALREADY_OPEN: number = 2;
|
||||||
|
public static ALERT_OTHER_DISABLED: number = 3;
|
||||||
|
public static ERROR_WHILE_COMMIT: number = 4;
|
||||||
|
public static YOU_NOT_ALLOWED: number = 5;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user