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

{lang('FilterNoChatsToDisplay')}

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

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