5180 fichiers 38.5 Mo 0 téléchargements 521 vues mis à jour il y a 7 heures ui
nitro-v36-with-renderer-v36 / src / components / camera / views / editor / effect-list / CameraWidgetEffectListView.tsx
CameraWidgetEffectListView.tsx 2.1 Ko Télécharger le fichier
import { IRoomCameraWidgetEffect, IRoomCameraWidgetSelectedEffect } from '@octane/renderer';
import { FC } from 'react';
import { CameraPictureThumbnail } from '../../../../../api';
import { NativeTextTree } from '../../../../../common/native-text/NativeTextTree';
import { CameraWidgetEffectListItemView } from './CameraWidgetEffectListItemView';

export interface CameraWidgetEffectListViewProps {
    myLevel: number;
    selectedEffectName: string;
    selectedEffects: IRoomCameraWidgetSelectedEffect[];
    effects: IRoomCameraWidgetEffect[];
    thumbnails: CameraPictureThumbnail[];
    processAction: (type: string, name: string) => void;
}

export const CameraWidgetEffectListView: FC<CameraWidgetEffectListViewProps> = (props) => {
    const { myLevel = 0, selectedEffectName = null, selectedEffects = [], effects = [], thumbnails = [], processAction = null } = props;

    return (
        <NativeTextTree>
            <div className="octane-camera-effect-grid">
                {effects &&
                    effects.length > 0 &&
                    effects.map((effect) => {
                        const thumbnailUrl = thumbnails.find((thumbnail) => thumbnail.effectName === effect.name);
                        const isActive = selectedEffects.findIndex((selectedEffect) => selectedEffect.effect.name === effect.name) > -1;

                        return (
                            <CameraWidgetEffectListItemView
                                key={effect.name}
                                effect={effect}
                                thumbnailUrl={(thumbnailUrl && thumbnailUrl.thumbnailUrl) || null}
                                isActive={isActive}
                                isLocked={effect.minLevel > myLevel}
                                isSelected={selectedEffectName === effect.name}
                                selectEffect={() => processAction('select_effect', effect.name)}
                                removeEffect={() => processAction('remove_effect', effect.name)}
                            />
                        );
                    })}
            </div>
        </NativeTextTree>
    );
};
15Sujets
1Dépôts
20Membres
4En 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