import type { FC } from '../../../lib/teact/teact'; import React, { memo, useCallback } from '../../../lib/teact/teact'; import { withGlobal } from '../../../global'; import type { ApiChatFolder, ApiSticker } from '../../../api/types'; import { SettingsScreens } from '../../../types'; import type { FolderEditDispatch } from '../../../hooks/reducers/useFoldersReducer'; import { selectAnimatedEmoji, selectChatFolder } from '../../../global/selectors'; import useLang from '../../../hooks/useLang'; import useAppLayout from '../../../hooks/useAppLayout'; import Button from '../../ui/Button'; import AnimatedIconFromSticker from '../../common/AnimatedIconFromSticker'; import styles from './EmptyFolder.module.scss'; type OwnProps = { folderId?: number; folderType: 'all' | 'archived' | 'folder'; foldersDispatch: FolderEditDispatch; onSettingsScreenSelect: (screen: SettingsScreens) => void; }; type StateProps = { chatFolder?: ApiChatFolder; animatedEmoji?: ApiSticker; }; const ICON_SIZE = 96; const EmptyFolder: FC = ({ chatFolder, animatedEmoji, foldersDispatch, onSettingsScreenSelect, }) => { const lang = useLang(); const { isMobile } = useAppLayout(); const handleEditFolder = useCallback(() => { foldersDispatch({ type: 'editFolder', payload: chatFolder }); onSettingsScreenSelect(SettingsScreens.FoldersEditFolderFromChatList); }, [chatFolder, foldersDispatch, onSettingsScreenSelect]); return (
{animatedEmoji && }

{lang('FilterNoChatsToDisplay')}

{lang(chatFolder ? 'ChatList.EmptyChatListFilterText' : 'Chat.EmptyChat')}

{chatFolder && ( )}
); }; export default memo(withGlobal((global, { folderId, folderType }): StateProps => { const chatFolder = folderId && folderType === 'folder' ? selectChatFolder(global, folderId) : undefined; return { chatFolder, animatedEmoji: selectAnimatedEmoji(global, '📂'), }; })(EmptyFolder));