import React, { useCallback, useState } from 'react'; import classNames from 'classnames'; import { AttachmentSection } from './AttachmentSection'; import { EmptyState } from './EmptyState'; import { MediaItemType } from '../../lightbox/LightboxGallery'; type Props = { documents: Array; media: Array; }; type TabType = 'media' | 'documents'; const Tab = ({ isSelected, label, onSelect, }: { isSelected: boolean; label: string; onSelect: () => void; }) => { return (
{label}
); }; const Sections = (props: Props & { selectedTab: TabType }) => { const { media, documents, selectedTab } = props; const mediaItems = selectedTab === 'media' ? media : documents; const type = selectedTab; if (!mediaItems || mediaItems.length === 0) { const label = type === 'media' ? window.i18n('mediaEmptyState') : window.i18n('documentsEmptyState'); return ; } return (
); }; export const MediaGallery = (props: Props) => { const [selectedTab, setSelectedTab] = useState('media'); const isDocumentSelected = selectedTab === 'documents'; const isMediaSelected = selectedTab === 'media'; const setMediaTab = useCallback(() => { setSelectedTab('media'); }, []); const setDocumentsTab = useCallback(() => { setSelectedTab('documents'); }, []); return (
); };