diff --git a/src/components/catalog/views/catalog-header/CatalogHeaderView.tsx b/src/components/catalog/views/catalog-header/CatalogHeaderView.tsx index 09ec089..f750f01 100644 --- a/src/components/catalog/views/catalog-header/CatalogHeaderView.tsx +++ b/src/components/catalog/views/catalog-header/CatalogHeaderView.tsx @@ -1,4 +1,4 @@ -import { FC, useEffect, useState } from 'react'; +import { FC } from 'react'; import { GetConfigurationValue } from '../../../../api'; export interface CatalogHeaderViewProps @@ -9,12 +9,7 @@ export interface CatalogHeaderViewProps export const CatalogHeaderView: FC = props => { const { imageUrl = null } = props; - const [ displayImageUrl, setDisplayImageUrl ] = useState(''); - - useEffect(() => - { - setDisplayImageUrl(imageUrl ?? GetConfigurationValue('catalog.asset.image.url').replace('%name%', 'catalog_header_roombuilder')); - }, [ imageUrl ]); + const displayImageUrl = imageUrl ?? GetConfigurationValue('catalog.asset.image.url').replace('%name%', 'catalog_header_roombuilder'); return
diff --git a/src/components/login/LoginView.tsx b/src/components/login/LoginView.tsx index 320bdfd..ce7a1b5 100644 --- a/src/components/login/LoginView.tsx +++ b/src/components/login/LoginView.tsx @@ -1125,8 +1125,15 @@ const RegisterDialog: FC = props => const [ gender, setGender ] = useState('F'); const [ selection, setSelection ] = useState(() => ({ ...FALLBACK_DEFAULTS.F })); const [ localError, setLocalError ] = useState(null); + const [ prevStep, setPrevStep ] = useState(step); const [ turnstileToken, setTurnstileToken ] = useState(''); const [ resetSignal, setResetSignal ] = useState(0); + + if(prevStep !== step) + { + setPrevStep(step); + setLocalError(null); + } const [ serverReachable, setServerReachable ] = useState(null); const [ pingingServer, setPingingServer ] = useState(false); @@ -1165,11 +1172,6 @@ const RegisterDialog: FC = props => setResetSignal(prev => prev + 1); }, []); - useEffect(() => - { - setLocalError(null); - }, [ step ]); - const [ figureData, setFigureData ] = useState(null); const figureDataUrlRaw = GetConfigurationValue('avatar.figuredata.url', ''); const figureDataUrl = useMemo(() => diff --git a/src/components/navigator/views/NavigatorRoomCreatorView.tsx b/src/components/navigator/views/NavigatorRoomCreatorView.tsx index 9307a4b..98b9e3d 100644 --- a/src/components/navigator/views/NavigatorRoomCreatorView.tsx +++ b/src/components/navigator/views/NavigatorRoomCreatorView.tsx @@ -9,16 +9,22 @@ import { NitroInput } from '../../../layout'; let isCreatingRoom = false; let createRoomTimeout: ReturnType = null; +const MAX_VISITORS_LIST: number[] = Array.from({ length: 10 }, (_, i) => (i + 1) * 10); + export const NavigatorRoomCreatorView: FC<{}> = props => { - const [ maxVisitorsList, setMaxVisitorsList ] = useState(null); const [ name, setName ] = useState(null); const [ description, setDescription ] = useState(null); const [ category, setCategory ] = useState(null); - const [ visitorsCount, setVisitorsCount ] = useState(null); + const [ visitorsCount, setVisitorsCount ] = useState(MAX_VISITORS_LIST[0]); const [ tradesSetting, setTradesSetting ] = useState(0); - const [ roomModels, setRoomModels ] = useState([]); - const [ selectedModelName, setSelectedModelName ] = useState(''); + const [ roomModels ] = useState(() => GetConfigurationValue('navigator.room.models') ?? []); + const [ selectedModelName, setSelectedModelName ] = useState(() => + { + const models = GetConfigurationValue('navigator.room.models'); + + return (models && models.length) ? models[0].name : ''; + }); const [ isCreating, setIsCreating ] = useState(isCreatingRoom); const { categories = null } = useNavigator(); @@ -50,35 +56,11 @@ export const NavigatorRoomCreatorView: FC<{}> = props => }, 5000); }; - useEffect(() => - { - if(!maxVisitorsList) - { - const list = []; - - for(let i = 10; i <= 100; i = i + 10) list.push(i); - - setMaxVisitorsList(list); - setVisitorsCount(list[0]); - } - }, [ maxVisitorsList ]); - useEffect(() => { if(categories && categories.length) setCategory(categories[0].id); }, [ categories ]); - useEffect(() => - { - const models = GetConfigurationValue('navigator.room.models'); - - if(models && models.length) - { - setRoomModels(models); - setSelectedModelName(models[0].name); - } - }, []); - return (
@@ -103,7 +85,7 @@ export const NavigatorRoomCreatorView: FC<{}> = props =>
{ LocalizeText('navigator.maxvisitors') }