import type { FC } from '../../../lib/teact/teact'; import React, { memo, useCallback } from '../../../lib/teact/teact'; import useLang from '../../../hooks/useLang'; import Button from '../../ui/Button'; type OwnProps = { activeTab: SymbolMenuTabs; onSwitchTab: (tab: SymbolMenuTabs) => void; onRemoveSymbol: () => void; onSearchOpen: (type: 'stickers' | 'gifs') => void; isAttachmentModal?: boolean; canSendPlainText?: boolean; }; export enum SymbolMenuTabs { 'Emoji', 'CustomEmoji', 'Stickers', 'GIFs', } export const SYMBOL_MENU_TAB_TITLES: Record = { [SymbolMenuTabs.Emoji]: 'Emoji', [SymbolMenuTabs.CustomEmoji]: 'StickersList.EmojiItem', [SymbolMenuTabs.Stickers]: 'AccDescrStickers', [SymbolMenuTabs.GIFs]: 'GifsTab', }; const SYMBOL_MENU_TAB_ICONS = { [SymbolMenuTabs.Emoji]: 'icon-smile', [SymbolMenuTabs.CustomEmoji]: 'icon-favorite', [SymbolMenuTabs.Stickers]: 'icon-stickers', [SymbolMenuTabs.GIFs]: 'icon-gifs', }; const SymbolMenuFooter: FC = ({ activeTab, onSwitchTab, onRemoveSymbol, onSearchOpen, isAttachmentModal, canSendPlainText, }) => { const lang = useLang(); function renderTabButton(tab: SymbolMenuTabs) { return ( ); } const handleSearchOpen = useCallback(() => { onSearchOpen(activeTab === SymbolMenuTabs.Stickers ? 'stickers' : 'gifs'); }, [activeTab, onSearchOpen]); function stopPropagation(event: any) { event.stopPropagation(); } return (
{activeTab !== SymbolMenuTabs.Emoji && activeTab !== SymbolMenuTabs.CustomEmoji && ( )} {canSendPlainText && renderTabButton(SymbolMenuTabs.Emoji)} {canSendPlainText && renderTabButton(SymbolMenuTabs.CustomEmoji)} {!isAttachmentModal && renderTabButton(SymbolMenuTabs.Stickers)} {!isAttachmentModal && renderTabButton(SymbolMenuTabs.GIFs)} {(activeTab === SymbolMenuTabs.Emoji || activeTab === SymbolMenuTabs.CustomEmoji) && ( )}
); }; export default memo(SymbolMenuFooter);