import React from 'react'; import cn from 'classnames'; import useComponent, { SectionItem, SectionListProps } from './useComponent'; import './styles.css'; import LoaderComponent from '../../UI/Placeholders/LoaderComponent/LoaderComponent'; export default function SectionList(props: SectionListProps) { const { className, refreshing, sections, renderSectionHeader, renderSectionFooter, renderItem, } = props; const { refs: { listContentRef }, handlers: { scrollHandler }, } = useComponent(props); const renderSection = (section: SectionItem) => (
{renderSectionHeader && renderSectionHeader(section)} {Object.entries(section.data).map((item) => renderItem(item, listContentRef), )} {renderSectionFooter && renderSectionFooter(section)}
); return (
{refreshing && (
)}
{sections.length > 0 && sections.map(renderSection)}
); }