5180 fichiers 38.5 Mo 0 téléchargements 393 vues mis à jour il y a 7 heures ui
nitro-v36-with-renderer-v36 / src / components / friends / views / friends-list / FriendsListRoomInviteView.tsx
FriendsListRoomInviteView.tsx 2.8 Ko Télécharger le fichier
import { FC, useState } from 'react';
import { LocalizeText } from '../../../../api';
import { Button, OctaneCardContentView, OctaneCardHeaderView, OctaneCardView, Text } from '../../../../common';
import { NativeTextTree } from '../../../../common/native-text/NativeTextTree';

interface FriendsRoomInviteViewProps {
    selectedFriendsIds: number[];
    onCloseClick: () => void;
    sendRoomInvite: (message: string) => void;
}

export const FriendsRoomInviteView: FC<FriendsRoomInviteViewProps> = (props) => {
    const { selectedFriendsIds = null, onCloseClick = null, sendRoomInvite = null } = props;
    const [roomInviteMessage, setRoomInviteMessage] = useState<string>('');

    return (
        <NativeTextTree>
            <OctaneCardView
                className="octane-friends-room-invite min-w-0 max-w-[calc(100vw-16px)] max-h-[calc(100vh-16px)]"
                theme="primary-slim"
                uniqueKey="octane-friends-room-invite"
                isResizable={false}
            >
                <OctaneCardHeaderView headerText={LocalizeText('friendlist.invite.title')} onCloseClick={onCloseClick} />
                <OctaneCardContentView className="octane-friends-room-invite-content text-black" gap={2}>
                    <Text className="octane-friends-room-invite-summary">
                        {LocalizeText('friendlist.invite.summary', ['count'], [selectedFriendsIds.length.toString()])}
                    </Text>
                    <textarea
                        className="octane-friends-room-invite-textarea"
                        maxLength={255}
                        value={roomInviteMessage}
                        onChange={(event) => setRoomInviteMessage(event.target.value)}
                    ></textarea>
                    <Text center className="octane-friends-room-invite-note">
                        {LocalizeText('friendlist.invite.note')}
                    </Text>
                    {/* AIR room_invite_confirm: style 0 button_thick (send) and button (cancel), both grey. */}
                    <div className="octane-friends-room-invite-actions">
                        <Button
                            fullWidth
                            disabled={roomInviteMessage.length === 0 || selectedFriendsIds.length === 0}
                            variant="secondary"
                            onClick={() => sendRoomInvite(roomInviteMessage)}
                        >
                            {LocalizeText('friendlist.invite.send')}
                        </Button>
                        <Button fullWidth variant="secondary" onClick={onCloseClick}>
                            {LocalizeText('generic.cancel')}
                        </Button>
                    </div>
                </OctaneCardContentView>
            </OctaneCardView>
        </NativeTextTree>
    );
};
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