mirror of
https://github.com/billsonnn/nitro-react.git
synced 2024-11-30 08:50:51 +01:00
Remove some events
This commit is contained in:
parent
d2ed02668b
commit
53b57d72c9
@ -1,15 +1,13 @@
|
|||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
||||||
import { AvatarEditorFigureCategory, FigureSetIdsMessageEvent, GetWardrobeMessageComposer, IAvatarFigureContainer, UserFigureComposer, UserWardrobePageEvent } from '@nitrots/nitro-renderer';
|
import { AvatarEditorFigureCategory, FigureSetIdsMessageEvent, GetWardrobeMessageComposer, IAvatarFigureContainer, ILinkEventTracker, UserFigureComposer, UserWardrobePageEvent } from '@nitrots/nitro-renderer';
|
||||||
import { FC, useCallback, useEffect, useMemo, useState } from 'react';
|
import { FC, useCallback, useEffect, useMemo, useState } from 'react';
|
||||||
import { GetAvatarRenderManager, GetClubMemberLevel, GetConfiguration, GetSessionDataManager, LocalizeText } from '../../api';
|
import { AddEventLinkTracker, GetAvatarRenderManager, GetClubMemberLevel, GetConfiguration, GetSessionDataManager, LocalizeText, RemoveLinkEventTracker } from '../../api';
|
||||||
import { NitroCardContentView, NitroCardHeaderView, NitroCardTabsItemView, NitroCardTabsView, NitroCardView } from '../../common';
|
import { NitroCardContentView, NitroCardHeaderView, NitroCardTabsItemView, NitroCardTabsView, NitroCardView } from '../../common';
|
||||||
import { Button } from '../../common/Button';
|
import { Button } from '../../common/Button';
|
||||||
import { ButtonGroup } from '../../common/ButtonGroup';
|
import { ButtonGroup } from '../../common/ButtonGroup';
|
||||||
import { Column } from '../../common/Column';
|
import { Column } from '../../common/Column';
|
||||||
import { Grid } from '../../common/Grid';
|
import { Grid } from '../../common/Grid';
|
||||||
import { AvatarEditorEvent } from '../../events/avatar-editor';
|
|
||||||
import { CreateMessageHook, SendMessageHook } from '../../hooks';
|
import { CreateMessageHook, SendMessageHook } from '../../hooks';
|
||||||
import { useUiEvent } from '../../hooks/events/ui/ui-event';
|
|
||||||
import { AvatarEditorAction } from './common/AvatarEditorAction';
|
import { AvatarEditorAction } from './common/AvatarEditorAction';
|
||||||
import { AvatarEditorUtilities } from './common/AvatarEditorUtilities';
|
import { AvatarEditorUtilities } from './common/AvatarEditorUtilities';
|
||||||
import { BodyModel } from './common/BodyModel';
|
import { BodyModel } from './common/BodyModel';
|
||||||
@ -44,34 +42,6 @@ export const AvatarEditorView: FC<{}> = props =>
|
|||||||
|
|
||||||
const maxWardrobeSlots = useMemo(() => GetConfiguration<number>('avatar.wardrobe.max.slots', 10), []);
|
const maxWardrobeSlots = useMemo(() => GetConfiguration<number>('avatar.wardrobe.max.slots', 10), []);
|
||||||
|
|
||||||
const onAvatarEditorEvent = useCallback((event: AvatarEditorEvent) =>
|
|
||||||
{
|
|
||||||
switch(event.type)
|
|
||||||
{
|
|
||||||
case AvatarEditorEvent.SHOW_EDITOR:
|
|
||||||
setIsVisible(true);
|
|
||||||
setNeedsReset(true);
|
|
||||||
return;
|
|
||||||
case AvatarEditorEvent.HIDE_EDITOR:
|
|
||||||
setIsVisible(false);
|
|
||||||
return;
|
|
||||||
case AvatarEditorEvent.TOGGLE_EDITOR:
|
|
||||||
setIsVisible(prevValue =>
|
|
||||||
{
|
|
||||||
const flag = !prevValue;
|
|
||||||
|
|
||||||
if(flag) setNeedsReset(true);
|
|
||||||
|
|
||||||
return flag;
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
useUiEvent(AvatarEditorEvent.SHOW_EDITOR, onAvatarEditorEvent);
|
|
||||||
useUiEvent(AvatarEditorEvent.HIDE_EDITOR, onAvatarEditorEvent);
|
|
||||||
useUiEvent(AvatarEditorEvent.TOGGLE_EDITOR, onAvatarEditorEvent);
|
|
||||||
|
|
||||||
const onFigureSetIdsMessageEvent = useCallback((event: FigureSetIdsMessageEvent) =>
|
const onFigureSetIdsMessageEvent = useCallback((event: FigureSetIdsMessageEvent) =>
|
||||||
{
|
{
|
||||||
const parser = event.getParser();
|
const parser = event.getParser();
|
||||||
@ -195,6 +165,45 @@ export const AvatarEditorView: FC<{}> = props =>
|
|||||||
setFigureData(figures.get(gender));
|
setFigureData(figures.get(gender));
|
||||||
}, [ figures ]);
|
}, [ figures ]);
|
||||||
|
|
||||||
|
const linkReceived = useCallback((url: string) =>
|
||||||
|
{
|
||||||
|
const parts = url.split('/');
|
||||||
|
|
||||||
|
if(parts.length < 2) return;
|
||||||
|
|
||||||
|
switch(parts[1])
|
||||||
|
{
|
||||||
|
case 'show':
|
||||||
|
setIsVisible(true);
|
||||||
|
return;
|
||||||
|
case 'hide':
|
||||||
|
setIsVisible(false);
|
||||||
|
return;
|
||||||
|
case 'toggle':
|
||||||
|
setIsVisible(prevValue =>
|
||||||
|
{
|
||||||
|
const flag = !prevValue;
|
||||||
|
|
||||||
|
if(flag) setNeedsReset(true);
|
||||||
|
|
||||||
|
return flag;
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() =>
|
||||||
|
{
|
||||||
|
const linkTracker: ILinkEventTracker = {
|
||||||
|
linkReceived,
|
||||||
|
eventUrlPrefix: 'avatar-editor/'
|
||||||
|
};
|
||||||
|
|
||||||
|
AddEventLinkTracker(linkTracker);
|
||||||
|
|
||||||
|
return () => RemoveLinkEventTracker(linkTracker);
|
||||||
|
}, [ linkReceived ]);
|
||||||
|
|
||||||
useEffect(() =>
|
useEffect(() =>
|
||||||
{
|
{
|
||||||
setSavedFigures(new Array(maxWardrobeSlots));
|
setSavedFigures(new Array(maxWardrobeSlots));
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
import { InitCameraMessageEvent, IRoomCameraWidgetEffect, RequestCameraConfigurationComposer, RoomCameraWidgetManagerEvent, RoomSessionEvent } from '@nitrots/nitro-renderer';
|
import { ILinkEventTracker, InitCameraMessageEvent, IRoomCameraWidgetEffect, RequestCameraConfigurationComposer, RoomCameraWidgetManagerEvent, RoomSessionEvent } from '@nitrots/nitro-renderer';
|
||||||
import { FC, useCallback, useEffect, useState } from 'react';
|
import { FC, useCallback, useEffect, useState } from 'react';
|
||||||
import { GetRoomCameraWidgetManager } from '../../api';
|
import { AddEventLinkTracker, GetRoomCameraWidgetManager, RemoveLinkEventTracker } from '../../api';
|
||||||
import { RoomWidgetCameraEvent } from '../../events/camera/RoomWidgetCameraEvent';
|
|
||||||
import { useRoomSessionManagerEvent } from '../../hooks';
|
import { useRoomSessionManagerEvent } from '../../hooks';
|
||||||
import { useCameraEvent } from '../../hooks/events/nitro/camera/camera-event';
|
import { useCameraEvent } from '../../hooks/events/nitro/camera/camera-event';
|
||||||
import { useUiEvent } from '../../hooks/events/ui/ui-event';
|
|
||||||
import { CreateMessageHook, SendMessageHook } from '../../hooks/messages/message-event';
|
import { CreateMessageHook, SendMessageHook } from '../../hooks/messages/message-event';
|
||||||
import { CameraWidgetContextProvider } from './CameraWidgetContext';
|
import { CameraWidgetContextProvider } from './CameraWidgetContext';
|
||||||
import { CameraPicture } from './common/CameraPicture';
|
import { CameraPicture } from './common/CameraPicture';
|
||||||
@ -27,30 +25,6 @@ export const CameraWidgetView: FC<{}> = props =>
|
|||||||
const [ base64Url, setSavedPictureUrl ] = useState<string>(null);
|
const [ base64Url, setSavedPictureUrl ] = useState<string>(null);
|
||||||
const [ price, setPrice ] = useState<{ credits: number, duckets: number, publishDucketPrice: number }>(null);
|
const [ price, setPrice ] = useState<{ credits: number, duckets: number, publishDucketPrice: number }>(null);
|
||||||
|
|
||||||
const onNitroEvent = useCallback((event: RoomWidgetCameraEvent) =>
|
|
||||||
{
|
|
||||||
switch(event.type)
|
|
||||||
{
|
|
||||||
case RoomWidgetCameraEvent.SHOW_CAMERA:
|
|
||||||
setMode(MODE_CAPTURE);
|
|
||||||
return;
|
|
||||||
case RoomWidgetCameraEvent.HIDE_CAMERA:
|
|
||||||
setMode(MODE_NONE);
|
|
||||||
return;
|
|
||||||
case RoomWidgetCameraEvent.TOGGLE_CAMERA:
|
|
||||||
setMode(prevValue =>
|
|
||||||
{
|
|
||||||
if(!prevValue) return MODE_CAPTURE;
|
|
||||||
else return MODE_NONE;
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
useUiEvent(RoomWidgetCameraEvent.SHOW_CAMERA, onNitroEvent);
|
|
||||||
useUiEvent(RoomWidgetCameraEvent.HIDE_CAMERA, onNitroEvent);
|
|
||||||
useUiEvent(RoomWidgetCameraEvent.TOGGLE_CAMERA, onNitroEvent);
|
|
||||||
|
|
||||||
const onRoomCameraWidgetManagerEvent = useCallback((event: RoomCameraWidgetManagerEvent) =>
|
const onRoomCameraWidgetManagerEvent = useCallback((event: RoomCameraWidgetManagerEvent) =>
|
||||||
{
|
{
|
||||||
setAvailableEffects(Array.from(GetRoomCameraWidgetManager().effects.values()))
|
setAvailableEffects(Array.from(GetRoomCameraWidgetManager().effects.values()))
|
||||||
@ -118,6 +92,42 @@ export const CameraWidgetView: FC<{}> = props =>
|
|||||||
setMode(MODE_CHECKOUT);
|
setMode(MODE_CHECKOUT);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
const linkReceived = useCallback((url: string) =>
|
||||||
|
{
|
||||||
|
const parts = url.split('/');
|
||||||
|
|
||||||
|
if(parts.length < 2) return;
|
||||||
|
|
||||||
|
switch(parts[1])
|
||||||
|
{
|
||||||
|
case 'show':
|
||||||
|
setMode(MODE_CAPTURE);
|
||||||
|
return;
|
||||||
|
case 'hide':
|
||||||
|
setMode(MODE_NONE);
|
||||||
|
return;
|
||||||
|
case 'toggle':
|
||||||
|
setMode(prevValue =>
|
||||||
|
{
|
||||||
|
if(!prevValue) return MODE_CAPTURE;
|
||||||
|
else return MODE_NONE;
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() =>
|
||||||
|
{
|
||||||
|
const linkTracker: ILinkEventTracker = {
|
||||||
|
linkReceived,
|
||||||
|
eventUrlPrefix: 'camera/'
|
||||||
|
};
|
||||||
|
|
||||||
|
AddEventLinkTracker(linkTracker);
|
||||||
|
|
||||||
|
return () => RemoveLinkEventTracker(linkTracker);
|
||||||
|
}, [ linkReceived ]);
|
||||||
|
|
||||||
if(mode === MODE_NONE) return null;
|
if(mode === MODE_NONE) return null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -3,7 +3,7 @@ import { FC, useCallback, useState } from 'react';
|
|||||||
import { CreateLinkEvent, GetRoomSession, GetRoomSessionManager, GetSessionDataManager, GetUserProfile, GoToDesktop, OpenMessengerChat } from '../../api';
|
import { CreateLinkEvent, GetRoomSession, GetRoomSessionManager, GetSessionDataManager, GetUserProfile, GoToDesktop, OpenMessengerChat } from '../../api';
|
||||||
import { Base, Flex, TransitionAnimationTypes } from '../../common';
|
import { Base, Flex, TransitionAnimationTypes } from '../../common';
|
||||||
import { TransitionAnimation } from '../../common/transitions/TransitionAnimation';
|
import { TransitionAnimation } from '../../common/transitions/TransitionAnimation';
|
||||||
import { AvatarEditorEvent, FriendsEvent, FriendsMessengerIconEvent, FriendsRequestCountEvent, GuideToolEvent, InventoryEvent, NavigatorEvent, RoomWidgetCameraEvent } from '../../events';
|
import { FriendsEvent, FriendsMessengerIconEvent, FriendsRequestCountEvent, GuideToolEvent, InventoryEvent, NavigatorEvent } from '../../events';
|
||||||
import { AchievementsUIEvent, AchievementsUIUnseenCountEvent } from '../../events/achievements';
|
import { AchievementsUIEvent, AchievementsUIUnseenCountEvent } from '../../events/achievements';
|
||||||
import { UnseenItemTrackerUpdateEvent } from '../../events/inventory/UnseenItemTrackerUpdateEvent';
|
import { UnseenItemTrackerUpdateEvent } from '../../events/inventory/UnseenItemTrackerUpdateEvent';
|
||||||
import { ModToolsEvent } from '../../events/mod-tools/ModToolsEvent';
|
import { ModToolsEvent } from '../../events/mod-tools/ModToolsEvent';
|
||||||
@ -155,10 +155,10 @@ export const ToolbarView: FC<ToolbarViewProps> = props =>
|
|||||||
dispatchUiEvent(new FriendsEvent(FriendsEvent.TOGGLE_FRIEND_LIST));
|
dispatchUiEvent(new FriendsEvent(FriendsEvent.TOGGLE_FRIEND_LIST));
|
||||||
return;
|
return;
|
||||||
case ToolbarViewItems.CAMERA_ITEM:
|
case ToolbarViewItems.CAMERA_ITEM:
|
||||||
dispatchUiEvent(new RoomWidgetCameraEvent(RoomWidgetCameraEvent.TOGGLE_CAMERA));
|
CreateLinkEvent('camera/toggle');
|
||||||
return;
|
return;
|
||||||
case ToolbarViewItems.CLOTHING_ITEM:
|
case ToolbarViewItems.CLOTHING_ITEM:
|
||||||
dispatchUiEvent(new AvatarEditorEvent(AvatarEditorEvent.TOGGLE_EDITOR));
|
CreateLinkEvent('avatar-editor/toggle');
|
||||||
setMeExpanded(false);
|
setMeExpanded(false);
|
||||||
return;
|
return;
|
||||||
case ToolbarViewItems.MOD_TOOLS_ITEM:
|
case ToolbarViewItems.MOD_TOOLS_ITEM:
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
import { NitroEvent } from '@nitrots/nitro-renderer';
|
|
||||||
|
|
||||||
export class AvatarEditorEvent extends NitroEvent
|
|
||||||
{
|
|
||||||
public static SHOW_EDITOR: string = 'AEE_SHOW_EDITOR';
|
|
||||||
public static HIDE_EDITOR: string = 'AEE_HIDE_EDITOR';
|
|
||||||
public static TOGGLE_EDITOR: string = 'AEE_TOGGLE_EDITOR';
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
export * from './AvatarEditorEvent';
|
|
@ -1,8 +0,0 @@
|
|||||||
import { NitroEvent } from '@nitrots/nitro-renderer';
|
|
||||||
|
|
||||||
export class RoomWidgetCameraEvent extends NitroEvent
|
|
||||||
{
|
|
||||||
public static SHOW_CAMERA: string = 'NE_SHOW_CAMERA';
|
|
||||||
public static HIDE_CAMERA: string = 'NE_HIDE_CAMERA';
|
|
||||||
public static TOGGLE_CAMERA: string = 'NE_TOGGLE_CAMERA';
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
export * from './RoomWidgetCameraEvent';
|
|
@ -1,6 +1,4 @@
|
|||||||
export * from './achievements';
|
export * from './achievements';
|
||||||
export * from './avatar-editor';
|
|
||||||
export * from './camera';
|
|
||||||
export * from './catalog';
|
export * from './catalog';
|
||||||
export * from './floorplan-editor';
|
export * from './floorplan-editor';
|
||||||
export * from './friends';
|
export * from './friends';
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
||||||
import { AvatarAction, AvatarExpressionEnum, RoomControllerLevel, RoomObjectCategory } from '@nitrots/nitro-renderer';
|
import { AvatarAction, AvatarExpressionEnum, RoomControllerLevel, RoomObjectCategory } from '@nitrots/nitro-renderer';
|
||||||
import { FC, useCallback, useMemo, useState } from 'react';
|
import { FC, useCallback, useMemo, useState } from 'react';
|
||||||
import { GetCanStandUp, GetCanUseExpression, GetOwnPosture, GetUserProfile, HasHabboClub, HasHabboVip, IsRidingHorse, LocalizeText, RoomWidgetAvatarExpressionMessage, RoomWidgetChangePostureMessage, RoomWidgetDanceMessage, RoomWidgetMessage, RoomWidgetUpdateDecorateModeEvent, RoomWidgetUpdateInfostandUserEvent, RoomWidgetUserActionMessage } from '../../../../api';
|
import { CreateLinkEvent, GetCanStandUp, GetCanUseExpression, GetOwnPosture, GetUserProfile, HasHabboClub, HasHabboVip, IsRidingHorse, LocalizeText, RoomWidgetAvatarExpressionMessage, RoomWidgetChangePostureMessage, RoomWidgetDanceMessage, RoomWidgetMessage, RoomWidgetUpdateDecorateModeEvent, RoomWidgetUpdateInfostandUserEvent, RoomWidgetUserActionMessage } from '../../../../api';
|
||||||
import { Flex } from '../../../../common';
|
import { Flex } from '../../../../common';
|
||||||
import { AvatarEditorEvent } from '../../../../events';
|
|
||||||
import { HelpNameChangeEvent } from '../../../../events/help/HelpNameChangeEvent';
|
import { HelpNameChangeEvent } from '../../../../events/help/HelpNameChangeEvent';
|
||||||
import { dispatchUiEvent } from '../../../../hooks';
|
import { dispatchUiEvent } from '../../../../hooks';
|
||||||
import { CurrencyIcon } from '../../../shared/currency-icon/CurrencyIcon';
|
import { CurrencyIcon } from '../../../shared/currency-icon/CurrencyIcon';
|
||||||
@ -55,7 +54,7 @@ export const AvatarInfoWidgetOwnAvatarView: FC<AvatarInfoWidgetOwnAvatarViewProp
|
|||||||
dispatchUiEvent(new HelpNameChangeEvent(HelpNameChangeEvent.INIT));
|
dispatchUiEvent(new HelpNameChangeEvent(HelpNameChangeEvent.INIT));
|
||||||
break;
|
break;
|
||||||
case 'change_looks':
|
case 'change_looks':
|
||||||
dispatchUiEvent(new AvatarEditorEvent(AvatarEditorEvent.SHOW_EDITOR));
|
CreateLinkEvent('avatar-editor/show');
|
||||||
break;
|
break;
|
||||||
case 'expressions':
|
case 'expressions':
|
||||||
hideMenu = false;
|
hideMenu = false;
|
||||||
|
Loading…
Reference in New Issue
Block a user