From 8a21e0aaf620eb56c46eb9454eb9f509a17f5e71 Mon Sep 17 00:00:00 2001 From: Bill Date: Wed, 23 Jun 2021 04:05:23 -0400 Subject: [PATCH] More restructuring --- src/App.scss | 22 +++++++++++++ src/App.tsx | 18 ++++------- src/{utils => api/nitro}/GetConfiguration.ts | 0 src/api/nitro/index.ts | 1 + src/hooks/Styles.scss | 1 - src/index.scss | 23 ------------- src/layout/Layout.scss | 1 + src/layout/card/NitroCardView.tsx | 2 +- .../draggable-window/DraggableWindow.scss | 0 .../draggable-window/DraggableWindow.tsx | 29 +++++++---------- .../DraggableWindow.types.tsx | 0 .../scrollable-area/ScrollableAreaView.tsx | 32 ------------------- .../ScrollableAreaView.types.ts | 4 --- src/utils/IProps.ts | 6 ---- src/utils/Styles.scss | 0 src/views/auth/AuthView.tsx | 2 +- src/views/catalog/common/CatalogUtilities.ts | 4 +-- .../views/catalog-icon/CatalogIconView.tsx | 2 +- .../views/page/layout/GetCatalogLayout.tsx | 2 +- .../CatalogLayoutFrontpage4View.tsx | 2 +- .../views/page/product/CatalogProductView.tsx | 3 +- .../offer/CatalogSearchResultOfferView.tsx | 3 +- .../friend-bar-item/FriendBarItemView.tsx | 7 ++++ .../views/friend-bar/FriendBarView.tsx | 28 ++++++++++++---- src/views/hotel-view/HotelView.tsx | 6 ++-- src/views/loading/LoadingView.tsx | 3 +- .../navigator/NavigatorMessageHandler.tsx | 4 +-- src/views/purse/PurseView.tsx | 2 +- src/views/purse/currency/CurrencyView.tsx | 3 +- src/views/right-side/RightSideView.tsx | 3 +- src/views/room/RoomView.types.ts | 3 +- .../views/capture/CameraWidgetCaptureView.tsx | 2 +- .../room/widgets/chat-input/ChatInputView.tsx | 4 +-- .../room/widgets/chat/ChatWidgetView.tsx | 4 +-- .../FurnitureEngravingLockView.tsx | 2 +- .../stickie/FurnitureStickieView.tsx | 2 +- .../furniture/trophy/FurnitureTrophyView.tsx | 2 +- .../shared/badge-image/BadgeImageView.tsx | 2 +- .../shared/currency-icon/CurrencyIcon.tsx | 2 +- 39 files changed, 101 insertions(+), 135 deletions(-) rename src/{utils => api/nitro}/GetConfiguration.ts (100%) delete mode 100644 src/hooks/Styles.scss rename src/{hooks => layout}/draggable-window/DraggableWindow.scss (100%) rename src/{hooks => layout}/draggable-window/DraggableWindow.tsx (73%) rename src/{hooks => layout}/draggable-window/DraggableWindow.types.tsx (100%) delete mode 100644 src/layout/scrollable-area/ScrollableAreaView.tsx delete mode 100644 src/layout/scrollable-area/ScrollableAreaView.types.ts delete mode 100644 src/utils/IProps.ts delete mode 100644 src/utils/Styles.scss diff --git a/src/App.scss b/src/App.scss index 22a07076..8d450e5a 100644 --- a/src/App.scss +++ b/src/App.scss @@ -1,4 +1,26 @@ +$toolbar-me-zindex: 90; +$chatinput-zindex: 80; +$toolbar-zindex: 70; +$rightside-zindex: 69; +$notification-center-zindex: 68; +$toolbar-memenu-zindex: 60; +$roomtools-zindex: 50; +$context-menu-zindex: 40; +$infostand-zindex: 30; +$chat-zindex: 20; +$highscore-zindex: 19; + +$grid-bg-color: #CDD3D9; +$grid-border-color: $muted; +$grid-active-bg-color: #ECECEC; +$grid-active-border-color: $white; + +$toolbar-height: 55px; + .nitro-app { width: 100%; height: 100%; } + +@import './layout/Layout'; +@import './views/Styles'; diff --git a/src/App.tsx b/src/App.tsx index 1a538ed1..e929a7dd 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,15 +1,15 @@ import { ConfigurationEvent, LegacyExternalInterface, Nitro, NitroCommunicationDemoEvent, NitroEvent, NitroLocalizationEvent, RoomEngineEvent, WebGL } from 'nitro-renderer'; -import { useCallback, useState } from 'react'; +import { FC, useCallback, useMemo, useState } from 'react'; +import { GetConfiguration } from './api'; import { useConfigurationEvent } from './hooks/events/core/configuration/configuration-event'; import { useLocalizationEvent } from './hooks/events/nitro/localization/localization-event'; import { dispatchMainEvent, useMainEvent } from './hooks/events/nitro/main-event'; import { useRoomEngineEvent } from './hooks/events/nitro/room/room-engine-event'; -import { GetConfiguration } from './utils/GetConfiguration'; import { AuthView } from './views/auth/AuthView'; import { LoadingView } from './views/loading/LoadingView'; import { MainView } from './views/main/MainView'; -export function App(): JSX.Element +export const App: FC<{}> = props => { const [ isReady, setIsReady ] = useState(false); const [ isError, setIsError ] = useState(false); @@ -21,22 +21,18 @@ export function App(): JSX.Element if(!Nitro.instance) Nitro.bootstrap(); - function getPreloadAssetUrls(): string[] + const getPreloadAssetUrls = useMemo(() => { const urls: string[] = []; - const assetUrls = GetConfiguration('preload.assets.urls'); if(assetUrls && assetUrls.length) { - for(const url of assetUrls) - { - urls.push(Nitro.instance.core.configuration.interpolate(url)); - } + for(const url of assetUrls) urls.push(Nitro.instance.core.configuration.interpolate(url)); } return urls; - } + }, []); const handler = useCallback((event: NitroEvent) => { @@ -95,7 +91,7 @@ export function App(): JSX.Element setIsReady(true); return; case NitroLocalizationEvent.LOADED: - Nitro.instance.core.asset.downloadAssets(getPreloadAssetUrls(), (status: boolean) => + Nitro.instance.core.asset.downloadAssets(getPreloadAssetUrls, (status: boolean) => { if(status) { diff --git a/src/utils/GetConfiguration.ts b/src/api/nitro/GetConfiguration.ts similarity index 100% rename from src/utils/GetConfiguration.ts rename to src/api/nitro/GetConfiguration.ts diff --git a/src/api/nitro/index.ts b/src/api/nitro/index.ts index e59ad817..4c46e69f 100644 --- a/src/api/nitro/index.ts +++ b/src/api/nitro/index.ts @@ -1,5 +1,6 @@ export * from './avatar'; export * from './camera'; +export * from './GetConfiguration'; export * from './GetConnection'; export * from './GetTicker'; export * from './room'; diff --git a/src/hooks/Styles.scss b/src/hooks/Styles.scss deleted file mode 100644 index 4e8e0d96..00000000 --- a/src/hooks/Styles.scss +++ /dev/null @@ -1 +0,0 @@ -@import './draggable-window/DraggableWindow'; diff --git a/src/index.scss b/src/index.scss index fa945676..d1c389d9 100644 --- a/src/index.scss +++ b/src/index.scss @@ -17,27 +17,4 @@ body { -moz-osx-font-smoothing: grayscale; } -$toolbar-me-zindex: 90; -$chatinput-zindex: 80; -$toolbar-zindex: 70; -$rightside-zindex: 69; -$notification-center-zindex: 68; -$toolbar-memenu-zindex: 60; -$roomtools-zindex: 50; -$context-menu-zindex: 40; -$infostand-zindex: 30; -$chat-zindex: 20; -$highscore-zindex: 19; - -$grid-bg-color: #CDD3D9; -$grid-border-color: $muted; -$grid-active-bg-color: #ECECEC; -$grid-active-border-color: $white; - -$toolbar-height: 55px; - -@import './utils/Styles'; @import './App'; -@import './hooks/Styles'; -@import './layout/Layout'; -@import './views/Styles'; diff --git a/src/layout/Layout.scss b/src/layout/Layout.scss index 7adafa45..f77dbf24 100644 --- a/src/layout/Layout.scss +++ b/src/layout/Layout.scss @@ -3,4 +3,5 @@ } @import './card/NitroCardView'; +@import './draggable-window/DraggableWindow'; @import './loading-spinner/LoadingSpinnerView'; diff --git a/src/layout/card/NitroCardView.tsx b/src/layout/card/NitroCardView.tsx index 88aadbbe..d556fb62 100644 --- a/src/layout/card/NitroCardView.tsx +++ b/src/layout/card/NitroCardView.tsx @@ -1,5 +1,5 @@ import { FC } from 'react'; -import { DraggableWindow } from '../../hooks/draggable-window/DraggableWindow'; +import { DraggableWindow } from '../draggable-window/DraggableWindow'; import { NitroCardContextProvider } from './context/NitroCardContext'; import { NitroCardViewProps } from './NitroCardView.types'; diff --git a/src/hooks/draggable-window/DraggableWindow.scss b/src/layout/draggable-window/DraggableWindow.scss similarity index 100% rename from src/hooks/draggable-window/DraggableWindow.scss rename to src/layout/draggable-window/DraggableWindow.scss diff --git a/src/hooks/draggable-window/DraggableWindow.tsx b/src/layout/draggable-window/DraggableWindow.tsx similarity index 73% rename from src/hooks/draggable-window/DraggableWindow.tsx rename to src/layout/draggable-window/DraggableWindow.tsx index 511e5efb..2fcd729a 100644 --- a/src/hooks/draggable-window/DraggableWindow.tsx +++ b/src/layout/draggable-window/DraggableWindow.tsx @@ -1,4 +1,4 @@ -import { FC, MouseEvent, useEffect, useRef } from 'react'; +import { FC, MouseEvent, useCallback, useEffect, useMemo, useRef } from 'react'; import Draggable from 'react-draggable'; import { DraggableWindowProps } from './DraggableWindow.types'; @@ -6,11 +6,10 @@ const currentWindows: HTMLDivElement[] = []; export const DraggableWindow: FC = props => { - const { disableDrag = false, noCenter = false } = props; - + const { disableDrag = false, noCenter = false, handle = '.drag-handler', draggableOptions = {}, children = null } = props; const elementRef = useRef(); - function bringToTop(): void + const bringToTop = useCallback(() => { let zIndex = 400; @@ -20,9 +19,9 @@ export const DraggableWindow: FC = props => existingWindow.style.zIndex = zIndex.toString(); } - } + }, []); - function onMouseDown(event: MouseEvent): void + const onMouseDown = useCallback((event: MouseEvent) => { const index = currentWindows.indexOf(elementRef.current); @@ -41,7 +40,7 @@ export const DraggableWindow: FC = props => } bringToTop(); - } + }, [ bringToTop ]); useEffect(() => { @@ -70,22 +69,16 @@ export const DraggableWindow: FC = props => if(index >= 0) currentWindows.splice(index, 1); } - }, [ elementRef, noCenter ]); + }, [ elementRef, noCenter, bringToTop ]); - function getWindowContent(): JSX.Element + const getWindowContent = useMemo(() => { return (
- { props.children } + { children }
); - } + }, [ children, onMouseDown ]); - if(disableDrag) return getWindowContent(); - - return ( - - { getWindowContent() } - - ); + return disableDrag ? getWindowContent : { getWindowContent }; } diff --git a/src/hooks/draggable-window/DraggableWindow.types.tsx b/src/layout/draggable-window/DraggableWindow.types.tsx similarity index 100% rename from src/hooks/draggable-window/DraggableWindow.types.tsx rename to src/layout/draggable-window/DraggableWindow.types.tsx diff --git a/src/layout/scrollable-area/ScrollableAreaView.tsx b/src/layout/scrollable-area/ScrollableAreaView.tsx deleted file mode 100644 index 916cf293..00000000 --- a/src/layout/scrollable-area/ScrollableAreaView.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { FC, useCallback, useEffect, useRef, useState } from 'react'; -import { ScrollableAreaViewProps } from './ScrollableAreaView.types'; - -export const ScrollableAreaView: FC = props => -{ - const { className = null, children = null } = props; - const [ height, setHeight ] = useState(0); - const elementRef = useRef(); - - const resize = useCallback(() => - { - setHeight(elementRef.current.parentElement.clientHeight); - }, [ elementRef ]); - - useEffect(() => - { - resize(); - - window.addEventListener('resize', resize); - - return () => - { - window.removeEventListener('resize', resize); - } - }, [ resize ]); - - return ( -
- { children } -
- ); -} diff --git a/src/layout/scrollable-area/ScrollableAreaView.types.ts b/src/layout/scrollable-area/ScrollableAreaView.types.ts deleted file mode 100644 index 3494e60b..00000000 --- a/src/layout/scrollable-area/ScrollableAreaView.types.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface ScrollableAreaViewProps -{ - className?: string; -} diff --git a/src/utils/IProps.ts b/src/utils/IProps.ts deleted file mode 100644 index b8ba1f96..00000000 --- a/src/utils/IProps.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { ReactNode } from 'react'; - -export interface IProps -{ - readonly children?: ReactNode; -} diff --git a/src/utils/Styles.scss b/src/utils/Styles.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/src/views/auth/AuthView.tsx b/src/views/auth/AuthView.tsx index 5d575488..90674a5d 100644 --- a/src/views/auth/AuthView.tsx +++ b/src/views/auth/AuthView.tsx @@ -3,8 +3,8 @@ import { AuthenticationMessageComposer } from 'nitro-renderer'; import { AuthenticationEvent } from 'nitro-renderer/src/nitro/communication/messages/incoming/handshake/AuthenticationEvent'; import { FC, useCallback, useEffect, useState } from 'react'; import ReCAPTCHA from "react-google-recaptcha"; +import { GetConfiguration } from '../../api'; import { CreateMessageHook, SendMessageHook } from '../../hooks/messages'; -import { GetConfiguration } from '../../utils/GetConfiguration'; import { AuthField, AuthViewProps } from './AuthView.types'; import { AuthFormView } from './views/form/AuthFormView'; diff --git a/src/views/catalog/common/CatalogUtilities.ts b/src/views/catalog/common/CatalogUtilities.ts index a148715c..26aac5d1 100644 --- a/src/views/catalog/common/CatalogUtilities.ts +++ b/src/views/catalog/common/CatalogUtilities.ts @@ -1,7 +1,5 @@ import { CatalogPageOfferData, ICatalogPageData, ICatalogPageParser, IFurnitureData, SellablePetPaletteData } from 'nitro-renderer'; -import { GetRoomEngine } from '../../../api'; -import { GetProductDataForLocalization } from '../../../api/nitro/session/GetProductDataForLocalization'; -import { GetConfiguration } from '../../../utils/GetConfiguration'; +import { GetConfiguration, GetProductDataForLocalization, GetRoomEngine } from '../../../api'; export interface ICatalogOffers { diff --git a/src/views/catalog/views/catalog-icon/CatalogIconView.tsx b/src/views/catalog/views/catalog-icon/CatalogIconView.tsx index a587d91c..2267f5d4 100644 --- a/src/views/catalog/views/catalog-icon/CatalogIconView.tsx +++ b/src/views/catalog/views/catalog-icon/CatalogIconView.tsx @@ -1,5 +1,5 @@ import { FC } from 'react'; -import { GetConfiguration } from '../../../../utils/GetConfiguration'; +import { GetConfiguration } from '../../../../api'; import { CatalogIconViewProps } from './CatalogIconView.types'; export const CatalogIconView: FC = props => diff --git a/src/views/catalog/views/page/layout/GetCatalogLayout.tsx b/src/views/catalog/views/page/layout/GetCatalogLayout.tsx index a080119f..0094e746 100644 --- a/src/views/catalog/views/page/layout/GetCatalogLayout.tsx +++ b/src/views/catalog/views/page/layout/GetCatalogLayout.tsx @@ -12,7 +12,7 @@ import { CatalogLayoutSpacesView } from './spaces-new/CatalogLayoutSpacesView'; import { CatalogLayoutTrophiesView } from './trophies/CatalogLayoutTrophiesView'; import { CatalogLayoutVipBuyView } from './vip-buy/CatalogLayoutVipBuyView'; -export function GetCatalogLayout(pageParser: ICatalogPageParser, roomPreviewer: RoomPreviewer): JSX.Element +export const GetCatalogLayout = (pageParser: ICatalogPageParser, roomPreviewer: RoomPreviewer) => { switch(pageParser.layoutCode) { diff --git a/src/views/catalog/views/page/layout/frontpage4/CatalogLayoutFrontpage4View.tsx b/src/views/catalog/views/page/layout/frontpage4/CatalogLayoutFrontpage4View.tsx index 2103c104..996c2ab8 100644 --- a/src/views/catalog/views/page/layout/frontpage4/CatalogLayoutFrontpage4View.tsx +++ b/src/views/catalog/views/page/layout/frontpage4/CatalogLayoutFrontpage4View.tsx @@ -1,5 +1,5 @@ import { FC, useCallback, useMemo } from 'react'; -import { GetConfiguration } from '../../../../../../utils/GetConfiguration'; +import { GetConfiguration } from '../../../../../../api'; import { CatalogLayoutFrontpage4ViewProps } from './CatalogLayoutFrontpage4View.types'; export const CatalogLayoutFrontpage4View: FC = props => diff --git a/src/views/catalog/views/page/product/CatalogProductView.tsx b/src/views/catalog/views/page/product/CatalogProductView.tsx index 729d7e20..81f36769 100644 --- a/src/views/catalog/views/page/product/CatalogProductView.tsx +++ b/src/views/catalog/views/page/product/CatalogProductView.tsx @@ -1,7 +1,6 @@ import { FurnitureType } from 'nitro-renderer'; import { FC, useMemo } from 'react'; -import { GetRoomEngine, GetSessionDataManager } from '../../../../../api'; -import { GetConfiguration } from '../../../../../utils/GetConfiguration'; +import { GetConfiguration, GetRoomEngine, GetSessionDataManager } from '../../../../../api'; import { AvatarImageView } from '../../../../shared/avatar-image/AvatarImageView'; import { LimitedEditionStyledNumberView } from '../../../../shared/limited-edition/styled-number/LimitedEditionStyledNumberView'; import { ProductTypeEnum } from '../../../common/ProductTypeEnum'; diff --git a/src/views/catalog/views/page/search-result/offer/CatalogSearchResultOfferView.tsx b/src/views/catalog/views/page/search-result/offer/CatalogSearchResultOfferView.tsx index 100ea564..3500c696 100644 --- a/src/views/catalog/views/page/search-result/offer/CatalogSearchResultOfferView.tsx +++ b/src/views/catalog/views/page/search-result/offer/CatalogSearchResultOfferView.tsx @@ -1,8 +1,7 @@ import { CatalogSearchComposer, FurnitureType, MouseEventType } from 'nitro-renderer'; import { FC, MouseEvent, useCallback } from 'react'; -import { GetRoomEngine, GetSessionDataManager } from '../../../../../../api'; +import { GetConfiguration, GetRoomEngine, GetSessionDataManager } from '../../../../../../api'; import { SendMessageHook } from '../../../../../../hooks/messages/message-event'; -import { GetConfiguration } from '../../../../../../utils/GetConfiguration'; import { CatalogSearchResultOfferViewProps } from './CatalogSearchResultOfferView.types'; export const CatalogSearchResultOfferView: FC = props => diff --git a/src/views/friend-list/views/friend-bar-item/FriendBarItemView.tsx b/src/views/friend-list/views/friend-bar-item/FriendBarItemView.tsx index 8e563850..c8aa355e 100644 --- a/src/views/friend-list/views/friend-bar-item/FriendBarItemView.tsx +++ b/src/views/friend-list/views/friend-bar-item/FriendBarItemView.tsx @@ -5,6 +5,13 @@ export const FriendBarItemView: FC = props => { const { friend = null } = props; + if(!friend) + { + return ( +
offline
+ ); + } + return (
{ friend.name }
); diff --git a/src/views/friend-list/views/friend-bar/FriendBarView.tsx b/src/views/friend-list/views/friend-bar/FriendBarView.tsx index 1e0068d9..fb804eef 100644 --- a/src/views/friend-list/views/friend-bar/FriendBarView.tsx +++ b/src/views/friend-list/views/friend-bar/FriendBarView.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import { FC, useMemo, useState } from 'react'; import { useFriendListContext } from '../../context/FriendListContext'; import { FriendBarItemView } from '../friend-bar-item/FriendBarItemView'; import { FriendBarViewProps } from './FriendBarView.types'; @@ -7,13 +7,29 @@ export const FriendBarView: FC = props => { const { friendListState = null } = useFriendListContext(); const { friends = null } = friendListState; + const [ indexOffset, setIndexOffset ] = useState(0); + + const canDecreaseIndex = useMemo(() => + { + if(indexOffset === 0) return false; + + return true; + }, [ indexOffset ]); + + const canIncreaseIndex = useMemo(() => + { + if(indexOffset === (friends.length - 1)) return false; + + return true; + }, [ indexOffset, friends ]); return ( -
- { friends.map((friend, index) => - { - return - })} +
+ + + + +
); } diff --git a/src/views/hotel-view/HotelView.tsx b/src/views/hotel-view/HotelView.tsx index b466e4da..12fe403f 100644 --- a/src/views/hotel-view/HotelView.tsx +++ b/src/views/hotel-view/HotelView.tsx @@ -1,10 +1,10 @@ import { Nitro, RoomSessionEvent } from 'nitro-renderer'; -import { useCallback, useState } from 'react'; +import { FC, useCallback, useState } from 'react'; +import { GetConfiguration } from '../../api'; import { useRoomSessionManagerEvent } from '../../hooks/events/nitro/session/room-session-manager-event'; -import { GetConfiguration } from '../../utils/GetConfiguration'; import { HotelViewProps } from './HotelView.types'; -export function HotelView(props: HotelViewProps): JSX.Element +export const HotelView: FC = props => { const [ isVisible, setIsVisible ] = useState(true); diff --git a/src/views/loading/LoadingView.tsx b/src/views/loading/LoadingView.tsx index 4ae1d43c..5dcf5ceb 100644 --- a/src/views/loading/LoadingView.tsx +++ b/src/views/loading/LoadingView.tsx @@ -1,6 +1,7 @@ +import { FC } from 'react'; import { LoadingViewProps } from './LoadingView.types'; -export function LoadingView(props: LoadingViewProps): JSX.Element +export const LoadingView: FC = props => { const { isError = false, message = '' } = props; diff --git a/src/views/navigator/NavigatorMessageHandler.tsx b/src/views/navigator/NavigatorMessageHandler.tsx index df2e5f58..69819bba 100644 --- a/src/views/navigator/NavigatorMessageHandler.tsx +++ b/src/views/navigator/NavigatorMessageHandler.tsx @@ -1,12 +1,12 @@ import { GenericErrorEvent, NavigatorCategoriesComposer, NavigatorMetadataEvent, NavigatorSearchEvent, NavigatorSettingsComposer, RoomDataParser, RoomDoorbellAcceptedEvent, RoomDoorbellEvent, RoomForwardEvent, RoomInfoComposer, RoomInfoEvent, RoomInfoOwnerEvent, UserInfoEvent } from 'nitro-renderer'; -import { useCallback } from 'react'; +import { FC, useCallback } from 'react'; import { GetRoomSessionManager, GetSessionDataManager } from '../../api'; import { CreateMessageHook, SendMessageHook } from '../../hooks/messages/message-event'; import { useNavigatorContext } from './context/NavigatorContext'; import { NavigatorMessageHandlerProps } from './NavigatorMessageHandler.types'; import { NavigatorActions } from './reducers/NavigatorReducer'; -export function NavigatorMessageHandler(props: NavigatorMessageHandlerProps): JSX.Element +export const NavigatorMessageHandler: FC = props => { const { dispatchNavigatorState = null } = useNavigatorContext(); diff --git a/src/views/purse/PurseView.tsx b/src/views/purse/PurseView.tsx index b78c046e..15932d13 100644 --- a/src/views/purse/PurseView.tsx +++ b/src/views/purse/PurseView.tsx @@ -1,9 +1,9 @@ import { UserCurrencyComposer } from 'nitro-renderer'; import { FC, useCallback, useEffect, useMemo, useReducer } from 'react'; +import { GetConfiguration } from '../../api'; import { NotificationCenterEvent } from '../../events'; import { dispatchUiEvent } from '../../hooks/events'; import { SendMessageHook } from '../../hooks/messages/message-event'; -import { GetConfiguration } from '../../utils/GetConfiguration'; import { SetLastCurrencies } from './common/CurrencyHelper'; import { PurseContextProvider } from './context/PurseContext'; import { CurrencyView } from './currency/CurrencyView'; diff --git a/src/views/purse/currency/CurrencyView.tsx b/src/views/purse/currency/CurrencyView.tsx index 5e4e78fb..6e7f5ced 100644 --- a/src/views/purse/currency/CurrencyView.tsx +++ b/src/views/purse/currency/CurrencyView.tsx @@ -1,9 +1,10 @@ +import { FC } from 'react'; import { OverlayTrigger, Tooltip } from 'react-bootstrap'; import { LocalizeShortNumber } from '../../../utils/LocalizeShortNumber'; import { CurrencyIcon } from '../../shared/currency-icon/CurrencyIcon'; import { CurrencyViewProps } from './CurrencyView.types'; -export function CurrencyView(props: CurrencyViewProps): JSX.Element +export const CurrencyView: FC = props => { const { currency = null } = props; diff --git a/src/views/right-side/RightSideView.tsx b/src/views/right-side/RightSideView.tsx index 1b807952..ba025225 100644 --- a/src/views/right-side/RightSideView.tsx +++ b/src/views/right-side/RightSideView.tsx @@ -1,7 +1,8 @@ +import { FC } from 'react'; import { PurseView } from '../purse/PurseView'; import { RightSideProps } from './RightSideView.types'; -export function RightSideView(props: RightSideProps): JSX.Element +export const RightSideView: FC = props => { return (
diff --git a/src/views/room/RoomView.types.ts b/src/views/room/RoomView.types.ts index c41da637..05b3d86f 100644 --- a/src/views/room/RoomView.types.ts +++ b/src/views/room/RoomView.types.ts @@ -1,7 +1,6 @@ import { IRoomSession } from 'nitro-renderer'; -import { IProps } from '../../utils/IProps'; -export interface RoomViewProps extends IProps +export interface RoomViewProps { roomSession: IRoomSession; } diff --git a/src/views/room/widgets/camera/views/capture/CameraWidgetCaptureView.tsx b/src/views/room/widgets/camera/views/capture/CameraWidgetCaptureView.tsx index 25dacc9f..dc49e1eb 100644 --- a/src/views/room/widgets/camera/views/capture/CameraWidgetCaptureView.tsx +++ b/src/views/room/widgets/camera/views/capture/CameraWidgetCaptureView.tsx @@ -3,7 +3,7 @@ import { NitroRectangle } from 'nitro-renderer'; import { FC, useCallback, useRef } from 'react'; import { GetRoomEngine } from '../../../../../../api/nitro/room/GetRoomEngine'; import { GetRoomSession } from '../../../../../../api/nitro/session/GetRoomSession'; -import { DraggableWindow } from '../../../../../../hooks/draggable-window/DraggableWindow'; +import { DraggableWindow } from '../../../../../../layout/draggable-window/DraggableWindow'; import { LocalizeText } from '../../../../../../utils/LocalizeText'; import { useCameraWidgetContext } from '../../context/CameraWidgetContext'; import { CameraWidgetCaptureViewProps } from './CameraWidgetCaptureView.types'; diff --git a/src/views/room/widgets/chat-input/ChatInputView.tsx b/src/views/room/widgets/chat-input/ChatInputView.tsx index 1f0c542b..a791cf2c 100644 --- a/src/views/room/widgets/chat-input/ChatInputView.tsx +++ b/src/views/room/widgets/chat-input/ChatInputView.tsx @@ -1,8 +1,6 @@ import { FC, MouseEvent, useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { createPortal } from 'react-dom'; -import { GetRoomSession } from '../../../../api'; -import { SendChatTypingMessage } from '../../../../api/nitro/session/SendChatTypingMessage'; -import { GetConfiguration } from '../../../../utils/GetConfiguration'; +import { GetConfiguration, GetRoomSession, SendChatTypingMessage } from '../../../../api'; import { LocalizeText } from '../../../../utils/LocalizeText'; import { useRoomContext } from '../../context/RoomContext'; import { ChatInputMessageType, ChatInputViewProps } from './ChatInputView.types'; diff --git a/src/views/room/widgets/chat/ChatWidgetView.tsx b/src/views/room/widgets/chat/ChatWidgetView.tsx index 27ce0cc3..5c0c1470 100644 --- a/src/views/room/widgets/chat/ChatWidgetView.tsx +++ b/src/views/room/widgets/chat/ChatWidgetView.tsx @@ -1,5 +1,5 @@ import { RoomObjectCategory, RoomSessionChatEvent } from 'nitro-renderer'; -import { useCallback, useEffect, useRef, useState } from 'react'; +import { FC, useCallback, useEffect, useRef, useState } from 'react'; import { GetRoomEngine, GetRoomSession } from '../../../../api'; import { useRoomSessionManagerEvent } from '../../../../hooks/events/nitro/session/room-session-manager-event'; import { useRoomContext } from '../../context/RoomContext'; @@ -8,7 +8,7 @@ import { ChatWidgetMessageView } from './message/ChatWidgetMessageView'; import { ChatBubbleMessage } from './utils/ChatBubbleMessage'; import { GetBubbleLocation } from './utils/ChatWidgetUtilities'; -export function ChatWidgetView(props: ChatWidgetViewProps): JSX.Element +export const ChatWidgetView: FC = props => { const { eventDispatcher = null, widgetHandler = null } = useRoomContext(); const [ chatMessages, setChatMessages ] = useState([]); diff --git a/src/views/room/widgets/furniture/engraving-lock/FurnitureEngravingLockView.tsx b/src/views/room/widgets/furniture/engraving-lock/FurnitureEngravingLockView.tsx index b17752aa..56f635c5 100644 --- a/src/views/room/widgets/furniture/engraving-lock/FurnitureEngravingLockView.tsx +++ b/src/views/room/widgets/furniture/engraving-lock/FurnitureEngravingLockView.tsx @@ -2,13 +2,13 @@ import { LoveLockFurniFinishedEvent, LoveLockFurniFriendConfirmedEvent, LoveLock import { FC, useCallback, useState } from 'react'; import { GetRoomSession } from '../../../../../api'; import { GetRoomEngine } from '../../../../../api/nitro/room/GetRoomEngine'; -import { DraggableWindow } from '../../../../../hooks/draggable-window/DraggableWindow'; import { CreateEventDispatcherHook } from '../../../../../hooks/events/event-dispatcher.base'; import { useRoomEngineEvent } from '../../../../../hooks/events/nitro/room/room-engine-event'; import { CreateMessageHook } from '../../../../../hooks/messages/message-event'; import { NitroCardContentView } from '../../../../../layout/card/content/NitroCardContentView'; import { NitroCardHeaderView } from '../../../../../layout/card/header/NitroCardHeaderView'; import { NitroCardView } from '../../../../../layout/card/NitroCardView'; +import { DraggableWindow } from '../../../../../layout/draggable-window/DraggableWindow'; import { LocalizeText } from '../../../../../utils/LocalizeText'; import { AvatarImageView } from '../../../../shared/avatar-image/AvatarImageView'; import { useRoomContext } from '../../../context/RoomContext'; diff --git a/src/views/room/widgets/furniture/stickie/FurnitureStickieView.tsx b/src/views/room/widgets/furniture/stickie/FurnitureStickieView.tsx index bce1339c..2c1a7a97 100644 --- a/src/views/room/widgets/furniture/stickie/FurnitureStickieView.tsx +++ b/src/views/room/widgets/furniture/stickie/FurnitureStickieView.tsx @@ -1,9 +1,9 @@ import { NitroEvent, RoomEngineTriggerWidgetEvent, RoomObjectVariable } from 'nitro-renderer'; import { FC, useCallback, useState } from 'react'; import { GetRoomEngine, GetRoomSession, GetSessionDataManager } from '../../../../../api'; -import { DraggableWindow } from '../../../../../hooks/draggable-window/DraggableWindow'; import { CreateEventDispatcherHook } from '../../../../../hooks/events/event-dispatcher.base'; import { useRoomEngineEvent } from '../../../../../hooks/events/nitro/room/room-engine-event'; +import { DraggableWindow } from '../../../../../layout/draggable-window/DraggableWindow'; import { ColorUtils } from '../../../../../utils/ColorUtils'; import { useRoomContext } from '../../../context/RoomContext'; import { RoomWidgetRoomObjectUpdateEvent } from '../../../events'; diff --git a/src/views/room/widgets/furniture/trophy/FurnitureTrophyView.tsx b/src/views/room/widgets/furniture/trophy/FurnitureTrophyView.tsx index 737e854f..5eba165f 100644 --- a/src/views/room/widgets/furniture/trophy/FurnitureTrophyView.tsx +++ b/src/views/room/widgets/furniture/trophy/FurnitureTrophyView.tsx @@ -1,9 +1,9 @@ import { NitroEvent, RoomEngineTriggerWidgetEvent, RoomObjectVariable } from 'nitro-renderer'; import { FC, useCallback, useState } from 'react'; import { GetRoomEngine } from '../../../../../api'; -import { DraggableWindow } from '../../../../../hooks/draggable-window/DraggableWindow'; import { CreateEventDispatcherHook } from '../../../../../hooks/events/event-dispatcher.base'; import { useRoomEngineEvent } from '../../../../../hooks/events/nitro/room/room-engine-event'; +import { DraggableWindow } from '../../../../../layout/draggable-window/DraggableWindow'; import { LocalizeText } from '../../../../../utils/LocalizeText'; import { useRoomContext } from '../../../context/RoomContext'; import { RoomWidgetRoomObjectUpdateEvent } from '../../../events'; diff --git a/src/views/shared/badge-image/BadgeImageView.tsx b/src/views/shared/badge-image/BadgeImageView.tsx index bf2d5e71..35ca8d7d 100644 --- a/src/views/shared/badge-image/BadgeImageView.tsx +++ b/src/views/shared/badge-image/BadgeImageView.tsx @@ -1,5 +1,5 @@ import { FC } from 'react'; -import { GetConfiguration } from '../../../utils/GetConfiguration'; +import { GetConfiguration } from '../../../api'; import { BadgeImageViewProps } from './BadgeImageView.types'; export const BadgeImageView: FC = props => diff --git a/src/views/shared/currency-icon/CurrencyIcon.tsx b/src/views/shared/currency-icon/CurrencyIcon.tsx index b2624104..d28d8106 100644 --- a/src/views/shared/currency-icon/CurrencyIcon.tsx +++ b/src/views/shared/currency-icon/CurrencyIcon.tsx @@ -1,5 +1,5 @@ import { FC } from 'react'; -import { GetConfiguration } from '../../../utils/GetConfiguration'; +import { GetConfiguration } from '../../../api'; import { CurrencyIconProps } from './CurrencyIcon.types'; export const CurrencyIcon: FC = props =>