5180 fichiers 38.5 Mo 0 téléchargements 348 vues mis à jour il y a 7 heures ui
nitro-v36-with-renderer-v36 / src / components / groups / views / tabs / GroupTabCreatorConfirmationView.tsx
GroupTabCreatorConfirmationView.tsx 2.7 Ko Télécharger le fichier
import { Dispatch, FC, SetStateAction } from 'react';
import { IGroupData, LocalizeText } from '../../../../api';
import { LayoutBadgeImageView } from '../../../../common';
import { useGroup } from '../../../../hooks';
import { flatText, GroupBox, GroupSwatch, GroupText } from '../GroupNativeLayout';

interface GroupTabCreatorConfirmationViewProps {
    groupData: IGroupData;
    setGroupData: Dispatch<SetStateAction<IGroupData>>;
    purchaseCost: number;
}

// step_cont_4 sits at client y=111.
const STEP_Y = 111;

export const GroupTabCreatorConfirmationView: FC<GroupTabCreatorConfirmationViewProps> = (props) => {
    const { groupData = null, purchaseCost = 0 } = props;
    const { groupCustomize = null } = useGroup();

    const getCompleteBadgeCode = () => {
        if (!groupData || !groupData.groupBadgeParts || !groupData.groupBadgeParts.length) return '';

        let badgeCode = '';

        groupData.groupBadgeParts.forEach((part) => part.previewCode && (badgeCode += part.previewCode));

        return badgeCode;
    };

    const getGroupColor = (colorIndex: number) => {
        const list = colorIndex === 0 ? groupCustomize?.groupColorsA : groupCustomize?.groupColorsB;

        return list?.find((color) => color.id === groupData.groupColors[colorIndex])?.color ?? '000000';
    };

    if (!groupData) return null;

    return (
        <div className="octane-group-native__step-body" style={{ top: STEP_Y }}>
            <GroupText height={45} overrides={flatText(18, { bold: true })} wrap text={groupData.groupName} width={256} x={126} y={8} />
            <GroupText height={215} overrides={flatText(13)} wrap text={LocalizeText('group.create.confirm.info')} width={260} x={126} y={46} />
            <GroupText align="center" text={LocalizeText('group.create.confirm.guildbadge')} textStyle="u_bold" width={92} x={15} y={33} />
            <GroupBox height={92} kind="white" width={92} x={15} y={50}>
                <GroupBox height={84} kind="tan" width={84} x={4} y={4} />
                <div className="octane-group-native__badge" style={{ left: 26, top: 26 }}>
                    <LayoutBadgeImageView badgeCode={getCompleteBadgeCode()} isGroup={true} isPreview={true} />
                </div>
            </GroupBox>
            <GroupText align="center" text={LocalizeText('group.create.confirm.guildcolors')} textStyle="u_bold" width={92} x={15} y={155} />
            <GroupBox height={46} kind="outline" width={92} x={15} y={172}>
                <GroupBox height={38} kind="tan" width={84} x={4} y={4}>
                    <GroupSwatch color={getGroupColor(0)} x={4} y={4} />
                    <GroupSwatch color={getGroupColor(1)} x={44} y={4} />
                </GroupBox>
            </GroupBox>
        </div>
    );
};
15Sujets
1Dépôts
20Membres
3En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser