import React from "react" import { ContentGroup } from "@/features/browser/components/content-group" import { BaseEffect } from "@/features/effects/types" import { EffectPreview } from "./effect-preview" /** * Интерфейс свойств компонента EffectGroup */ interface EffectGroupProps { /** Заголовок группы */ title: string /** Эффекты в группе */ effects: BaseEffect[] /** Размер превью */ previewSize: number /** Ширина превью */ previewWidth: number /** Высота превью */ previewHeight: number /** Функция для клика по эффекту */ onEffectClick: (effect: BaseEffect, index: number) => void /** Функция для добавления всех эффектов группы */ onAddAllEffects?: (effects: BaseEffect[]) => void /** Map для refs элементов */ effectRefs?: React.RefObject> /** Начальный индекс эффектов в общем списке */ startIndex?: number } /** * Компонент для отображения группы эффектов * * @param {EffectGroupProps} props - Свойства компонента * @returns {JSX.Element | null} Компонент группы эффектов или null, если группа пуста */ export const EffectGroup: React.FC = ({ title, effects, previewSize, previewWidth, previewHeight, onEffectClick, onAddAllEffects, effectRefs, startIndex = 0, }) => { // Функция рендеринга эффекта const renderEffect = (effect: BaseEffect, index: number) => { const actualIndex = startIndex + index return ( ) } return ( ) }