diff --git a/src/common/index.scss b/src/common/index.scss index 524b39b6..f5481279 100644 --- a/src/common/index.scss +++ b/src/common/index.scss @@ -267,5 +267,56 @@ z-index: 1; } +.badge-image { + position: relative; + width: 40px; + height: 40px; + background-repeat: no-repeat; + background-position: center; + + &.group-badge { + width: 39px; + height: 39px; + + &.scale-2 { + width: 80px; + height: 80px; + } + } + + .badge-information { + display: none; + } + + &:hover { + .badge-information { + display: block; + } + } + + .badge-information { + position: absolute; + pointer-events: none; + user-select: none; + width: 210px; + border-radius: $border-radius; + background: $white; + left: -220px; + z-index: 100; + + &:before { + position: absolute; + content: ' '; + width: 0; + height: 0; + border-left: 10px solid $white; + border-bottom: 10px solid transparent; + border-top: 10px solid transparent; + top: 10px; + right: -10px; + } + } +} + @import './card/NitroCardView'; diff --git a/src/views/shared/badge-image/BadgeImageView.tsx b/src/common/layout/LayoutBadgeImageView.tsx similarity index 90% rename from src/views/shared/badge-image/BadgeImageView.tsx rename to src/common/layout/LayoutBadgeImageView.tsx index d70ff622..8c48acd1 100644 --- a/src/views/shared/badge-image/BadgeImageView.tsx +++ b/src/common/layout/LayoutBadgeImageView.tsx @@ -1,10 +1,10 @@ import { BadgeImageReadyEvent, NitroSprite, TextureUtils } from '@nitrots/nitro-renderer'; import { CSSProperties, FC, useEffect, useMemo, useState } from 'react'; -import { GetSessionDataManager, LocalizeBadgeDescription, LocalizeBadgeName, LocalizeText } from '../../../api'; -import { Base, BaseProps } from '../../../common/Base'; -import { BadgeInformationView } from './badge-info/BadgeInformationView'; +import { GetSessionDataManager, LocalizeBadgeDescription, LocalizeBadgeName, LocalizeText } from '../../api'; +import { BadgeInformationView } from '../../views/shared/badge-image/badge-info/BadgeInformationView'; +import { Base, BaseProps } from '../Base'; -export interface BadgeImageViewProps extends BaseProps +export interface LayoutBadgeImageViewProps extends BaseProps { badgeCode: string; isGroup?: boolean; @@ -14,7 +14,7 @@ export interface BadgeImageViewProps extends BaseProps scale?: number; } -export const BadgeImageView: FC = props => +export const LayoutBadgeImageView: FC = props => { const { badgeCode = null, isGroup = false, showInfo = false, customTitle = null, isGrayscale = false, scale = 1, classNames = [], style = {}, children = null, ...rest } = props; const [ badgeUrl, setBadgeUrl ] = useState(''); diff --git a/src/common/layout/index.ts b/src/common/layout/index.ts index 0fa5bbb2..dd6afb36 100644 --- a/src/common/layout/index.ts +++ b/src/common/layout/index.ts @@ -1,3 +1,4 @@ +export * from './LayoutBadgeImageView'; export * from './LayoutCurrencyIcon'; export * from './LayoutGiftTagView'; export * from './LayoutGridItem'; diff --git a/src/views/shared/friendly-time/FriendlyTimeView.tsx b/src/common/utils/FriendlyTimeView.tsx similarity index 95% rename from src/views/shared/friendly-time/FriendlyTimeView.tsx rename to src/common/utils/FriendlyTimeView.tsx index 41a24426..d98d45e8 100644 --- a/src/views/shared/friendly-time/FriendlyTimeView.tsx +++ b/src/common/utils/FriendlyTimeView.tsx @@ -1,6 +1,6 @@ import { FriendlyTime } from '@nitrots/nitro-renderer'; import { FC, useCallback, useEffect, useMemo, useState } from 'react'; -import { Base, BaseProps } from '../../../common'; +import { Base, BaseProps } from '..'; interface FriendlyTimeViewProps extends BaseProps { diff --git a/src/common/utils/index.ts b/src/common/utils/index.ts index 68182b4c..11d60a34 100644 --- a/src/common/utils/index.ts +++ b/src/common/utils/index.ts @@ -1 +1,2 @@ export * from './CreateTransitionToIcon'; +export * from './FriendlyTimeView'; diff --git a/src/components/achievements/views/achievement-badge/AchievementBadgeView.tsx b/src/components/achievements/views/achievement-badge/AchievementBadgeView.tsx index 26b266ee..08de4de8 100644 --- a/src/components/achievements/views/achievement-badge/AchievementBadgeView.tsx +++ b/src/components/achievements/views/achievement-badge/AchievementBadgeView.tsx @@ -1,7 +1,6 @@ import { AchievementData } from '@nitrots/nitro-renderer'; import { FC } from 'react'; -import { BaseProps } from '../../../../common/Base'; -import { BadgeImageView } from '../../../../views/shared/badge-image/BadgeImageView'; +import { BaseProps, LayoutBadgeImageView } from '../../../../common'; import { AchievementUtilities } from '../../common/AchievementUtilities'; export interface AchievementBadgeViewProps extends BaseProps @@ -17,6 +16,6 @@ export const AchievementBadgeView: FC = props => if(!achievement) return null; return ( - + ); } diff --git a/src/components/catalog/views/page/widgets/CatalogAddOnBadgeWidgetView.tsx b/src/components/catalog/views/page/widgets/CatalogAddOnBadgeWidgetView.tsx index 5ac7f980..0b041536 100644 --- a/src/components/catalog/views/page/widgets/CatalogAddOnBadgeWidgetView.tsx +++ b/src/components/catalog/views/page/widgets/CatalogAddOnBadgeWidgetView.tsx @@ -1,6 +1,5 @@ import { FC } from 'react'; -import { BaseProps } from '../../../../../common/Base'; -import { BadgeImageView } from '../../../../../views/shared/badge-image/BadgeImageView'; +import { BaseProps, LayoutBadgeImageView } from '../../../../../common'; import { useCatalogContext } from '../../../CatalogContext'; interface CatalogAddOnBadgeWidgetViewProps extends BaseProps @@ -15,5 +14,5 @@ export const CatalogAddOnBadgeWidgetView: FC = if(!currentOffer || !currentOffer.badgeCode || !currentOffer.badgeCode.length) return null; - return ; + return ; } diff --git a/src/components/catalog/views/page/widgets/CatalogBadgeSelectorWidgetView.tsx b/src/components/catalog/views/page/widgets/CatalogBadgeSelectorWidgetView.tsx index 6d681655..6d243ede 100644 --- a/src/components/catalog/views/page/widgets/CatalogBadgeSelectorWidgetView.tsx +++ b/src/components/catalog/views/page/widgets/CatalogBadgeSelectorWidgetView.tsx @@ -1,9 +1,8 @@ import { StringDataType } from '@nitrots/nitro-renderer'; import { FC, useCallback, useEffect, useMemo, useState } from 'react'; -import { AutoGrid, AutoGridProps, LayoutGridItem } from '../../../../../common'; +import { AutoGrid, AutoGridProps, LayoutBadgeImageView, LayoutGridItem } from '../../../../../common'; import { InventoryBadgesRequestEvent, InventoryBadgesUpdatedEvent } from '../../../../../events'; import { DispatchUiEvent, UseUiEvent } from '../../../../../hooks'; -import { BadgeImageView } from '../../../../../views/shared/badge-image/BadgeImageView'; import { useCatalogContext } from '../../../CatalogContext'; const EXCLUDED_BADGE_CODES: string[] = []; @@ -62,7 +61,7 @@ export const CatalogBadgeSelectorWidgetView: FC setCurrentBadge(code) }> - + ); }) } diff --git a/src/components/catalog/views/page/widgets/CatalogGuildBadgeWidgetView.tsx b/src/components/catalog/views/page/widgets/CatalogGuildBadgeWidgetView.tsx index 0bbbe517..ae7deb55 100644 --- a/src/components/catalog/views/page/widgets/CatalogGuildBadgeWidgetView.tsx +++ b/src/components/catalog/views/page/widgets/CatalogGuildBadgeWidgetView.tsx @@ -1,7 +1,6 @@ import { StringDataType } from '@nitrots/nitro-renderer'; import { FC, useMemo } from 'react'; -import { BaseProps } from '../../../../../common'; -import { BadgeImageView } from '../../../../../views/shared/badge-image/BadgeImageView'; +import { BaseProps, LayoutBadgeImageView } from '../../../../../common'; import { useCatalogContext } from '../../../CatalogContext'; interface CatalogGuildBadgeWidgetViewProps extends BaseProps @@ -28,5 +27,5 @@ export const CatalogGuildBadgeWidgetView: FC = if(!badgeCode) return null; - return ; + return ; } diff --git a/src/components/groups/views/GroupBadgeCreatorView.tsx b/src/components/groups/views/GroupBadgeCreatorView.tsx index 5f231d06..04d7b864 100644 --- a/src/components/groups/views/GroupBadgeCreatorView.tsx +++ b/src/components/groups/views/GroupBadgeCreatorView.tsx @@ -1,7 +1,6 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { Dispatch, FC, SetStateAction, useState } from 'react'; -import { Base, Column, Flex, Grid } from '../../../common'; -import { BadgeImageView } from '../../../views/shared/badge-image/BadgeImageView'; +import { Base, Column, Flex, Grid, LayoutBadgeImageView } from '../../../common'; import { GroupBadgePart } from '../common/GroupBadgePart'; import { useGroupsContext } from '../GroupsContext'; @@ -40,7 +39,7 @@ export const GroupBadgeCreatorView: FC = props => setSelectedIndex(index) }> { (badgeParts[index].code && (badgeParts[index].code.length > 0)) && - } + } { (!badgeParts[index].code || !badgeParts[index].code.length) && @@ -74,7 +73,7 @@ export const GroupBadgeCreatorView: FC = props => { return ( setPartProperty(selectedIndex, 'key', item.id) }> - + ); }) } diff --git a/src/components/groups/views/GroupInformationView.tsx b/src/components/groups/views/GroupInformationView.tsx index 121bce5d..582b52e1 100644 --- a/src/components/groups/views/GroupInformationView.tsx +++ b/src/components/groups/views/GroupInformationView.tsx @@ -1,9 +1,8 @@ import { GroupInformationParser, GroupRemoveMemberComposer } from '@nitrots/nitro-renderer'; import { FC, useCallback } from 'react'; import { CreateLinkEvent, GetGroupManager, GetGroupMembers, GetSessionDataManager, LocalizeText, SendMessageComposer, TryJoinGroup, TryVisitRoom } from '../../../api'; -import { Button, Column, Flex, Grid, Text } from '../../../common'; +import { Button, Column, Flex, Grid, LayoutBadgeImageView, Text } from '../../../common'; import { NotificationUtilities } from '../../../views/notification-center/common/NotificationUtilities'; -import { BadgeImageView } from '../../../views/shared/badge-image/BadgeImageView'; import { CatalogPageName } from '../../catalog/common/CatalogPageName'; import { GroupMembershipType } from '../common/GroupMembershipType'; import { GroupType } from '../common/GroupType'; @@ -103,7 +102,7 @@ export const GroupInformationView: FC = props => - + handleAction('members') }>{ LocalizeText('group.membercount', [ 'totalMembers' ], [ groupInformation.membersCount.toString() ]) } diff --git a/src/components/groups/views/GroupMembersView.tsx b/src/components/groups/views/GroupMembersView.tsx index 446b270e..2e025c54 100644 --- a/src/components/groups/views/GroupMembersView.tsx +++ b/src/components/groups/views/GroupMembersView.tsx @@ -2,11 +2,10 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { GroupAdminGiveComposer, GroupAdminTakeComposer, GroupConfirmMemberRemoveEvent, GroupConfirmRemoveMemberComposer, GroupMemberParser, GroupMembersComposer, GroupMembersEvent, GroupMembershipAcceptComposer, GroupMembershipDeclineComposer, GroupMembersParser, GroupRank, GroupRemoveMemberComposer, ILinkEventTracker } from '@nitrots/nitro-renderer'; import { FC, useCallback, useEffect, useState } from 'react'; import { AddEventLinkTracker, GetSessionDataManager, GetUserProfile, LocalizeText, RemoveLinkEventTracker, SendMessageComposer } from '../../../api'; -import { Base, Button, Column, Flex, Grid, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../../common'; +import { Base, Button, Column, Flex, Grid, LayoutBadgeImageView, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../../common'; import { BatchUpdates, UseMessageEventHook } from '../../../hooks'; import { NotificationUtilities } from '../../../views/notification-center/common/NotificationUtilities'; import { AvatarImageView } from '../../../views/shared/avatar-image/AvatarImageView'; -import { BadgeImageView } from '../../../views/shared/badge-image/BadgeImageView'; export const GroupMembersView: FC<{}> = props => { @@ -167,7 +166,7 @@ export const GroupMembersView: FC<{}> = props => - + setSearchQuery(event.target.value) } /> diff --git a/src/components/groups/views/GroupRoomInformationView.tsx b/src/components/groups/views/GroupRoomInformationView.tsx index 8900d9ea..b111c5df 100644 --- a/src/components/groups/views/GroupRoomInformationView.tsx +++ b/src/components/groups/views/GroupRoomInformationView.tsx @@ -2,10 +2,9 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { DesktopViewEvent, GetGuestRoomResultEvent, GroupInformationComposer, GroupInformationEvent, GroupInformationParser, GroupRemoveMemberComposer, HabboGroupDeactivatedMessageEvent, RoomEntryInfoMessageEvent } from '@nitrots/nitro-renderer'; import { FC, useCallback, useState } from 'react'; import { GetGroupInformation, GetGroupManager, GetSessionDataManager, LocalizeText, SendMessageComposer, TryJoinGroup } from '../../../api'; -import { Base, Button, Column, Flex, Text } from '../../../common'; +import { Base, Button, Column, Flex, LayoutBadgeImageView, Text } from '../../../common'; import { UseMessageEventHook } from '../../../hooks'; import { NotificationUtilities } from '../../../views/notification-center/common/NotificationUtilities'; -import { BadgeImageView } from '../../../views/shared/badge-image/BadgeImageView'; import { GroupMembershipType } from '../common/GroupMembershipType'; import { GroupType } from '../common/GroupType'; @@ -128,7 +127,7 @@ export const GroupRoomInformationView: FC<{}> = props => <> GetGroupInformation(groupInformation.id) }> - + { groupInformation.title } diff --git a/src/components/groups/views/tabs/GroupTabBadgeView.tsx b/src/components/groups/views/tabs/GroupTabBadgeView.tsx index e6e5dfc6..75d6214b 100644 --- a/src/components/groups/views/tabs/GroupTabBadgeView.tsx +++ b/src/components/groups/views/tabs/GroupTabBadgeView.tsx @@ -1,8 +1,7 @@ import { GroupSaveBadgeComposer } from '@nitrots/nitro-renderer'; import { Dispatch, FC, SetStateAction, useCallback, useEffect, useState } from 'react'; import { SendMessageComposer } from '../../../../api'; -import { Column, Flex, Grid } from '../../../../common'; -import { BadgeImageView } from '../../../../views/shared/badge-image/BadgeImageView'; +import { Column, Flex, Grid, LayoutBadgeImageView } from '../../../../common'; import { GroupBadgePart } from '../../common/GroupBadgePart'; import { IGroupData } from '../../common/IGroupData'; import { useGroupsContext } from '../../GroupsContext'; @@ -112,7 +111,7 @@ export const GroupTabBadgeView: FC = props => - + diff --git a/src/components/groups/views/tabs/GroupTabCreatorConfirmationView.tsx b/src/components/groups/views/tabs/GroupTabCreatorConfirmationView.tsx index 07792208..083075b8 100644 --- a/src/components/groups/views/tabs/GroupTabCreatorConfirmationView.tsx +++ b/src/components/groups/views/tabs/GroupTabCreatorConfirmationView.tsx @@ -1,7 +1,6 @@ import { Dispatch, FC, SetStateAction } from 'react'; import { LocalizeText } from '../../../../api'; -import { Base, Column, Flex, Grid, Text } from '../../../../common'; -import { BadgeImageView } from '../../../../views/shared/badge-image/BadgeImageView'; +import { Base, Column, Flex, Grid, LayoutBadgeImageView, Text } from '../../../../common'; import { IGroupData } from '../../common/IGroupData'; import { useGroupsContext } from '../../GroupsContext'; @@ -42,7 +41,7 @@ export const GroupTabCreatorConfirmationView: FC { LocalizeText('group.create.confirm.guildbadge') } - + { LocalizeText('group.edit.color.guild.color') } diff --git a/src/components/inventory/views/badge/InventoryBadgeItemView.tsx b/src/components/inventory/views/badge/InventoryBadgeItemView.tsx index 2d179d52..d9b5427b 100644 --- a/src/components/inventory/views/badge/InventoryBadgeItemView.tsx +++ b/src/components/inventory/views/badge/InventoryBadgeItemView.tsx @@ -1,7 +1,6 @@ import { MouseEventType } from '@nitrots/nitro-renderer'; import { FC, MouseEvent } from 'react'; -import { LayoutGridItem } from '../../../../common/layout/LayoutGridItem'; -import { BadgeImageView } from '../../../../views/shared/badge-image/BadgeImageView'; +import { LayoutBadgeImageView, LayoutGridItem } from '../../../../common'; import { useInventoryContext } from '../../InventoryContext'; import { InventoryBadgeActions } from '../../reducers/InventoryBadgeReducer'; @@ -29,7 +28,7 @@ export const InventoryBadgeItemView: FC = props => return ( - + ); } diff --git a/src/components/inventory/views/badge/InventoryBadgeView.tsx b/src/components/inventory/views/badge/InventoryBadgeView.tsx index b5b05a1e..b7701ede 100644 --- a/src/components/inventory/views/badge/InventoryBadgeView.tsx +++ b/src/components/inventory/views/badge/InventoryBadgeView.tsx @@ -1,8 +1,7 @@ import { RequestBadgesComposer } from '@nitrots/nitro-renderer'; import { FC, useEffect } from 'react'; import { GetConfiguration, LocalizeBadgeName, LocalizeText, SendMessageComposer } from '../../../../api'; -import { AutoGrid, Button, Column, Flex, Grid, Text } from '../../../../common'; -import { BadgeImageView } from '../../../../views/shared/badge-image/BadgeImageView'; +import { AutoGrid, Button, Column, Flex, Grid, LayoutBadgeImageView, Text } from '../../../../common'; import { useInventoryContext } from '../../InventoryContext'; import { InventoryBadgeActions } from '../../reducers/InventoryBadgeReducer'; import { InventoryBadgeItemView } from './InventoryBadgeItemView'; @@ -92,7 +91,7 @@ export const InventoryBadgeView: FC = props => { badge && (badge.length > 0) && - + { LocalizeBadgeName(badge) } diff --git a/src/components/navigator/views/room-info/NavigatorRoomInfoView.tsx b/src/components/navigator/views/room-info/NavigatorRoomInfoView.tsx index c040857f..49a62412 100644 --- a/src/components/navigator/views/room-info/NavigatorRoomInfoView.tsx +++ b/src/components/navigator/views/room-info/NavigatorRoomInfoView.tsx @@ -3,10 +3,9 @@ import { RoomMuteComposer, RoomSettingsComposer, RoomStaffPickComposer, Security import classNames from 'classnames'; import { FC, useCallback, useEffect, useState } from 'react'; import { GetConfiguration, GetGroupInformation, GetSessionDataManager, LocalizeText, SendMessageComposer } from '../../../../api'; -import { Button, Column, Flex, LayoutRoomThumbnailView, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text, UserProfileIconView } from '../../../../common'; +import { Button, Column, Flex, LayoutBadgeImageView, LayoutRoomThumbnailView, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text, UserProfileIconView } from '../../../../common'; import { FloorplanEditorEvent, NavigatorEvent, RoomWidgetThumbnailEvent } from '../../../../events'; import { BatchUpdates, DispatchUiEvent } from '../../../../hooks'; -import { BadgeImageView } from '../../../../views/shared/badge-image/BadgeImageView'; import { useNavigatorContext } from '../../NavigatorContext'; import { NavigatorActions } from '../../reducers/NavigatorReducer'; @@ -165,7 +164,7 @@ export const NavigatorRoomInfoView: FC = props => { roomInfoData.enteredGuestRoom.description } { (roomInfoData.enteredGuestRoom.habboGroupId > 0) && processAction('open_group_info') }> - + { LocalizeText('navigator.guildbase', ['groupName'], [roomInfoData.enteredGuestRoom.groupName]) } diff --git a/src/components/user-profile/views/BadgesContainerView.tsx b/src/components/user-profile/views/BadgesContainerView.tsx index 2d40f7e3..365dcada 100644 --- a/src/components/user-profile/views/BadgesContainerView.tsx +++ b/src/components/user-profile/views/BadgesContainerView.tsx @@ -1,6 +1,5 @@ import { FC } from 'react'; -import { Grid, LayoutGridItem } from '../../../common'; -import { BadgeImageView } from '../../../views/shared/badge-image/BadgeImageView'; +import { Grid, LayoutBadgeImageView, LayoutGridItem } from '../../../common'; interface BadgesContainerViewProps { @@ -18,7 +17,7 @@ export const BadgesContainerView: FC = props => { return ( - + ) }) } diff --git a/src/components/user-profile/views/GroupsContainerView.tsx b/src/components/user-profile/views/GroupsContainerView.tsx index ffde4cd1..a971afc3 100644 --- a/src/components/user-profile/views/GroupsContainerView.tsx +++ b/src/components/user-profile/views/GroupsContainerView.tsx @@ -2,8 +2,8 @@ import { GroupFavoriteComposer, GroupInformationComposer, GroupInformationEvent, import classNames from 'classnames'; import { FC, useCallback, useEffect, useState } from 'react'; import { SendMessageComposer } from '../../../api'; +import { LayoutBadgeImageView } from '../../../common'; import { UseMessageEventHook } from '../../../hooks'; -import { BadgeImageView } from '../../../views/shared/badge-image/BadgeImageView'; import { GroupInformationView } from '../../groups/views/GroupInformationView'; interface GroupsContainerViewProps @@ -58,7 +58,7 @@ export const GroupsContainerView: FC = props => { return
setSelectedGroupId(group.groupId) } className={ 'profile-groups-item position-relative flex-shrink-0 d-flex align-items-center justify-content-center cursor-pointer' + classNames({ ' active': selectedGroupId === group.groupId }) }> { itsMe && favoriteGroup(group.groupId) } /> } - +
}) } diff --git a/src/views/friends/views/friend-bar/FriendBarItemView.tsx b/src/views/friends/views/friend-bar/FriendBarItemView.tsx index 81d36d79..69635738 100644 --- a/src/views/friends/views/friend-bar/FriendBarItemView.tsx +++ b/src/views/friends/views/friend-bar/FriendBarItemView.tsx @@ -1,9 +1,8 @@ import { FollowFriendMessageComposer, MouseEventType } from '@nitrots/nitro-renderer'; import { FC, useCallback, useEffect, useRef, useState } from 'react'; import { GetUserProfile, LocalizeText, OpenMessengerChat, SendMessageComposer } from '../../../../api'; -import { Base } from '../../../../common'; +import { Base, LayoutBadgeImageView } from '../../../../common'; import { AvatarImageView } from '../../../shared/avatar-image/AvatarImageView'; -import { BadgeImageView } from '../../../shared/badge-image/BadgeImageView'; import { MessengerFriend } from '../../common/MessengerFriend'; interface FriendBarItemViewProps @@ -65,7 +64,7 @@ export const FriendBarItemView: FC = props =>
setVisible(prevValue => !prevValue) }>
0 ? 'avatar': 'group'}`}> { friend.id > 0 && } - { friend.id <= 0 && } + { friend.id <= 0 && }
{ friend.name }
{ isVisible && diff --git a/src/views/friends/views/messenger/FriendsMessengerView.tsx b/src/views/friends/views/messenger/FriendsMessengerView.tsx index 3d586dfa..44d496ba 100644 --- a/src/views/friends/views/messenger/FriendsMessengerView.tsx +++ b/src/views/friends/views/messenger/FriendsMessengerView.tsx @@ -1,11 +1,10 @@ import { FollowFriendMessageComposer, ILinkEventTracker, NewConsoleMessageEvent, RoomInviteEvent, SendMessageComposer as SendMessageComposerPacket } from '@nitrots/nitro-renderer'; import { FC, KeyboardEvent, useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { AddEventLinkTracker, GetSessionDataManager, GetUserProfile, LocalizeText, MESSENGER_MESSAGE_RECEIVED, MESSENGER_NEW_THREAD, PlaySound, RemoveLinkEventTracker, SendMessageComposer } from '../../../../api'; -import { Base, Button, ButtonGroup, Column, Flex, Grid, LayoutItemCountView, NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../../../common'; +import { Base, Button, ButtonGroup, Column, Flex, Grid, LayoutBadgeImageView, LayoutItemCountView, NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../../../common'; import { FriendsMessengerIconEvent } from '../../../../events'; import { BatchUpdates, DispatchUiEvent, UseMessageEventHook } from '../../../../hooks'; import { AvatarImageView } from '../../../shared/avatar-image/AvatarImageView'; -import { BadgeImageView } from '../../../shared/badge-image/BadgeImageView'; import { MessengerThread } from '../../common/MessengerThread'; import { MessengerThreadChat } from '../../common/MessengerThreadChat'; import { useFriendsContext } from '../../FriendsContext'; @@ -271,7 +270,7 @@ export const FriendsMessengerView: FC<{}> = props =>
{thread.participant.id > 0 && } - {thread.participant.id <= 0 && } + {thread.participant.id <= 0 && }
{thread.participant.name} diff --git a/src/views/hc-center/HcCenterView.tsx b/src/views/hc-center/HcCenterView.tsx index 442b5fc8..f0107824 100644 --- a/src/views/hc-center/HcCenterView.tsx +++ b/src/views/hc-center/HcCenterView.tsx @@ -1,14 +1,11 @@ -import { ClubGiftInfoEvent, FriendlyTime, GetClubGiftInfo, ILinkEventTracker, RequestBadgesComposer, ScrKickbackData, ScrSendKickbackInfoMessageEvent, UserInfoEvent, UserSubscriptionEvent } from '@nitrots/nitro-renderer'; -import { BadgesEvent, FigureUpdateEvent } from '@nitrots/nitro-renderer/src'; -import { ScrGetKickbackInfoMessageComposer } from '@nitrots/nitro-renderer/src/nitro/communication/messages/outgoing/user/ScrGetKickbackInfoMessageComposer'; +import { BadgesEvent, ClubGiftInfoEvent, FigureUpdateEvent, FriendlyTime, GetClubGiftInfo, ILinkEventTracker, RequestBadgesComposer, ScrGetKickbackInfoMessageComposer, ScrKickbackData, ScrSendKickbackInfoMessageEvent, UserInfoEvent, UserSubscriptionEvent } from '@nitrots/nitro-renderer'; import { FC, useCallback, useEffect, useState } from 'react'; import { OverlayTrigger, Popover } from 'react-bootstrap'; import { AddEventLinkTracker, CreateLinkEvent, GetConfiguration, LocalizeText, RemoveLinkEventTracker, SendMessageComposer } from '../../api'; -import { NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../common'; +import { LayoutBadgeImageView, NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../common'; import { HcCenterEvent } from '../../events'; import { UseMessageEventHook, UseUiEvent } from '../../hooks'; import { AvatarImageView } from '../shared/avatar-image/AvatarImageView'; -import { BadgeImageView } from '../shared/badge-image/BadgeImageView'; import { BadgeResolver } from './util/BadgeResolver'; import { ClubStatus } from './util/ClubStatus'; @@ -221,7 +218,7 @@ export const HcCenterView: FC<{}> = props =>
- +
{LocalizeText('hccenter.status.' + clubStatus)}
diff --git a/src/views/room/widgets/infostand/InfoStandWidgetBotView.tsx b/src/views/room/widgets/infostand/InfoStandWidgetBotView.tsx index dac8f179..41220732 100644 --- a/src/views/room/widgets/infostand/InfoStandWidgetBotView.tsx +++ b/src/views/room/widgets/infostand/InfoStandWidgetBotView.tsx @@ -1,9 +1,8 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { FC } from 'react'; import { LocalizeText, RoomWidgetUpdateInfostandUserEvent } from '../../../../api'; -import { Column, Flex, Text } from '../../../../common'; +import { Column, Flex, LayoutBadgeImageView, Text } from '../../../../common'; import { AvatarImageView } from '../../../shared/avatar-image/AvatarImageView'; -import { BadgeImageView } from '../../../shared/badge-image/BadgeImageView'; interface InfoStandWidgetBotViewProps { @@ -35,7 +34,7 @@ export const InfoStandWidgetBotView: FC = props => { (botData.badges.length > 0) && botData.badges.map(result => { - return ; + return ; }) } diff --git a/src/views/room/widgets/infostand/InfoStandWidgetFurniView.tsx b/src/views/room/widgets/infostand/InfoStandWidgetFurniView.tsx index 19f5c502..fc5536f8 100644 --- a/src/views/room/widgets/infostand/InfoStandWidgetFurniView.tsx +++ b/src/views/room/widgets/infostand/InfoStandWidgetFurniView.tsx @@ -2,9 +2,8 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { CrackableDataType, GroupInformationComposer, GroupInformationEvent, RoomControllerLevel, RoomObjectCategory, RoomObjectVariable, RoomWidgetEnumItemExtradataParameter, RoomWidgetFurniInfoUsagePolicyEnum, SetObjectDataMessageComposer, StringDataType } from '@nitrots/nitro-renderer'; import { FC, useCallback, useEffect, useState } from 'react'; import { CreateLinkEvent, GetGroupInformation, GetRoomEngine, LocalizeText, RoomWidgetFurniActionMessage, RoomWidgetUpdateInfostandFurniEvent, SendMessageComposer } from '../../../../api'; -import { Button, Column, Flex, Text, UserProfileIconView } from '../../../../common'; +import { Button, Column, Flex, LayoutBadgeImageView, Text, UserProfileIconView } from '../../../../common'; import { BatchUpdates, UseMessageEventHook } from '../../../../hooks'; -import { BadgeImageView } from '../../../shared/badge-image/BadgeImageView'; import { LimitedEditionCompactPlateView } from '../../../shared/limited-edition/LimitedEditionCompactPlateView'; import { RarityLevelView } from '../../../shared/rarity-level/RarityLevelView'; import { useRoomContext } from '../../context/RoomContext'; @@ -308,7 +307,7 @@ export const InfoStandWidgetFurniView: FC = props <>
GetGroupInformation(furniData.groupId) }> - + { groupName } } diff --git a/src/views/room/widgets/infostand/InfoStandWidgetRentableBotView.tsx b/src/views/room/widgets/infostand/InfoStandWidgetRentableBotView.tsx index fccdd2ae..d2e5b319 100644 --- a/src/views/room/widgets/infostand/InfoStandWidgetRentableBotView.tsx +++ b/src/views/room/widgets/infostand/InfoStandWidgetRentableBotView.tsx @@ -2,9 +2,8 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { BotRemoveComposer } from '@nitrots/nitro-renderer'; import { FC, useMemo } from 'react'; import { LocalizeText, RoomWidgetUpdateInfostandRentableBotEvent, SendMessageComposer } from '../../../../api'; -import { Button, Column, Flex, Text, UserProfileIconView } from '../../../../common'; +import { Button, Column, Flex, LayoutBadgeImageView, Text, UserProfileIconView } from '../../../../common'; import { AvatarImageView } from '../../../shared/avatar-image/AvatarImageView'; -import { BadgeImageView } from '../../../shared/badge-image/BadgeImageView'; import { BotSkillsEnum } from '../avatar-info/common/BotSkillsEnum'; interface InfoStandWidgetRentableBotViewProps @@ -49,7 +48,7 @@ export const InfoStandWidgetRentableBotView: FC { (rentableBotData.badges.length > 0) && rentableBotData.badges.map(result => { - return ; + return ; }) } diff --git a/src/views/room/widgets/infostand/InfoStandWidgetUserView.tsx b/src/views/room/widgets/infostand/InfoStandWidgetUserView.tsx index 92aa5469..296305be 100644 --- a/src/views/room/widgets/infostand/InfoStandWidgetUserView.tsx +++ b/src/views/room/widgets/infostand/InfoStandWidgetUserView.tsx @@ -2,10 +2,9 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { RelationshipStatusInfoEvent, RelationshipStatusInfoMessageParser, RoomSessionUserBadgesEvent, UserRelationshipsComposer } from '@nitrots/nitro-renderer'; import { FC, FocusEvent, KeyboardEvent, useCallback, useEffect, useState } from 'react'; import { GetConfiguration, GetGroupInformation, LocalizeText, RoomWidgetChangeMottoMessage, RoomWidgetUpdateInfostandUserEvent, SendMessageComposer } from '../../../../api'; -import { Base, Column, Flex, Text, UserProfileIconView } from '../../../../common'; +import { Base, Column, Flex, LayoutBadgeImageView, Text, UserProfileIconView } from '../../../../common'; import { BatchUpdates, UseEventDispatcherHook, UseMessageEventHook } from '../../../../hooks'; import { AvatarImageView } from '../../../shared/avatar-image/AvatarImageView'; -import { BadgeImageView } from '../../../shared/badge-image/BadgeImageView'; import { useRoomContext } from '../../context/RoomContext'; import { InfoStandWidgetUserRelationshipsView } from './InfoStandWidgetUserRelationshipsView'; @@ -110,27 +109,27 @@ export const InfoStandWidgetUserView: FC = props = - { badges[0] && } + { badges[0] && } 0) } className="badge-image" onClick={ event => GetGroupInformation(userData.groupId) }> { userData.groupId > 0 && - } + } - { badges[1] && } + { badges[1] && } - { badges[2] && } + { badges[2] && } - { badges[3] && } + { badges[3] && } - { badges[4] && } + { badges[4] && }