11import React , { useMemo , useState } from 'react' ;
22
3+ import { CardLayoutBlock } from '..' ;
34import { AnimateBlock , BlockHeader } from '../../components' ;
45import ButtonTabs , { ButtonTabsItemProps } from '../../components/ButtonTabs/ButtonTabs' ;
5- import { ConstructorBlocks } from '../../containers/PageConstructor/components/ConstructorBlocks ' ;
6+ import { ConstructorItem } from '../../containers/PageConstructor/components/ConstructorItem ' ;
67import { Col , Row } from '../../grid' ;
7- import { BlockType , ConstructorItem , FilterBlockProps , FilterItem } from '../../models' ;
8- import { block } from '../../utils' ;
8+ import { FilterBlockProps , FilterItem } from '../../models' ;
9+ import { block , getBlockKey } from '../../utils' ;
910
1011import i18n from './i18n' ;
1112
@@ -41,19 +42,13 @@ const FilterBlock: React.FC<FilterBlockProps> = ({
4142 : selectedTag ;
4243 } , [ tabButtons , selectedTag ] ) ;
4344
44- const container : ConstructorItem [ ] = useMemo ( ( ) => {
45+ const cards = useMemo ( ( ) => {
4546 const itemsToShow : FilterItem [ ] = actualTag
4647 ? items . filter ( ( item ) => item . tags . includes ( actualTag ) )
4748 : items ;
48- return [
49- {
50- type : BlockType . CardLayoutBlock ,
51- title : '' ,
52- colSizes : colSizes ,
53- children : itemsToShow . map ( ( item ) => item . card ) ,
54- } ,
55- ] ;
56- } , [ actualTag , items , colSizes ] ) ;
49+
50+ return itemsToShow . map ( ( item ) => item . card ) ;
51+ } , [ actualTag , items ] ) ;
5752
5853 return (
5954 < AnimateBlock className = { b ( ) } animate = { animated } >
@@ -78,7 +73,13 @@ const FilterBlock: React.FC<FilterBlockProps> = ({
7873 </ Row >
7974 ) }
8075 < Row className = { b ( 'block-container' ) } >
81- < ConstructorBlocks items = { container } />
76+ < CardLayoutBlock title = "" colSizes = { colSizes } >
77+ { cards . map ( ( card , index ) => {
78+ const key = getBlockKey ( card , index ) ;
79+
80+ return < ConstructorItem data = { card } blockKey = { key } key = { key } /> ;
81+ } ) }
82+ </ CardLayoutBlock >
8283 </ Row >
8384 </ AnimateBlock >
8485 ) ;
0 commit comments