5180 fichiers 38.5 Mo 0 téléchargements 484 vues mis à jour il y a 7 heures ui
nitro-v36-with-renderer-v36 / src / components / room / widgets / furniture / FurnitureMysteryTrophyOpenDialogView.tsx
FurnitureMysteryTrophyOpenDialogView.tsx 3.7 Ko Télécharger le fichier
import { OpenMysteryTrophyMessageComposer } from '@octane/renderer';
import { FC, useState } from 'react';
import { LocalizeText, localizeWithFallback, SendMessageComposer } from '../../../../api';
import { Button, OctaneCardContentView, OctaneCardHeaderView, OctaneCardView, Text } from '../../../../common';
import { BaseButton } from '../../../../common/BaseButton';
import '../../../../css/room/FurniWindowsBAir.css';
import { NativeTextTree } from '../../../../common/native-text/NativeTextTree';

interface FurnitureMysteryTrophyOpenDialogViewProps {
    objectId: number;
    onClose: () => void;
}

export const FurnitureMysteryTrophyOpenDialogView: FC<FurnitureMysteryTrophyOpenDialogViewProps> = (props) => {
    const { objectId = -1, onClose = null } = props;
    const [description, setDescription] = useState<string>('');

    const onConfirm = () => {
        SendMessageComposer(new OpenMysteryTrophyMessageComposer(objectId, description));
        onClose();
    };

    if (objectId === -1) return null;

    return (
        <NativeTextTree>
            <OctaneCardView
                isResizable={false}
                className="octane-mysterytrophy-dialog octane-furni-mysterytrophy min-w-0 w-[min(400px,calc(100vw-16px))] max-w-[calc(100vw-16px)] max-h-[calc(100vh-16px)]"
                theme="primary-slim"
            >
                <OctaneCardHeaderView
                    center
                    headerText={localizeWithFallback('mysterytrophy.name.title', LocalizeText('mysterytrophy.header.title'))}
                    onCloseClick={onClose}
                />
                <OctaneCardContentView>
                    <div className="flex mysterytrophy-dialog-top p-3">
                        <div className="mysterytrophy-image shrink-0"></div>
                        <div className="m-2 flex flex-col">
                            <Text className="mysterytrophy-text-big" variant="white">
                                {LocalizeText('mysterytrophy.header.title')}
                            </Text>
                            <Text className="octane-furni-mysterytrophy__description" variant="white">
                                {LocalizeText('mysterytrophy.header.description')}
                            </Text>
                        </div>
                    </div>
                    <div className="flex mysterytrophy-dialog-bottom p-2">
                        <div className="flex flex-col gap-1">
                            <div className="flex items-center bg-white rounded py-1 px-2 input-mysterytrophy-dialog">
                                <textarea
                                    className="min-h-[calc(1.5em+ .5rem+2px)] px-[.5rem] py-[.25rem] rounded-[.2rem] form-control-sm input-mysterytrophy"
                                    value={description}
                                    onChange={(event) => setDescription(event.target.value)}
                                />
                                <div className="mysterytrophy-pencil-image shrink-0 small fa-icon"></div>
                            </div>
                            <div className="flex items-center mt-2 gap-5 justify-center">
                                <Text component={BaseButton} type="button" pointer className="text-decoration" onClick={() => onClose()}>
                                    {LocalizeText('cancel')}
                                </Text>
                                <Button variant="success" onClick={() => onConfirm()}>
                                    {LocalizeText('generic.ok')}
                                </Button>
                            </div>
                        </div>
                    </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