import type { FC } from '../../lib/teact/teact'; import React, { memo, useMemo } from '../../lib/teact/teact'; import type { TableAboutData } from '../modals/common/TableAboutModal'; import renderText from './helpers/renderText'; import useLang from '../../hooks/useLang'; import useOldLang from '../../hooks/useOldLang'; import TableAboutModal from '../modals/common/TableAboutModal'; import Icon from './icons/Icon'; import SafeLink from './SafeLink'; import styles from './AboutMonetizationModal.module.scss'; export type OwnProps = { isOpen: boolean; onClose: NoneToVoidFunction; }; const AboutMonetizationModal: FC = ({ isOpen, onClose, }) => { const oldLang = useOldLang(); const lang = useLang(); const blockchainText = useMemo(() => { const linkText = oldLang('LearnMore'); return lang( 'ChannelEarnLearnCoinAbout', { link: ( {linkText} ), }, { withNodes: true, }, ); }, [lang, oldLang]); const monetizationTitle = useMemo(() => { return lang( 'MonetizationInfoTONTitle', undefined, { withNodes: true, specialReplacement: { '💎': }, }, ); }, [lang]); const modalData = useMemo(() => { if (!isOpen) return undefined; const header = (

{oldLang('lng_channel_earn_learn_title')}

); const listItemData = [ ['channel', oldLang('lng_channel_earn_learn_in_subtitle'), renderText(oldLang('lng_channel_earn_learn_in_about'), ['simple_markdown'])], ['revenue-split', oldLang('lng_channel_earn_learn_split_subtitle'), renderText(oldLang('Monetization.Intro.Split.Text'), ['simple_markdown'])], ['cash-circle', oldLang('lng_channel_earn_learn_out_subtitle'), renderText(oldLang('lng_channel_earn_learn_out_about'), ['simple_markdown'])], ] satisfies TableAboutData; const footer = ( <>

{monetizationTitle}

{blockchainText}

); return { header, listItemData, footer, }; }, [isOpen, oldLang, monetizationTitle, blockchainText]); if (!modalData) { return undefined; } return ( ); }; export default memo(AboutMonetizationModal);