mirror of
https://github.com/billsonnn/nitro-react.git
synced 2025-02-21 10:52:36 +01:00
HC Disabled config in AvatarEditor and Navigator
This commit is contained in:
parent
803ba76285
commit
1b30b6b507
@ -1,4 +1,5 @@
|
|||||||
import { FC, useCallback, useEffect, useState } from 'react';
|
import { FC, useCallback, useEffect, useState } from 'react';
|
||||||
|
import { GetConfiguration } from '../../../../api';
|
||||||
import { LayoutCurrencyIcon, LayoutGridItem, LayoutGridItemProps } from '../../../../common';
|
import { LayoutCurrencyIcon, LayoutGridItem, LayoutGridItemProps } from '../../../../common';
|
||||||
import { AvatarEditorGridPartItem } from '../../common/AvatarEditorGridPartItem';
|
import { AvatarEditorGridPartItem } from '../../common/AvatarEditorGridPartItem';
|
||||||
import { AvatarEditorIcon } from '../AvatarEditorIcon';
|
import { AvatarEditorIcon } from '../AvatarEditorIcon';
|
||||||
@ -13,6 +14,8 @@ export const AvatarEditorFigureSetItemView: FC<AvatarEditorFigureSetItemViewProp
|
|||||||
const { partItem = null, children = null, ...rest } = props;
|
const { partItem = null, children = null, ...rest } = props;
|
||||||
const [ updateId, setUpdateId ] = useState(-1);
|
const [ updateId, setUpdateId ] = useState(-1);
|
||||||
|
|
||||||
|
const hcDisabled = GetConfiguration<boolean>('hc.disabled', false);
|
||||||
|
|
||||||
const rerender = useCallback(() =>
|
const rerender = useCallback(() =>
|
||||||
{
|
{
|
||||||
setUpdateId(prevValue => (prevValue + 1));
|
setUpdateId(prevValue => (prevValue + 1));
|
||||||
@ -30,7 +33,7 @@ export const AvatarEditorFigureSetItemView: FC<AvatarEditorFigureSetItemViewProp
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<LayoutGridItem itemImage={ (partItem.isClear ? undefined : partItem.imageUrl) } itemActive={ partItem.isSelected } { ...rest }>
|
<LayoutGridItem itemImage={ (partItem.isClear ? undefined : partItem.imageUrl) } itemActive={ partItem.isSelected } { ...rest }>
|
||||||
{ partItem.isHC && <LayoutCurrencyIcon className="position-absolute end-1 bottom-1" type={ 'hc' } /> }
|
{ !hcDisabled && partItem.isHC && <LayoutCurrencyIcon className="position-absolute end-1 bottom-1" type="hc" /> }
|
||||||
{ partItem.isClear && <AvatarEditorIcon icon="clear" /> }
|
{ partItem.isClear && <AvatarEditorIcon icon="clear" /> }
|
||||||
{ partItem.isSellable && <AvatarEditorIcon icon="sellable" position="absolute" className="end-1 bottom-1" /> }
|
{ partItem.isSellable && <AvatarEditorIcon icon="sellable" position="absolute" className="end-1 bottom-1" /> }
|
||||||
{ children }
|
{ children }
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { FC, useCallback, useEffect, useState } from 'react';
|
import { FC, useCallback, useEffect, useState } from 'react';
|
||||||
|
import { GetConfiguration } from '../../../../api';
|
||||||
import { LayoutCurrencyIcon, LayoutGridItem, LayoutGridItemProps } from '../../../../common';
|
import { LayoutCurrencyIcon, LayoutGridItem, LayoutGridItemProps } from '../../../../common';
|
||||||
import { AvatarEditorGridColorItem } from '../../common/AvatarEditorGridColorItem';
|
import { AvatarEditorGridColorItem } from '../../common/AvatarEditorGridColorItem';
|
||||||
|
|
||||||
@ -12,6 +13,8 @@ export const AvatarEditorPaletteSetItem: FC<AvatarEditorPaletteSetItemProps> = p
|
|||||||
const { colorItem = null, children = null, ...rest } = props;
|
const { colorItem = null, children = null, ...rest } = props;
|
||||||
const [ updateId, setUpdateId ] = useState(-1);
|
const [ updateId, setUpdateId ] = useState(-1);
|
||||||
|
|
||||||
|
const hcDisabled = GetConfiguration<boolean>('hc.disabled', false);
|
||||||
|
|
||||||
const rerender = useCallback(() =>
|
const rerender = useCallback(() =>
|
||||||
{
|
{
|
||||||
setUpdateId(prevValue => (prevValue + 1));
|
setUpdateId(prevValue => (prevValue + 1));
|
||||||
@ -26,7 +29,7 @@ export const AvatarEditorPaletteSetItem: FC<AvatarEditorPaletteSetItemProps> = p
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<LayoutGridItem itemHighlight itemColor={ colorItem.color } itemActive={ colorItem.isSelected } className="clear-bg" { ...rest }>
|
<LayoutGridItem itemHighlight itemColor={ colorItem.color } itemActive={ colorItem.isSelected } className="clear-bg" { ...rest }>
|
||||||
{ colorItem.isHC && <LayoutCurrencyIcon className="position-absolute end-1 bottom-1" type={ 'hc' } /> }
|
{ !hcDisabled && colorItem.isHC && <LayoutCurrencyIcon className="position-absolute end-1 bottom-1" type="hc" /> }
|
||||||
{ children }
|
{ children }
|
||||||
</LayoutGridItem>
|
</LayoutGridItem>
|
||||||
);
|
);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { IAvatarFigureContainer, SaveWardrobeOutfitMessageComposer } from '@nitrots/nitro-renderer';
|
import { IAvatarFigureContainer, SaveWardrobeOutfitMessageComposer } from '@nitrots/nitro-renderer';
|
||||||
import { Dispatch, FC, SetStateAction, useCallback, useMemo } from 'react';
|
import { Dispatch, FC, SetStateAction, useCallback, useMemo } from 'react';
|
||||||
import { GetAvatarRenderManager, GetClubMemberLevel, LocalizeText, SendMessageComposer } from '../../../../api';
|
import { GetAvatarRenderManager, GetClubMemberLevel, GetConfiguration, LocalizeText, SendMessageComposer } from '../../../../api';
|
||||||
import { AutoGrid, Base, Button, Flex, LayoutAvatarImageView, LayoutCurrencyIcon, LayoutGridItem } from '../../../../common';
|
import { AutoGrid, Base, Button, Flex, LayoutAvatarImageView, LayoutCurrencyIcon, LayoutGridItem } from '../../../../common';
|
||||||
import { FigureData } from '../../common/FigureData';
|
import { FigureData } from '../../common/FigureData';
|
||||||
|
|
||||||
@ -16,6 +16,8 @@ export const AvatarEditorWardrobeView: FC<AvatarEditorWardrobeViewProps> = props
|
|||||||
{
|
{
|
||||||
const { figureData = null, savedFigures = [], setSavedFigures = null, loadAvatarInEditor = null } = props;
|
const { figureData = null, savedFigures = [], setSavedFigures = null, loadAvatarInEditor = null } = props;
|
||||||
|
|
||||||
|
const hcDisabled = GetConfiguration<boolean>('hc.disabled', false);
|
||||||
|
|
||||||
const wearFigureAtIndex = useCallback((index: number) =>
|
const wearFigureAtIndex = useCallback((index: number) =>
|
||||||
{
|
{
|
||||||
if((index >= savedFigures.length) || (index < 0)) return;
|
if((index >= savedFigures.length) || (index < 0)) return;
|
||||||
@ -57,7 +59,7 @@ export const AvatarEditorWardrobeView: FC<AvatarEditorWardrobeViewProps> = props
|
|||||||
{ figureContainer &&
|
{ figureContainer &&
|
||||||
<LayoutAvatarImageView figure={ figureContainer.getFigureString() } gender={ gender } direction={ 2 } /> }
|
<LayoutAvatarImageView figure={ figureContainer.getFigureString() } gender={ gender } direction={ 2 } /> }
|
||||||
<Base className="avatar-shadow" />
|
<Base className="avatar-shadow" />
|
||||||
{ (clubLevel > 0) && <LayoutCurrencyIcon className="position-absolute top-1 start-1" type="hc" /> }
|
{ !hcDisabled && (clubLevel > 0) && <LayoutCurrencyIcon className="position-absolute top-1 start-1" type="hc" /> }
|
||||||
<Flex gap={ 1 } className="button-container">
|
<Flex gap={ 1 } className="button-container">
|
||||||
<Button variant="link" fullWidth onClick={ event => saveFigureAtWardrobeIndex(index) }>{ LocalizeText('avatareditor.wardrobe.save') }</Button>
|
<Button variant="link" fullWidth onClick={ event => saveFigureAtWardrobeIndex(index) }>{ LocalizeText('avatareditor.wardrobe.save') }</Button>
|
||||||
{ figureContainer &&
|
{ figureContainer &&
|
||||||
@ -68,7 +70,7 @@ export const AvatarEditorWardrobeView: FC<AvatarEditorWardrobeViewProps> = props
|
|||||||
});
|
});
|
||||||
|
|
||||||
return items;
|
return items;
|
||||||
}, [ savedFigures, saveFigureAtWardrobeIndex, wearFigureAtIndex ]);
|
}, [ savedFigures, hcDisabled, saveFigureAtWardrobeIndex, wearFigureAtIndex ]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<AutoGrid columnCount={ 5 } columnMinWidth={ 80 } columnMinHeight={ 140 }>
|
<AutoGrid columnCount={ 5 } columnMinWidth={ 80 } columnMinHeight={ 140 }>
|
||||||
|
@ -17,6 +17,8 @@ export const NavigatorRoomCreatorView: FC<{}> = props =>
|
|||||||
const [ selectedModelName, setSelectedModelName ] = useState<string>('');
|
const [ selectedModelName, setSelectedModelName ] = useState<string>('');
|
||||||
const { categories = null } = useNavigatorContext();
|
const { categories = null } = useNavigatorContext();
|
||||||
|
|
||||||
|
const hcDisabled = GetConfiguration<boolean>('hc.disabled', false);
|
||||||
|
|
||||||
const getRoomModelImage = (name: string) => GetConfiguration<string>('images.url') + `/navigator/models/model_${ name }.png`;
|
const getRoomModelImage = (name: string) => GetConfiguration<string>('images.url') + `/navigator/models/model_${ name }.png`;
|
||||||
|
|
||||||
const selectModel = (model: IRoomModel, index: number) =>
|
const selectModel = (model: IRoomModel, index: number) =>
|
||||||
@ -108,7 +110,7 @@ export const NavigatorRoomCreatorView: FC<{}> = props =>
|
|||||||
<img alt="" src={ getRoomModelImage(model.name) } />
|
<img alt="" src={ getRoomModelImage(model.name) } />
|
||||||
</Flex>
|
</Flex>
|
||||||
<Text bold>{ model.tileSize } { LocalizeText('navigator.createroom.tilesize') }</Text>
|
<Text bold>{ model.tileSize } { LocalizeText('navigator.createroom.tilesize') }</Text>
|
||||||
{ model.clubLevel > HabboClubLevelEnum.NO_CLUB && <LayoutCurrencyIcon position="absolute" className="top-1 end-1" type="hc" /> }
|
{ !hcDisabled && model.clubLevel > HabboClubLevelEnum.NO_CLUB && <LayoutCurrencyIcon position="absolute" className="top-1 end-1" type="hc" /> }
|
||||||
</LayoutGridItem>);
|
</LayoutGridItem>);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user