import React, { memo, useMemo } from '../../../../lib/teact/teact';
import { getActions, withGlobal } from '../../../../global';
import type {
ApiUser,
} from '../../../../api/types';
import type { TabState } from '../../../../global/types';
import { selectIsCurrentUserPremium, selectUser } from '../../../../global/selectors';
import buildClassName from '../../../../util/buildClassName';
import buildStyle from '../../../../util/buildStyle';
import useCurrentOrPrev from '../../../../hooks/useCurrentOrPrev';
import useLang from '../../../../hooks/useLang';
import useLastCallback from '../../../../hooks/useLastCallback';
import useCustomEmoji from '../../../common/hooks/useCustomEmoji';
import Avatar from '../../../common/Avatar';
import FullNameTitle from '../../../common/FullNameTitle';
import Icon from '../../../common/icons/Icon';
import RadialPatternBackground from '../../../common/profile/RadialPatternBackground';
import Button from '../../../ui/Button';
import TableAboutModal, { type TableAboutData } from '../../common/TableAboutModal';
import styles from './GiftStatusInfoModal.module.scss';
export type OwnProps = {
modal: TabState['giftStatusInfoModal'];
};
type StateProps = {
currentUser: ApiUser;
isCurrentUserPremium?: boolean;
};
const GiftStatusInfoModal = ({
modal,
currentUser,
isCurrentUserPremium,
}: OwnProps & StateProps) => {
const {
closeGiftStatusInfoModal,
setEmojiStatus,
} = getActions();
const lang = useLang();
const isOpen = Boolean(modal);
const renderingModal = useCurrentOrPrev(modal);
const { emojiStatus } = renderingModal || {};
const subtitleColor = emojiStatus?.textColor;
const patternIcon = useCustomEmoji(emojiStatus?.patternDocumentId);
const handleClose = useLastCallback(() => {
closeGiftStatusInfoModal();
});
const onWearClick = useLastCallback(() => {
if (emojiStatus) {
setEmojiStatus({ emojiStatus });
}
closeGiftStatusInfoModal();
});
const radialPatternBackdrop = useMemo(() => {
if (!emojiStatus || !isOpen) return undefined;
const backdropColors = [emojiStatus.centerColor, emojiStatus.edgeColor];
const patternColor = emojiStatus.patternColor;
return (
{lang('Online')}