/* * Wire * Copyright (C) 2022 Wire Swiss GmbH * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see http://www.gnu.org/licenses/. * */ import React from 'react'; import {ContentMessage} from 'src/script/entity/message/ContentMessage'; import {t} from 'Util/LocalizerUtil'; import {CollectionItem} from './CollectionItem'; const CollectionSection: React.FC<{ children: React.ReactNode; label: string; limit: number; messages: ContentMessage[]; onSelect: () => void; uieName: string; onImageClick?: (message: ContentMessage) => void; }> = ({messages, limit, uieName, onSelect, children, label, onImageClick}) => { if (messages.length === 0) { return null; } const hasExtra = messages.length > limit; const topMessages = messages.slice(0, limit); return (
{children} {label} {hasExtra && ( )}
{topMessages.map(message => ( ))}
); }; export {CollectionSection};