From 9900bc8aaa1befe838a880cac46cfea701289abb Mon Sep 17 00:00:00 2001 From: duckietm Date: Tue, 2 Jun 2026 15:33:48 +0200 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=86=99=20Small=20fix=20for=20the=20ro?= =?UTF-8?q?om=20link?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/css/user-profile/UserProfileView.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/css/user-profile/UserProfileView.css b/src/css/user-profile/UserProfileView.css index 5084b0e..f9bd045 100644 --- a/src/css/user-profile/UserProfileView.css +++ b/src/css/user-profile/UserProfileView.css @@ -292,6 +292,7 @@ border-right: 1px solid #afafaf; color: #111; font-size: 11px; + cursor: pointer; } .nitro-extended-profile__summary-button:first-child { From 03066abf546416f7fac6dbe818eb103321ed10ac Mon Sep 17 00:00:00 2001 From: duckietm Date: Tue, 2 Jun 2026 18:01:45 +0200 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=86=99=20Updated=20Group=20buy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../groups/views/GroupBadgeCreatorView.tsx | 4 ++-- src/components/groups/views/GroupCreatorView.tsx | 5 +++-- .../groups/views/tabs/GroupTabBadgeView.tsx | 4 +++- .../groups/views/tabs/GroupTabColorsView.tsx | 13 ++++++++----- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/components/groups/views/GroupBadgeCreatorView.tsx b/src/components/groups/views/GroupBadgeCreatorView.tsx index 55c2352..9ca2bb1 100644 --- a/src/components/groups/views/GroupBadgeCreatorView.tsx +++ b/src/components/groups/views/GroupBadgeCreatorView.tsx @@ -45,7 +45,7 @@ export const GroupBadgeCreatorView: FC = props => const getAvailableSymbols = () => { - const symbols = groupCustomize.badgeSymbols || []; + const symbols = groupCustomize?.badgeSymbols || []; if(selectedIndex < 0) return symbols; @@ -69,7 +69,7 @@ export const GroupBadgeCreatorView: FC = props => } }; - if(!badgeParts || !badgeParts.length) return null; + if(!groupCustomize || !badgeParts || !badgeParts.length) return null; return ( <> diff --git a/src/components/groups/views/GroupCreatorView.tsx b/src/components/groups/views/GroupCreatorView.tsx index f78b561..46a4b4f 100644 --- a/src/components/groups/views/GroupCreatorView.tsx +++ b/src/components/groups/views/GroupCreatorView.tsx @@ -1,4 +1,4 @@ -import { GroupBuyComposer, GroupBuyDataComposer, GroupBuyDataEvent } from '@nitrots/nitro-renderer'; +import { GroupBadgePartsComposer, GroupBuyComposer, GroupBuyDataComposer, GroupBuyDataEvent } from '@nitrots/nitro-renderer'; import { FC, useEffect, useState } from 'react'; import { HasHabboClub, IGroupData, LocalizeText, SendMessageComposer } from '../../../api'; import { Button, Column, Flex, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../../common'; @@ -119,6 +119,7 @@ export const GroupCreatorView: FC = props => }); SendMessageComposer(new GroupBuyDataComposer()); + SendMessageComposer(new GroupBadgePartsComposer()); }, [ setGroupData ]); if(!groupData) return null; @@ -131,7 +132,7 @@ export const GroupCreatorView: FC = props => { TABS.map((tab, index) => { return ( - + { LocalizeText(`group.create.steplabel.${ tab }`) } ); diff --git a/src/components/groups/views/tabs/GroupTabBadgeView.tsx b/src/components/groups/views/tabs/GroupTabBadgeView.tsx index 33c3cd3..ad18577 100644 --- a/src/components/groups/views/tabs/GroupTabBadgeView.tsx +++ b/src/components/groups/views/tabs/GroupTabBadgeView.tsx @@ -68,7 +68,9 @@ export const GroupTabBadgeView: FC = props => useEffect(() => { - if(groupData.groupBadgeParts) return; + if(groupData.groupBadgeParts && groupData.groupBadgeParts.length) return; + + if(!groupCustomize?.badgeBases?.length || !groupCustomize?.badgePartColors?.length) return; const badgeParts = [ new GroupBadgePart(GroupBadgePart.BASE, groupCustomize.badgeBases[0].id, groupCustomize.badgePartColors[0].id), diff --git a/src/components/groups/views/tabs/GroupTabColorsView.tsx b/src/components/groups/views/tabs/GroupTabColorsView.tsx index 256171c..4e1dd3b 100644 --- a/src/components/groups/views/tabs/GroupTabColorsView.tsx +++ b/src/components/groups/views/tabs/GroupTabColorsView.tsx @@ -20,9 +20,12 @@ export const GroupTabColorsView: FC = props => const getGroupColor = (colorIndex: number) => { - if(colorIndex === 0) return groupCustomize.groupColorsA.find(color => (color.id === colors[colorIndex])).color; + if(!groupCustomize || !colors) return '000000'; - return groupCustomize.groupColorsB.find(color => (color.id === colors[colorIndex])).color; + const list = (colorIndex === 0) ? groupCustomize.groupColorsA : groupCustomize.groupColorsB; + const found = list?.find(color => (color.id === colors[colorIndex])); + + return found ? found.color : '000000'; }; const selectColor = (colorIndex: number, colorId: number) => @@ -64,7 +67,7 @@ export const GroupTabColorsView: FC = props => useEffect(() => { - if(!groupCustomize.groupColorsA || !groupCustomize.groupColorsB || groupData.groupColors) return; + if(!groupCustomize?.groupColorsA?.length || !groupCustomize?.groupColorsB?.length || (groupData.groupColors && groupData.groupColors.length)) return; const groupColors = [ groupCustomize.groupColorsA[0].id, groupCustomize.groupColorsB[0].id ]; @@ -108,7 +111,7 @@ export const GroupTabColorsView: FC = props => { LocalizeText('group.edit.color.primary.color') } - { groupData.groupColors && groupCustomize.groupColorsA && groupCustomize.groupColorsA.map((item, index) => + { groupData.groupColors && groupCustomize?.groupColorsA && groupCustomize.groupColorsA.map((item, index) => { return
selectColor(0, item.id) }>
; }) } @@ -117,7 +120,7 @@ export const GroupTabColorsView: FC = props => { LocalizeText('group.edit.color.secondary.color') } - { groupData.groupColors && groupCustomize.groupColorsB && groupCustomize.groupColorsB.map((item, index) => + { groupData.groupColors && groupCustomize?.groupColorsB && groupCustomize.groupColorsB.map((item, index) => { return
selectColor(1, item.id) }>
; }) }