mirror of
https://github.com/duckietm/Nitro-V3.git
synced 2026-06-19 15:06:20 +00:00
f7e78674c6
- Catalogo Hippiehotel responsive su mobile (finestra 96vw/72vh, rail
tappabile, sotto-pannelli ristretti); duckie ripristinato come entita
separata (revert modifiche scrollbar sul suo CSS)
- BC e catalogo normale seguono entrambi il toggle tema; il duckie non
duplica piu il logo nelle pagine info_duckets
- Navigator: highlight della tab segue currentTabCode (era bloccato su
Pubblici mentre il contenuto cambiava)
- Inventario: link inventory/show/<tab> per deep-link a una scheda
- User Profile: avatar visibile e allineato a bg/stand, finestra piu
grande, bordi puliti, Created/Last login mostrano il valore, bottoni
Change Looks/Rooms/Change Badges/Add friends/Achievement funzionanti
- Amici: header non piu sovradimensionati e teste avatar inquadrate
(regole flat: quelle annidate .nitro-friends{&...} non si applicavano)
63 lines
3.2 KiB
TypeScript
63 lines
3.2 KiB
TypeScript
import { RelationshipStatusEnum, RelationshipStatusInfoMessageParser } from '@nitrots/nitro-renderer';
|
|
import { FC } from 'react';
|
|
import { CreateLinkEvent, GetUserProfile, LocalizeText } from '../../api';
|
|
import { Flex, LayoutAvatarImageView } from '../../common';
|
|
|
|
interface RelationshipsContainerViewProps
|
|
{
|
|
relationships: RelationshipStatusInfoMessageParser;
|
|
}
|
|
|
|
interface RelationshipsContainerRelationshipViewProps
|
|
{
|
|
type: number;
|
|
}
|
|
|
|
export const RelationshipsContainerView: FC<RelationshipsContainerViewProps> = props =>
|
|
{
|
|
const { relationships = null } = props;
|
|
|
|
const RelationshipComponent = ({ type }: RelationshipsContainerRelationshipViewProps) =>
|
|
{
|
|
const relationshipInfo = (relationships && relationships.relationshipStatusMap.hasKey(type)) ? relationships.relationshipStatusMap.getValue(type) : null;
|
|
const relationshipName = RelationshipStatusEnum.RELATIONSHIP_NAMES[type].toLocaleLowerCase();
|
|
|
|
return (
|
|
<div className="nitro-extended-profile__relationship">
|
|
<Flex center className="nitro-extended-profile__relationship-icon">
|
|
<i className={ `nitro-friends-spritesheet icon-${ relationshipName }` } />
|
|
</Flex>
|
|
<div className="nitro-extended-profile__relationship-copy">
|
|
<div className="nitro-extended-profile__relationship-box">
|
|
<p className="nitro-extended-profile__relationship-name" onClick={ event => ((relationshipInfo && (relationshipInfo.randomFriendId >= 1)) ? GetUserProfile(relationshipInfo.randomFriendId) : CreateLinkEvent('friends/toggle')) }>
|
|
{ (!relationshipInfo || (relationshipInfo.friendCount === 0)) &&
|
|
LocalizeText('extendedprofile.add.friends') }
|
|
{ (relationshipInfo && (relationshipInfo.friendCount >= 1)) &&
|
|
relationshipInfo.randomFriendName }
|
|
</p>
|
|
{ (relationshipInfo && (relationshipInfo.friendCount >= 1)) &&
|
|
<div className="nitro-extended-profile__relationship-head">
|
|
<LayoutAvatarImageView direction={ 2 } figure={ relationshipInfo.randomFriendFigure } headOnly={ true } />
|
|
</div> }
|
|
</div>
|
|
<p className="nitro-extended-profile__relationship-subcopy">
|
|
{ (!relationshipInfo || (relationshipInfo.friendCount === 0)) &&
|
|
LocalizeText('extendedprofile.no.friends.in.this.category') }
|
|
{ (relationshipInfo && (relationshipInfo.friendCount > 1)) &&
|
|
LocalizeText(`extendedprofile.relstatus.others.${ relationshipName }`, [ 'count' ], [ (relationshipInfo.friendCount - 1).toString() ]) }
|
|
|
|
</p>
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
return (
|
|
<>
|
|
<RelationshipComponent type={ RelationshipStatusEnum.HEART } />
|
|
<RelationshipComponent type={ RelationshipStatusEnum.SMILE } />
|
|
<RelationshipComponent type={ RelationshipStatusEnum.BOBBA } />
|
|
</>
|
|
);
|
|
};
|