import type { FC } from '../../lib/teact/teact'; import React, { memo, useMemo } from '../../lib/teact/teact'; import type { TableAboutData } from '../modals/common/TableAboutModal'; import buildClassName from '../../util/buildClassName'; import renderText from './helpers/renderText'; import useSelectorSignal from '../../hooks/data/useSelectorSignal'; import useDerivedState from '../../hooks/useDerivedState'; import useOldLang from '../../hooks/useOldLang'; import TableAboutModal from '../modals/common/TableAboutModal'; import Button from '../ui/Button'; import Modal from '../ui/Modal'; import SafeLink from './SafeLink'; import styles from './AboutAdsModal.module.scss'; export type OwnProps = { isOpen: boolean; isMonetizationSharing?: boolean; onClose: NoneToVoidFunction; }; const AboutAdsModal: FC = ({ isOpen, isMonetizationSharing, onClose, }) => { const oldLang = useOldLang(); const minLevelSignal = useSelectorSignal((global) => global.appConfig?.channelRestrictAdsLevelMin); const minLevelToRestrictAds = useDerivedState(minLevelSignal); const regularAdContent = useMemo(() => { return ( <>

{oldLang('SponsoredMessageInfoScreen.Title')}

{renderText(oldLang('SponsoredMessageInfoDescription1'), ['br'])}

{renderText(oldLang('SponsoredMessageInfoDescription2'), ['br'])}

{renderText(oldLang('SponsoredMessageInfoDescription3'), ['br'])}

{renderText(oldLang('SponsoredMessageInfoDescription4'), ['br'])}

); }, [oldLang]); const modalData = useMemo(() => { if (!isOpen) return undefined; const header = ( <>

{oldLang('AboutRevenueSharingAds')}

{oldLang('RevenueSharingAdsAlertSubtitle')}

); const listItemData = [ ['lock', oldLang('RevenueSharingAdsInfo1Title'), renderText(oldLang('RevenueSharingAdsInfo1Subtitle'), ['simple_markdown'])], ['revenue-split', oldLang('RevenueSharingAdsInfo2Title'), renderText(oldLang('RevenueSharingAdsInfo2Subtitle'), ['simple_markdown'])], ['nochannel', oldLang('RevenueSharingAdsInfo3Title'), renderText(oldLang('RevenueSharingAdsInfo3Subtitle', minLevelToRestrictAds), ['simple_markdown'])], ] satisfies TableAboutData; const footer = ( <>

{renderText(oldLang('RevenueSharingAdsInfo4Title'), ['simple_markdown'])}

{renderText(oldLang('RevenueSharingAdsInfo4Subtitle2', ''), ['simple_markdown'])}

); return { header, listItemData, footer, }; }, [isOpen, oldLang, minLevelToRestrictAds]); if (isMonetizationSharing && modalData) { return ( ); } return ( {regularAdContent} ); }; export default memo(AboutAdsModal);