{"version":3,"file":"static/chunks/2251-67006d6c8f91b33d.js","mappings":"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","sources":["webpack://_N_E/./src/features/domru-tv/packages/components/MultibundleWidget/styled.ts","webpack://_N_E/./src/features/domru-tv/packages/components/MultibundleWidget/index.tsx","webpack://_N_E/./src/features/domru-tv/packages/components/PackageConnectPopup/styled.ts","webpack://_N_E/./src/features/domru-tv/packages/components/SubscriptionCard/DetailedSubscriptionPopup/styled.tsx","webpack://_N_E/./src/features/domru-tv/packages/components/SubscriptionCard/DetailedSubscriptionPopup/SubscriptionBenefitsTextBlock.tsx","webpack://_N_E/./src/features/domru-tv/packages/components/SubscriptionCard/DetailedSubscriptionPopup/index.tsx","webpack://_N_E/./src/features/domru-tv/packages/components/SubscriptionCard/LabelAndActivity/index.tsx","webpack://_N_E/./src/features/domru-tv/packages/components/SubscriptionCard/styled.ts","webpack://_N_E/./src/features/domru-tv/packages/components/SubscriptionCard/index.tsx","webpack://_N_E/./src/features/domru-tv/packages/components/PriceSelection/styled.ts","webpack://_N_E/./src/features/domru-tv/packages/components/PriceSelection/index.tsx","webpack://_N_E/./src/features/domru-tv/packages/components/PackageConnectPopup/index.tsx","webpack://_N_E/./src/features/domru-tv/packages/hooks/useConnectPackage.ts","webpack://_N_E/./src/features/domru-tv/packages/components/TvPackageCard/LabelAndActivity/styled.ts","webpack://_N_E/./src/features/domru-tv/packages/components/TvPackageCard/LabelAndActivity/index.tsx","webpack://_N_E/./src/features/domru-tv/packages/components/TvPackageCard/styled.ts","webpack://_N_E/./src/features/domru-tv/packages/components/TvPackageCard/index.tsx","webpack://_N_E/./src/features/domru-tv/packages/types.ts","webpack://_N_E/./src/features/lk/vases/VasList/widgets/data.tsx","webpack://_N_E/../../packages/api-domru/src/api-profile/v2/tv-packets/set-tv-packet/index.ts","webpack://_N_E/../../packages/ui-react/src/components/accordions/AccordionAnimate/AccordionAnimateBody.js","webpack://_N_E/../../packages/ui-react/src/components/accordions/AccordionAnimate/AccordionAnimateHeader.js","webpack://_N_E/../../packages/ui-react/src/components/accordions/AccordionAnimate/index.js","webpack://_N_E/./static/images/arrow.svg","webpack://_N_E/../../packages/ui-react/src/components/accordions/AccordionAnimate/image/bottom.svg"],"sourcesContent":["import styled, { css } from 'styled-components';\n\nimport { Label } from '@r1-frontend/ui-react/components/label';\nimport { ICustomDotsStyles } from '@r1-frontend/ui-react/components/NukaCarousel/DefaultDots/styled';\nimport SlideCarousel from '@r1-frontend/ui-react/components/SlideCarousel';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nimport Widget from '~/src/components/Widget';\n\nexport const CustomDotsStyles: ICustomDotsStyles = {\n dot: {\n background: COLORS.BgMain,\n },\n activeDot: {\n background: COLORS.BgMain,\n },\n};\n\nexport const ImgCarousel = styled(SlideCarousel)`\n padding-bottom: 0;\n height: 100%;\n\n & > section > div.slider-control-bottomcenter {\n bottom: 10px !important;\n }\n\n & > section > div.slider-frame {\n height: 100% !important;\n\n & div {\n height: 100% !important;\n }\n\n & div.slider-slide {\n border-radius: ${BorderRadius.OuterBlockRadius} ${BorderRadius.OuterBlockRadius} 0 0;\n overflow: hidden;\n }\n }\n`;\n\nexport const PackageImage = styled.img`\n width: 100%;\n height: 100%;\n object-position: center;\n object-fit: cover;\n`;\n\nexport const PromoLabel = styled(Label)`\n margin-bottom: 4px;\n`;\n\nexport const WidgetPrice = styled(Widget.Price)<{ isPromo: boolean }>`\n ${({ isPromo }) => isPromo && css`\n color: ${COLORS.LabelsText_2};\n `};\n`;\n","import { useCallback, useMemo, useRef } from 'react';\nimport { useRouter } from 'next/router';\n\nimport { BaseButton, btnSizes, btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport WebpImage from '@r1-frontend/ui-react/components/WebpImage';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nimport Widget from '~/src/components/Widget';\nimport { multibundleLink } from '~/src/features/domru-tv/packages/components/MultiBundleCard';\nimport { ddmm } from '~/src/helpers/date';\nimport { IFullMultibundle } from '~/src/store/selectors/vas';\n\nimport * as ST from './styled';\n\ninterface IMultibundleSubscriptionsImage {\n id: number,\n alt: string,\n image: string,\n imageWebp: string,\n}\n\ninterface IMultibundleData {\n subscriptionsNames: string[],\n subscriptionsImages: IMultibundleSubscriptionsImage[],\n}\n\ninterface IProps {\n multibundle: IFullMultibundle,\n onBtnClick: () => void,\n}\n\nconst MultibundleWidget = ({ multibundle, onBtnClick }: IProps): JSX.Element => {\n const { closeDateRa, nameVas, priceRa, priceVas, subscriptions } = multibundle;\n\n const router = useRouter();\n const swiperRef = useRef(null);\n\n const { subscriptionsNames, subscriptionsImages } = useMemo(() => {\n return subscriptions.reduce((acc: IMultibundleData, subscription) => {\n acc.subscriptionsNames.push(subscription.nameVas);\n const imgData = {\n id: subscription.socId,\n alt: subscription.nameVas,\n image: subscription.image,\n imageWebp: subscription.imageWebp,\n };\n acc.subscriptionsImages.push(imgData);\n\n return acc;\n }, {\n subscriptionsNames: [],\n subscriptionsImages: [],\n });\n }, [subscriptions]);\n\n const promoPeriodInfo = useMemo(() => closeDateRa && `промо-цена до ${ddmm(new Date(closeDateRa).toLocaleString('ru-RU'))}`, [closeDateRa]);\n\n const onClickHandler = useCallback(() => {\n onBtnClick();\n router.push(multibundleLink);\n }, [onBtnClick, router]);\n\n return (\n \n \n \n {subscriptionsImages.map(image => (\n \n \n \n ))}\n \n \n \n {promoPeriodInfo && (\n \n {promoPeriodInfo}\n \n )}\n {nameVas}\n Подключено {subscriptions.length} подписки: {subscriptionsNames.join(', ')}\n \n \n {(priceRa && !!promoPeriodInfo) ? priceRa : priceVas} ₽/мес\n \n \n \n \n \n );\n};\n\nexport default MultibundleWidget;\n","import styled from 'styled-components';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\n\n\nexport const PopupTitle = styled.span`\n display: inline-block;\n max-width: 90%;\n`;\n\nexport const PopupContent = styled.div`\n flex-direction: column;\n row-gap: 16px;\n`;\n\nexport const ButtonsRow = styled.div`\n gap: 12px;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n & > button {\n width: 100%;\n }\n }\n`;\n","import { LazyLoadImage } from 'react-lazy-load-image-component';\nimport styled from 'styled-components';\n\nimport Button from '@r1-frontend/ui-react/components/buttons/button';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport arrowImage from '~/static/images/arrow.svg';\n\nexport const Ask = styled.div<{ isOpen?: boolean }>`\n ${FONTS.MediumXS};\n cursor: pointer;\n flex-wrap: nowrap;\n color: ${COLORS.Link};\n margin-bottom: 16px;\n \n &::after{\n background-color: ${COLORS.Link};\n mask: url(${arrowImage}) no-repeat 50% 50%;\n content: '';\n width: 15px;\n height: 15px;\n margin: 4px 8px;\n background-size: cover;\n transition: 0.25s;\n transform: ${props => props.isOpen ? 'rotate(270deg)' : 'rotate(90deg)'};\n }\n`;\n\nexport const ImageBlock = styled(LazyLoadImage)<{ src: string }>`\n width: 100%;\n background-size: cover;\n`;\n\nexport const PopupInner = styled.div`\n padding: 32px;\n flex-direction: column;\n`;\n\nexport const PopupTitle = styled.div`\n ${FONTS.H4}\n margin-bottom: 8px;\n`;\n\nexport const TextBlock = styled.div`\n flex-direction: row;\n flex-wrap: nowrap;\n gap: 8px;\n\n svg {\n max-width: 24px;\n width: 100%;\n\n #contour {\n > path {\n fill: ${COLORS.Brand_Blue};\n }\n }\n\n #guts {\n > path {\n fill: ${COLORS.BgMain};\n }\n }\n }\n`;\n\nexport const PopupText = styled.p`\n ${FONTS.XS};\n margin-bottom: 16px;\n margin-left: 8px;\n`;\n\nexport const BenefitsTextBlock = styled.div`\n display: flex;\n margin-bottom: 16px;\n gap: 16px;\n`;\n\nexport const BenefitsText = styled.div`\n flex-direction: row;\n flex-wrap: nowrap;\n width: 100%;\n\n svg {\n max-width: 24px;\n width: 100%;\n }\n`;\n\nexport const StyledButton = styled(Button)`\n width: max-content;\n align-items: center;\n width: 100%;\n`;\n\nexport const TextValue = styled.div`\n ${FONTS.XS};\n margin-left: 8px;\n`;\n","import TickCircle from '@r1-frontend/ui-react/components/svg/main/TickCircle';\n\nimport * as ST from './styled';\n\ninterface IProps {\n benefits: string,\n}\n\nconst SubscriptionBenefitsTextBlock = ({ benefits }: IProps): JSX.Element => {\n return \n \n \n ;\n};\n\nexport default SubscriptionBenefitsTextBlock;\n","import React, { Dispatch, FC, memo, SetStateAction, useCallback, useState } from 'react';\n\nimport { IAdditionalProps, IVasInfo } from '@r1-frontend/api-domru/api-profile/v1/vas/dto/ResponseDto';\n\nimport { AccordionAnimate, AccordionAnimateBody, AccordionAnimateHeader } from '@r1-frontend/ui-react/components/accordions/AccordionAnimate';\nimport DefaultPopup from '@r1-frontend/ui-react/components/popups/defaultPopup';\n\nimport { getSubscriptionInfo } from '~/src/features/subscriptionDetail/BannerButton/getSubscriptionInfo';\nimport { clearHTMLTags, clearNbsp } from '~/src/helpers/string';\n\nimport SubscriptionBenefitsTextBlock from './SubscriptionBenefitsTextBlock';\n\nimport * as ST from './styled';\n\ninterface IBenefits {\n title: string,\n value: string,\n}\n\ninterface IProps {\n isOpen: boolean,\n onClose: () => void,\n popupImage: string,\n onClickUnAuth: Dispatch>,\n onSendResult: () => void,\n subscription?: IVasInfo,\n isAuth: boolean,\n setIsPhonePopupOpen: Dispatch>,\n isRewriteSubscription: boolean,\n}\n\nconst DetailedSubscriptionPopup: FC = ({\n isOpen,\n onClose,\n subscription,\n popupImage,\n onClickUnAuth,\n onSendResult,\n isAuth,\n setIsPhonePopupOpen,\n isRewriteSubscription,\n}): JSX.Element => {\n const [isOpenDescription, setIsOpenDescription] = useState(false);\n const onToggleHandler = (status: boolean) => setIsOpenDescription(status);\n\n const onClick = useCallback(() => {\n setIsPhonePopupOpen(true);\n onClose();\n }, []);\n\n const onClickUnAuthPopup = useCallback(() => {\n onClickUnAuth(true);\n onClose();\n }, []);\n\n // FIXME: `benefitsAuth` is of type IBenefits[]\n // `notAuthBenefits` is of type string[]\n // it causes TS errors when mapping and misunderstanding of `benefits` variable, that can't be of both types\n const benefitsAuth = subscription?.contentData?.props?.find(item => item.name === 'benefits');\n // @ts-ignore\n // TODO: Fix later in https://ticket.ertelecom.ru/browse/WEB-43177\n const benefitsNotAuth = clearNbsp(clearHTMLTags(subscription?.body_full))\n .split('.')\n .filter((subStr: string) => subStr !== '');\n\n return (\n \n
\n \n
\n \n {subscription?.nameVas}\n \n { isAuth\n ? benefitsAuth?.value?.map((item: IBenefits, index: number) => )\n : benefitsNotAuth?.map((item: string, index: number) => )\n }\n \n \n \n Как смотреть подписку\n \n \n {getSubscriptionInfo(subscription?.nameVas)}\n \n \n onClick() : () => onSendResult() : () => onClickUnAuthPopup()}\n >\n Подключить за {subscription?.pricesV2?.length && subscription.pricesV2[0].value} ₽/мес\n \n \n \n );\n};\n\nexport default memo(DetailedSubscriptionPopup);\n","import dayjs from 'dayjs';\n\nimport { Label } from '@r1-frontend/ui-react/components/label';\nimport { ListContainer } from '@r1-frontend/ui-react/experimental/containers';\n\nimport Widget from '~/src/components/Widget';\nimport { INDEFINITELY_ACTIVE } from '~/src/features/lk/vases/VasList/widgets/helpers';\n\ninterface IProps {\n isActive: boolean,\n activeDate?: string,\n labelText?: string,\n}\n\nconst LabelAndActivity = ({ isActive, activeDate, labelText }: IProps): JSX.Element | null => {\n const activeToDateChangeFormat = activeDate ? dayjs(activeDate).format('DD.MM.YYYY') : '';\n\n if (!(labelText || isActive)) {\n return null;\n }\n\n return (\n \n {labelText && }\n {isActive && (\n \n {(activeDate === INDEFINITELY_ACTIVE || activeDate === null) ? 'Активна' : `Активна до ${activeToDateChangeFormat}`}\n \n )}\n \n );\n};\n\nexport default LabelAndActivity;\n","import styled from 'styled-components';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport DefaultPopup from '@r1-frontend/ui-react/components/popups/defaultPopup';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport Widget from '~/src/components/Widget';\n\nexport const PackageDesc = styled.div`\n ${FONTS.XS};\n color: ${COLORS.TextSecondary};\n display: -webkit-box;\n display: -moz-box;\n display: box;\n -webkit-box-orient: vertical;\n --moz-box-orient: vertical;\n box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n`;\n\nexport const WidgetPrice = styled(Widget.Price)<{ isPromoPrice: boolean }>`\n color: ${({ isPromoPrice }) => isPromoPrice ? COLORS.LabelsText_2 : COLORS.TextSecondary};\n`;\n\nexport const WidgetKebab = styled(Widget.Kebab)`\n div[data-name='popup-menu'] {\n top: calc(-100% - 16px);\n right: 0;\n z-index: 1;\n min-width: fit-content;\n }\n`;\n\nexport const IncludesPopup = styled(DefaultPopup)`\n width: 600px;\n border-radius: ${BorderRadius.OuterBlockRadius};\n min-height: auto;\n`;\n\nexport const PopupButtonBlock = styled.div`\n flex-direction: row;\n margin-top: 16px;\n gap: 12px;\n \n @media (max-width: ${wideBreakpoints.mobile}) {\n flex-direction: column;\n }\n`;\n\nexport const PopupInner = styled.div`\n padding: 32px;\n flex-direction: column;\n`;\n\nexport const PopupTitle = styled.div`\n ${FONTS.H3}\n margin-bottom: 8px;\n max-width: 480px;\n`;\n\nexport const PopupDescription = styled.div`\n ${FONTS.S}\n display: block;\n & ul li{\n background-image: url('/static/images/tariff-lines/list-style.png');\n background-repeat: no-repeat;\n padding-left: 45px;\n min-height: 40px;\n margin-bottom: 8px;\n line-height: 40px;\n }\n \n & ol {\n list-style: auto;\n padding-left: 20px;\n }\n`;\n\nexport const Text = styled.p`\n ${FONTS.M};\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n ${FONTS.S};\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n ${FONTS.M};\n }\n`;\n","/* eslint-disable complexity */\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport dayjs from 'dayjs';\nimport orderBy from 'lodash/orderBy';\nimport { useRouter } from 'next/router';\n\nimport 'dayjs/locale/ru';\n\nimport { doRequest } from '@r1-frontend/do-request';\nimport { disableVasWizard } from '@r1-frontend/api-domru/api-profile/v1/vas/disabled-vas-wizard';\nimport { EDuration, IPricesV2, IVasInfo } from '@r1-frontend/api-domru/api-profile/v1/vas/dto/ResponseDto';\nimport { createVasWizard } from '@r1-frontend/api-domru/api-profile/v2/vas/create-vas-wizard';\n\nimport { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\n\nimport Button from '@r1-frontend/ui-react/components/buttons/button';\nimport { IKebabItem } from '@r1-frontend/ui-react/components/KebabMenu';\nimport Throbber from '@r1-frontend/ui-react/components/loaders/Throbber';\nimport PopupResult, { EResultPopupStatus } from '@r1-frontend/ui-react/components/popups/popupResult';\nimport { IOption } from '@r1-frontend/ui-react/components/select/creatableSelect';\nimport { InfoCircleFlip } from '@r1-frontend/ui-react/components/svg/main';\nimport WebpImage from '@r1-frontend/ui-react/components/WebpImage';\nimport { IndentContainer, NonStaticContainer } from '@r1-frontend/ui-react/experimental/containers';\nimport { RubleSymbol } from '@r1-frontend/ui-react/experimental/purchase/cost/Cost/RubleSymbol';\nimport { AdvertisingLabelWithTooltip } from '@r1-frontend/ui-react/organisms/AdvertisingLabelWithTooltip';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { CATEGORIES, EVENTS } from '@r1-frontend/shared/constants/analytics';\nimport { pluralize } from '@r1-frontend/shared/helpers/pluralize';\nimport { dayPluralize, monthPluralize } from '@r1-frontend/shared/helpers/pluralize/predifined';\n\nimport PopupNoAuth from '~/src/components/Popups/NoAuth';\nimport { SelectPhonePopup } from '~/src/components/SelectPhonePopup';\nimport Widget from '~/src/components/Widget';\nimport TryAndBuyConnectionPopup from '~/src/features/domru-tv/packages/components/TryAndBuyConnectionPopup';\nimport { EWidgetKebabActionType } from '~/src/features/lk/vases/VasList/widgets/data';\nimport { INDEFINITELY_ACTIVE } from '~/src/features/lk/vases/VasList/widgets/helpers';\nimport { defaultPopupState } from '~/src/features/payments-abn/components/PopupResult';\nimport { addMonths, dateWithoutYear } from '~/src/helpers/date';\nimport { TState } from '~/src/store';\nimport { selectDomain } from '~/src/store/selectors/domain';\nimport { ISubscriptionAdditional } from '~/src/store/selectors/vas';\n\nimport DetailedSubscriptionPopup from './DetailedSubscriptionPopup';\nimport LabelAndActivity from './LabelAndActivity';\nimport { ESubscriptionsType, manualRedirectServiceIds } from './types';\n\nimport * as ST from './styled';\n\nexport const kebabActiveItems: IKebabItem[] = [\n {\n value: 'detail',\n label: 'Подробнее',\n },\n {\n value: 'disable',\n label: 'Отключить',\n },\n];\n\ninterface IProps {\n subscription: IVasInfo,\n queryId?: number,\n onClosePopup?: (status: EResultPopupStatus) => void,\n}\n\nconst SubscriptionCard = ({ subscription, queryId, onClosePopup }: IProps): JSX.Element => {\n const {\n socId,\n serviceId,\n activeVas,\n buttonText,\n buttonLink = '',\n contentData,\n image,\n imageWebp,\n includedAgr,\n nameVas,\n priceVas,\n priceRa,\n pricesV2,\n activeTo,\n dateClose,\n closeDateRa,\n tryAndBuy,\n getPhone,\n advertising,\n } = subscription;\n\n const router = useRouter();\n\n const { accessToken, domain, isAuth, providerId } = useSelector((state: TState) => ({\n accessToken: state.auth.accessToken,\n domain: selectDomain(state),\n isAuth: state.auth.isAuth,\n providerId: state.city.provider.providerId,\n }));\n\n const closeVasDate = new Date(activeTo !== INDEFINITELY_ACTIVE ? activeTo : dateClose);\n\n const [isIncludesPopupOpen, setIsIncludesPopupOpen] = useState(false);\n const [isPhonePopupOpen, setIsPhonePopupOpen] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [popupState, setPopupState] = useState(defaultPopupState);\n const [clientPhone, setClientPhone] = useState('');\n const [detailedPopupOpen, setDetailedPopupOpen] = useState(false);\n const [popupUnAuth, setPopupUnAuth] = useState(false);\n const [isTnBPopupOpen, setIsTnBPopupOpen] = useState(false);\n\n const isRewriteSubscription = serviceId ? manualRedirectServiceIds.includes(serviceId) : false;\n const withKebabMenu = !!activeVas && (activeTo === INDEFINITELY_ACTIVE || activeTo === null) && !includedAgr;\n const pathToDetailedPage = `/domru-tv/subscriptions/${contentData?.alias}`;\n\n const closeDate = useMemo(() => dateClose ? dayjs(dateClose).format('DD.MM.YYYY') : '', [dateClose]);\n const isIndefinitelySub = closeDateRa === 'бессрочно';\n\n\n const text = (includedAgr || activeVas)\n ? isRewriteSubscription\n ? 'Подключено'\n : buttonText\n : 'Подключить';\n\n const subscriptionsWithoutTNB = pricesV2?.find(item => !item.raGroups.includes(ESubscriptionsType.TRYANDBUYSUBSCRIPTIONS));\n\n const onDetailHandler = useCallback(() => {\n if (isAuth) {\n router.push(pathToDetailedPage);\n } else {\n setDetailedPopupOpen(true);\n router.replace(`/domru-tv/packages?subscriptionId=${serviceId}`, undefined, {\n shallow: true,\n });\n }\n\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.vas,\n action: 'click details btn',\n label: `subscription: ${nameVas}`,\n });\n }, []);\n\n const getActiveToDate = subscriptionsWithoutTNB?.lifeTimePromo === null\n ? addMonths(new Date(), 1)\n : addMonths(new Date(), Number(subscriptionsWithoutTNB?.lifeTimePromo));\n\n const activeToDate = getActiveToDate?.toLocaleString('ru-RU').split(',')[0];\n\n const sortedSubscriptionPrice = orderBy(subscription.pricesV2 as IPricesV2[], 'discount');\n\n const tryAndBuyLabelText = useMemo(() => {\n if (closeDateRa && !isIndefinitelySub) {\n return `промо-цена до ${dateWithoutYear(new Date(closeDateRa))}`;\n }\n\n if (tryAndBuy) {\n const { duration, durationTypeId } = tryAndBuy;\n const periodText = durationTypeId === EDuration.DAYS ? pluralize(duration, dayPluralize) : pluralize(duration, monthPluralize);\n\n return `${duration} ${periodText} бесплатно`;\n }\n }, [closeDateRa, tryAndBuy]);\n\n const onConnectHandler = useCallback(() => {\n if (isAuth) {\n if (!tryAndBuy && !getPhone && (pricesV2 && pricesV2.length > 1)) {\n router.push(pathToDetailedPage);\n } else if (getPhone) {\n setIsPhonePopupOpen(true);\n } else if (pricesV2?.length === 1) {\n setDetailedPopupOpen(true);\n } else {\n setIsIncludesPopupOpen(true);\n }\n } else {\n setPopupUnAuth(true);\n }\n\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.vas,\n action: 'click connect btn',\n label: `subscription: ${nameVas}`,\n });\n }, [isAuth, router, tryAndBuy, nameVas]);\n\n const widgetButtonClickHandler = () => {\n switch (true) {\n case !!activeVas:\n redirectButtonLink();\n break;\n case !!tryAndBuy:\n setIsTnBPopupOpen(true);\n break;\n default:\n onConnectHandler();\n break;\n }\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.vas,\n action: 'click connect btn',\n label: `subscription: ${nameVas}`,\n });\n };\n\n const handleIncludesPopupClose = () => {\n setIsIncludesPopupOpen(false);\n setIsPhonePopupOpen(false);\n };\n\n const onCloseHandler = useCallback(() => {\n if (popupState.type && onClosePopup) {\n onClosePopup(popupState.type);\n }\n\n setPopupState(defaultPopupState);\n }, [onClosePopup, popupState.type]);\n\n useEffect(() => {\n (queryId === serviceId) && setDetailedPopupOpen(true);\n }, [queryId, serviceId]);\n\n const onClickDisconnect = useCallback(() => {\n setIsIncludesPopupOpen(true);\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.vas,\n action: 'click deactivation btn',\n label: `subscription: ${nameVas}`,\n });\n }, [nameVas]);\n\n const onSelectMenuHandler = useCallback((item?: IKebabItem) => {\n switch (item?.value) {\n case EWidgetKebabActionType.DETAIL:\n onDetailHandler();\n break;\n case EWidgetKebabActionType.DISABLE:\n onClickDisconnect();\n break;\n }\n }, [onClickDisconnect, onDetailHandler]);\n\n const onSendDisconnectResult = useCallback(async() => {\n setIsLoading(true);\n\n const resp = await doRequest.apiProfile(disableVasWizard({\n socId,\n activeTo: closeVasDate\n ? dayjs(closeVasDate).format('DD.MM.YYYY')\n : undefined,\n }));\n\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.vas,\n action: `${resp.isSuccess ? 'success' : 'error'} deactivation`,\n label: `subscription: ${nameVas}`,\n });\n\n setPopupState({\n isOpen: true,\n type: resp.isSuccess ? EResultPopupStatus.SUCCESS : EResultPopupStatus.ERROR,\n title: resp.isSuccess\n ? `Вы отключили подписку ${nameVas}`\n : 'Что-то пошло не так. Попробуйте ещё раз.',\n text: resp.isSuccess ? Она будет доступна до {closeDate}. : '',\n });\n\n handleIncludesPopupClose();\n setIsLoading(false);\n }, [socId, nameVas]);\n\n const redirectButtonLink = useCallback(() => {\n window.open(`${buttonLink}?access_token=${accessToken}®ion=${domain}`, '_blank', 'noopener noreferrer');\n\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.vas,\n action: 'click_open_subscription_detail_btn',\n label: `subscription: ${nameVas}`,\n });\n }, [nameVas, buttonLink]);\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, []);\n\n const onSendResult = useCallback(async() => {\n setIsLoading(true);\n\n const phone = clientPhone.length === 11 ? clientPhone : undefined;\n const contactId = clientPhone.length < 11 ? +clientPhone : undefined;\n\n const clientParams = {\n contactId,\n phone,\n };\n\n const params = (!!getPhone || isRewriteSubscription) ? clientParams : undefined;\n\n const resp = await doRequest.apiProfile(createVasWizard({ socId, ...params }));\n\n handleIncludesPopupClose();\n setDetailedPopupOpen(false);\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.vas,\n action: `connect ${resp.isSuccess ? 'success' : 'error'}`,\n label: `subscription: ${nameVas} | period: ${sortedSubscriptionPrice && sortedSubscriptionPrice[0].duration} month | discount: ${sortedSubscriptionPrice && sortedSubscriptionPrice[0].discount}`,\n });\n\n setPopupState({\n isOpen: true,\n type: resp.isSuccess ? EResultPopupStatus.SUCCESS : EResultPopupStatus.ERROR,\n title: resp.isSuccess ? `Вы подключили подписку ${nameVas}${activeTo === null ? '' : ` до ${activeTo}.`}` : 'Что-то пошло не так. Попробуйте ещё раз.',\n text: resp.isSuccess ? `Стоимость — ${priceRa || priceVas} ${RubleSymbol}` : '',\n });\n setIsLoading(false);\n }, [socId, clientPhone, isRewriteSubscription, getPhone]);\n\n const onTryAndBuyConnect = async(phone: IOption) => {\n if (!tryAndBuy) {\n return;\n }\n\n setIsLoading(true);\n const { duration, durationTypeId, raId, discount } = tryAndBuy;\n const { value, label } = phone;\n\n const phoneParam = value === label ? { phone: label } : { contactId: value };\n\n const { isSuccess } = await doRequest.apiProfile(createVasWizard({\n socId,\n flagId: raId,\n ...phoneParam,\n }));\n\n const endDate = dayjs()\n .add(\n duration,\n durationTypeId === EDuration.DAYS ? 'day' : 'month',\n )\n .locale('ru')\n .format('DD MMMM YYYY');\n\n\n setPopupState({\n isOpen: true,\n type: isSuccess ? EResultPopupStatus.SUCCESS : EResultPopupStatus.ERROR,\n title: isSuccess ? `Вы подключили подписку ${nameVas}` : 'Что-то пошло не так. Попробуйте ещё раз.',\n text: isSuccess ? `Смотрите до ${endDate} года бесплатно, затем ${priceRa || priceVas} ${RubleSymbol}/мес.` : '',\n });\n\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.vas,\n action: `connect ${isSuccess ? 'success' : 'error'}`,\n label: `subscription: ${nameVas} | period: ${duration} ${durationTypeId === EDuration.DAYS ? 'days' : 'month'} | discount: ${discount}`,\n });\n\n setIsLoading(false);\n setIsTnBPopupOpen(false);\n };\n\n const phonePopupTitle = `Укажите номер для подключения подписки ${nameVas}`;\n const phonePopupDescription = `Введите номер, на который не оформлена на текущий момент подписка ${nameVas}. \n Если такого номера нет, оформить её не получится. После перехода на новый тариф, ваша подписка ${nameVas} \n привяжется к указанному номеру телефона.`;\n\n return (\n <>\n \n \n \n {activeVas ? 'Отключить' : 'Подключить'} подписку {nameVas}?\n
\n {activeVas\n ? До {closeDate} вы можете смотреть кино по этой подписке.\n : `Отключить её можно будет только после ${activeToDate}`}\n \n
\n \n onSendDisconnectResult() : () => onSendResult()}\n Icon={isLoading && }\n >\n {!isLoading && (activeVas ? 'Отключить' : 'Подключить')}\n \n \n \n
\n \n \n \n \n \n \n {advertising &&\n \n \n \n }\n \n \n {includedAgr\n ? Входит в ваш тариф\n : \n }\n {nameVas}\n {!includedAgr && contentData && (\n \n )}\n \n {!includedAgr && (\n \n {tryAndBuy?.cost ?? priceRa ?? priceVas} ₽/мес\n \n )}\n \n {text}\n \n {withKebabMenu\n ? \n : \n }\n rounded\n onClick={onDetailHandler}\n />\n \n }\n \n \n \n \n \n Закрыть\n \n \n {\n setDetailedPopupOpen(false);\n router.replace('/domru-tv/packages', undefined, {\n shallow: true,\n });\n }}\n subscription={subscription}\n onSendResult={onSendResult}\n onClickUnAuth={setPopupUnAuth}\n isAuth={isAuth}\n popupImage={image}\n setIsPhonePopupOpen={setIsPhonePopupOpen}\n isRewriteSubscription={isRewriteSubscription}\n />\n {(!activeVas && tryAndBuy) && (\n setIsTnBPopupOpen(false)}\n />\n )}\n setPopupUnAuth(false)} open={popupUnAuth} />\n \n );\n};\n\nexport default SubscriptionCard;\n","import styled from 'styled-components';\n\nimport BaseRadio from '@r1-frontend/ui-react/components/controls/baseRadio';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nexport const PricesWrapper = styled.div`\n width: 100%;\n flex-direction: column;\n row-gap: 8px;\n`;\n\nexport const PriceRow = styled.div`\n justify-content: space-between;\n align-items: center;\n padding: 14px 16px;\n background-color: ${COLORS.BgSurface};\n border-radius: ${BorderRadius.InnerBlockRadius};\n`;\n\nexport const SBaseRadio = styled(BaseRadio)`\n width: 100%;\n\n input[type='radio'] {\n align-self: unset;\n }\n`;\n\nexport const InnerContent = styled.div`\n width: 100%;\n justify-content: space-between;\n align-items: center;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n flex-direction: column;\n align-items: flex-start;\n }\n`;\n\nexport const PriceValue = styled.span`\n display: inline-block;\n`;\n\nexport const PriceDescription = styled.p`\n ${FONTS.XS};\n color: ${COLORS.TextInfo};\n`;\n","import { ICostRa } from '~/src/store/reducers/tvPackages';\n\nimport * as ST from './styled';\n\ninterface IProps {\n selectedPrice: ICostRa,\n prices: ICostRa[],\n onChange: (_price?: ICostRa) => void,\n}\n\nconst PriceSelection = ({ selectedPrice, prices, onChange }: IProps): JSX.Element => {\n\n return (\n \n {prices.map(price => {\n const { cost, duration, raId } = price;\n\n return (\n \n onChange(prices.find(price => price.raId === +value) as ICostRa)}\n data-test='price-item'\n >\n \n {`${cost} ₽/мес.`}\n \n {duration ? `Подписка на ${duration} мес.` : 'Базовая цена'}\n \n \n \n \n );\n })}\n \n );\n};\n\nexport default PriceSelection;\n","import { Dispatch, SetStateAction, useCallback, useMemo, useState } from 'react';\n\nimport { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\n\nimport { BaseButton, btnSizes, btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport BaseCheckbox from '@r1-frontend/ui-react/components/controls/baseCheckbox';\nimport PopupResult, { EResultPopupStatus } from '@r1-frontend/ui-react/components/popups/popupResult';\nimport { CATEGORIES, EVENTS } from '@r1-frontend/shared/constants/analytics';\n\nimport PriceSelection from '~/src/features/domru-tv/packages/components/PriceSelection';\nimport { useConnectPackage } from '~/src/features/domru-tv/packages/hooks/useConnectPackage';\nimport { IPopupProps } from '~/src/features/domru-tv/packages/types';\nimport { ICostRa } from '~/src/store/reducers/tvPackages';\n\nimport * as ST from './styled';\n\nconst BALANCE_ERROR_CODES = ['INSUFFICIENT_CREDIT_BALANCE', 'INSUFFICIENT_DEBIT_BALANCE'];\n\ninterface IProps {\n isOpen: boolean,\n isPackageConnected: boolean,\n packetId: number,\n packageName: string,\n prices: ICostRa[],\n setResult: Dispatch>>,\n onClose: () => void,\n}\n\nconst PackageConnectPopup = ({ isOpen, isPackageConnected, packetId, packageName, prices, setResult, onClose }: IProps): JSX.Element => {\n const isSinglePrice = prices.length === 1;\n const [selectedPrice, setSelectedPrice] = useState(prices[0]);\n const [isClosePacket, setIsClosePacket] = useState(false);\n const duration = selectedPrice?.duration;\n const raId = selectedPrice?.raId;\n const { isConnectingInProgress, onConnectPackage } = useConnectPackage({ isClosePacket, packetId, duration, raId });\n\n const popupTitle = useMemo(() => {\n const actionText = isPackageConnected ? 'Продлите' : 'Подключите';\n return isSinglePrice\n ? Подключить пакет каналов {packageName}?\n : {actionText} пакет каналов {packageName} со скидкой;\n }, [isPackageConnected, isSinglePrice, packageName]);\n\n const onSelectPrice = useCallback((_price) => {\n if (!_price?.duration) {\n setIsClosePacket(false);\n }\n setSelectedPrice(_price);\n }, []);\n\n const onConnectPackageHandler = useCallback(async() => {\n const resp = await onConnectPackage();\n\n const actionResultText = isPackageConnected ? 'продлили' : 'подключили';\n const actionTextByResult = resp.isSuccess ? 'success' : 'error';\n\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.vas,\n action: isPackageConnected\n ? `click_renew_subscription_${actionTextByResult}`\n : `connect ${actionTextByResult}`,\n label: `package: ${packageName} | period: ${selectedPrice?.duration} month | price: ${selectedPrice?.cost}`,\n });\n\n setResult({\n isOpen: true,\n title: resp.isSuccess\n ? Вы {actionResultText} пакет каналов {packageName}\n : {resp.error.message || 'Что-то пошло не так. Попробуйте ещё раз.'},\n text: resp.isSuccess\n ? `Стоимость — ${selectedPrice?.cost} ₽/мес.`\n : BALANCE_ERROR_CODES.includes(String(resp.error.code))\n ? 'Пожалуйста, пополните баланс перед подключением пакета каналов.'\n : '',\n type: resp.isSuccess ? EResultPopupStatus.SUCCESS : EResultPopupStatus.ERROR,\n isBalanceError: !resp.isSuccess && BALANCE_ERROR_CODES.includes(String(resp.error.code)),\n });\n\n onClose();\n }, [onConnectPackage, isPackageConnected, setResult, packageName, selectedPrice?.cost, onClose]);\n\n return (\n onClose()}\n >\n \n {!isSinglePrice && (\n <>\n \n setIsClosePacket(!isClosePacket)}\n >\n Отключить после окончания подписки\n \n \n )}\n \n \n onClose()}\n data-test='close-button'\n />\n \n \n \n );\n};\n\nexport default PackageConnectPopup;\n","import { useCallback, useState } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { doRequest } from '@r1-frontend/do-request';\nimport { TResponse } from '@r1-frontend/do-request/core/types';\nimport { BaseErrorBody } from '@r1-frontend/do-request/error';\nimport setTvPackets, { ResponseDto } from '@r1-frontend/api-domru/api-profile/v2/tv-packets/set-tv-packet';\n\nimport { TState } from '~/src/store';\n\ninterface IConnectParams {\n isClosePacket: boolean,\n packetId: number,\n duration: number,\n raId: number,\n terminalId?: number,\n}\n\ninterface ISetTvPacketConnection {\n isConnectingInProgress: boolean,\n onConnectPackage: () => Promise>,\n}\n\nexport const useConnectPackage = (params: IConnectParams): ISetTvPacketConnection => {\n const {\n tvPackages: { terminalId: trId },\n } = useSelector((state: TState) => state);\n\n const [isConnectingInProgress, setIsConnectingInProgress] = useState(false);\n const { isClosePacket, packetId, duration, raId, terminalId } = params;\n\n const onConnectPackage = useCallback(async() => {\n setIsConnectingInProgress(true);\n const reqParams = {\n closePacket: duration ? +isClosePacket : 0,\n packetId,\n raId,\n trId: trId || terminalId,\n };\n\n const resp = await doRequest.apiProfile(setTvPackets(reqParams));\n setIsConnectingInProgress(false);\n\n return resp;\n }, [duration, isClosePacket, packetId, raId, trId, terminalId]);\n\n return { isConnectingInProgress, onConnectPackage };\n};\n","import styled from 'styled-components';\n\nexport const LabelsWrapper = styled.div`\n flex-wrap: nowrap;\n gap: 8px;\n`;\n","import { Label } from '@r1-frontend/ui-react/components/label';\n\nimport Widget from '~/src/components/Widget';\nimport { dateWithoutYear } from '~/src/helpers/date';\nimport { ITvPackageState } from '~/src/store/reducers/tvPackages';\n\nimport * as ST from './styled';\n\ninterface IProps {\n isActive: boolean,\n tvPacketState?: ITvPackageState,\n tryAndBuyLabel?: string,\n}\n\nconst LabelAndActivity = ({ isActive, tvPacketState, tryAndBuyLabel }: IProps): JSX.Element | null => {\n const activityPeriod = tvPacketState?.dateOff ? `до ${dateWithoutYear(new Date(tvPacketState.dateOff * 1000))}` : '';\n const activity = isActive ? `Активен ${activityPeriod}` : '';\n\n if (tryAndBuyLabel || activity) {\n return (\n \n {tryAndBuyLabel && }\n {activity && {activity}}\n \n );\n }\n return null;\n};\n\nexport default LabelAndActivity;\n","import styled from 'styled-components';\n\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport Widget from '~/src/components/Widget';\n\nexport const WidgetContent = styled(Widget.ContentBlock)`\n background-color: ${COLORS.BgSurface};\n border-radius: 0 0 ${BorderRadius.OuterBlockRadius} ${BorderRadius.OuterBlockRadius};\n`;\n\nexport const PackageInfo = styled.div`\n flex: 1 1 auto;\n flex-direction: column;\n flex-wrap: nowrap;\n margin-bottom: -15px;\n`;\n\nexport const PackageDesc = styled.div`\n ${FONTS.XS};\n color: ${COLORS.TextSecondary};\n display: -webkit-box;\n display: -moz-box;\n display: box;\n -webkit-box-orient: vertical;\n --moz-box-orient: vertical;\n box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n`;\n\nexport const PackageChannelsCount = styled.div`\n ${FONTS.XXS};\n color: ${COLORS.TextSecondary};\n margin: auto 0 2px;\n`;\n\nexport const WidgetPrice = styled(Widget.Price)<{ isPromoPrice: boolean }>`\n color: ${({ isPromoPrice }) => isPromoPrice ? COLORS.LabelsText_2 : COLORS.TextSecondary};\n`;\n\nexport const ButtonsWrapper = styled.div`\n display: grid;\n grid-template-columns: auto 36px;\n gap: 8px;\n`;\n","import { memo, useCallback, useMemo, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useRouter } from 'next/router';\n\nimport { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\n\nimport Button from '@r1-frontend/ui-react/components/buttons/button';\nimport PopupResult from '@r1-frontend/ui-react/components/popups/popupResult';\nimport { InfoCircleFlip } from '@r1-frontend/ui-react/components/svg/main';\nimport { CATEGORIES, EVENTS } from '@r1-frontend/shared/constants/analytics';\nimport { pluralize } from '@r1-frontend/shared/helpers/pluralize';\nimport { channelPluralize, dayPluralize, monthPluralize } from '@r1-frontend/shared/helpers/pluralize/predifined';\n\nimport Widget from '~/src/components/Widget';\nimport { USER_LOGIN_ROUTE } from '~/src/constants/routes';\nimport PackageConnectPopup from '~/src/features/domru-tv/packages/components/PackageConnectPopup';\nimport { defaultResultPopupState } from '~/src/features/domru-tv/packages/types';\nimport { dateWithoutYear } from '~/src/helpers/date';\nimport { TState } from '~/src/store';\nimport { fetchProfileTvPackages } from '~/src/store/actions/tvPackages';\nimport { loadVas } from '~/src/store/actions/vas';\nimport { ETryAndBuyDurationTypeId, ETvPackagesActionTypes, ITvPackage } from '~/src/store/reducers/tvPackages';\n\nimport LabelAndActivity from './LabelAndActivity';\n\nimport { ButtonsRow, PopupContent } from '~/src/features/domru-tv/packages/components/PackageConnectPopup/styled';\nimport * as ST from './styled';\n\ninterface IProps {\n tvPacket: ITvPackage,\n}\n\nconst TvPackageCard = ({ tvPacket }: IProps): JSX.Element => {\n const {\n id,\n active,\n available,\n alias,\n baseCost = 0,\n channelsCount,\n channelsCountHd,\n cost,\n costRa = [],\n description,\n image,\n name,\n state: packageState,\n tryAndBuy,\n } = tvPacket;\n\n const dispatch = useDispatch();\n\n const router = useRouter();\n\n const { isAuth } = useSelector((state: TState) => state.auth);\n\n const packetPrices = useMemo(() => {\n return active\n ? costRa\n : [\n {\n cost,\n duration: 0,\n durationTypeId: 0,\n groups: [],\n raId: 0,\n },\n ...costRa,\n ];\n }, [active, cost, costRa]);\n\n const tryAndBuyLabel = useMemo(() => {\n if (packageState?.actDateTo) {\n return `промо-цена до ${dateWithoutYear(new Date(packageState.actDateTo * 1000))}`;\n }\n\n if (tryAndBuy) {\n const { duration, durationTypeId } = tryAndBuy;\n const periodText = durationTypeId === ETryAndBuyDurationTypeId.DAYS\n ? `${duration} ${pluralize(duration, dayPluralize)}`\n : `${duration} ${pluralize(duration, monthPluralize)}`;\n\n return `${periodText} бесплатно`;\n }\n }, [packageState, tryAndBuy]);\n\n const [isRequestPopupOpen, setIsRequestPopupOpen] = useState(false);\n const [resultPopupState, setResultPopupState] = useState(defaultResultPopupState);\n\n const onConnectHandler = useCallback(() => {\n isAuth\n ? setIsRequestPopupOpen(true)\n : router.push(`${USER_LOGIN_ROUTE}?referrer=${location.pathname}`);\n\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.vas,\n action: active ? 'click_renew_subscription_open' : 'click connect btn',\n label: `package: ${name}`,\n });\n }, [isAuth, router]);\n\n const openTnBСonnectPopup = () => {\n dispatch({\n type: ETvPackagesActionTypes.SET_TRIAL_PACKAGE,\n payload: {\n trialPackage: tvPacket,\n },\n });\n setIsRequestPopupOpen(true);\n };\n\n const onDetailHandler = useCallback(() => {\n router.push(alias);\n\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.vas,\n action: 'click_know_more',\n label: `package: ${name}`,\n });\n }, [alias, router]);\n\n const onCloseResultHandler = useCallback(() => {\n if (resultPopupState.type === 'success') {\n dispatch(fetchProfileTvPackages());\n dispatch(loadVas());\n }\n\n setResultPopupState(defaultResultPopupState);\n }, [dispatch, resultPopupState.type]);\n\n const onBalanceReplenish = useCallback(() => {\n onCloseResultHandler();\n router.push('/payments');\n }, [onCloseResultHandler, router]);\n\n const isAvailableAndActive = active && available;\n\n return (\n <>\n \n \n \n \n \n \n {name}\n \n \n \n {channelsCount} {pluralize(channelsCount, channelPluralize)} ({channelsCountHd} HD)\n \n \n \n {cost} ₽/мес\n {\n isAvailableAndActive && !costRa.length\n ? \n Подробнее\n \n : available !== 0\n ? \n \n {active ? 'Продлить' : 'Подключить'}\n \n }\n onClick={onDetailHandler}\n rounded\n data-test='widget-details'\n />\n \n : null\n }\n \n \n \n {(!active || !!packetPrices.length) && (\n <>\n setIsRequestPopupOpen(false)}\n data-test='connect-popup'\n />\n \n \n \n {resultPopupState.isBalanceError && (\n \n Пополнить баланс\n \n )}\n \n Закрыть\n \n \n \n \n \n )}\n \n );\n};\n\nexport default memo(TvPackageCard);\n","import { EResultPopupStatus } from '@r1-frontend/ui-react/components/popups/popupResult/index';\nexport interface IPopupProps {\n isOpen: boolean,\n title: JSX.Element | string | null,\n text?: JSX.Element | string | null,\n type?: EResultPopupStatus,\n isBalanceError?: boolean,\n onClose: () => void,\n}\n\nexport const defaultResultPopupState: Omit = {\n isOpen: false,\n title: null,\n type: EResultPopupStatus.DEFAULT,\n isBalanceError: false,\n};\n\nexport type TDetailsType = 'packs' | 'subscriptions' | null;\n\nexport interface IDetailsState {\n isOpen: boolean,\n type: TDetailsType,\n}\n\nexport const defaultDetailsState: IDetailsState = {\n isOpen: false,\n type: null,\n};\n\nexport interface IPriceOptions {\n count: number,\n discount: number,\n price: number,\n}\n\nexport enum ESectionId {\n packs = 'packs',\n subscriptions = 'subscriptions',\n services = 'services',\n}\n\nexport type TPackageResponse = {\n success: boolean,\n code: string,\n message: string,\n};\n","import { BaseButton } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { IKebabItem } from '@r1-frontend/ui-react/components/KebabMenu';\nimport { EResultPopupStatus } from '@r1-frontend/ui-react/components/popups/popupResult';\n\nimport { EVasWidgetType } from './hooks/useDisableVasWithAnalytics';\n\nexport interface IWidgetPopupProps {\n isOpen: boolean,\n title: string,\n text?: string,\n type?: EResultPopupStatus,\n widget?: EVasWidgetType,\n content?: JSX.Element,\n serviceButton?: ReturnType,\n onClose: () => void,\n}\n\nexport type TWidgetPopupProps = Omit;\n\nexport const defaultPopupState: TWidgetPopupProps = {\n isOpen: false,\n title: '',\n text: '',\n type: EResultPopupStatus.DEFAULT,\n widget: undefined,\n content: undefined,\n serviceButton: undefined,\n};\n\nexport interface IAdvantageProps {\n id: number,\n symbolId: string,\n text: string,\n}\n\nexport const watchControlAdvantages: IAdvantageProps[] = [\n {\n id: 1,\n symbolId: 'pause',\n text: 'Ставьте прямой эфир на паузу',\n },\n {\n id: 2,\n symbolId: 'rewind',\n text: 'Перематывайте рекламу',\n },\n {\n id: 3,\n symbolId: 'repeat',\n text: 'Смотрите архив программ за неделю',\n },\n];\n\nexport enum EWidgetKebabActionType {\n ACTIVATE = 'activate',\n DETAIL = 'detail',\n DISABLE = 'disable',\n INSTRUCTION = 'instruction',\n MOVIX = 'movix',\n}\n\nexport const antivirusKebabItems: IKebabItem[] = [\n {\n value: EWidgetKebabActionType.DETAIL,\n label: 'Подробнее',\n },\n {\n value: EWidgetKebabActionType.INSTRUCTION,\n label: 'Инструкция по настройке',\n },\n {\n value: EWidgetKebabActionType.DISABLE,\n label: 'Отключить',\n },\n];\n\nexport const gamersKebabItems: IKebabItem[] = [\n {\n value: EWidgetKebabActionType.INSTRUCTION,\n label: 'Инструкция по настройке',\n },\n {\n value: EWidgetKebabActionType.DETAIL,\n label: 'Перейти на сайт',\n },\n {\n value: EWidgetKebabActionType.DISABLE,\n label: 'Отключить',\n },\n];\n\nexport const tvPacketKebabItems: IKebabItem[] = [\n {\n value: EWidgetKebabActionType.DETAIL,\n label: 'Подробнее',\n },\n {\n value: EWidgetKebabActionType.MOVIX,\n label: 'Смотреть на Movix',\n },\n {\n value: EWidgetKebabActionType.DISABLE,\n label: 'Отключить',\n },\n];\n\nexport const watchEverywhereKebabItems: IKebabItem[] = [\n {\n value: EWidgetKebabActionType.MOVIX,\n label: 'Открыть Movix',\n },\n];\n\nexport const watchEverywhereInstruction = 'Войдите в личный кабинет Дом.ру с устройства, ' +\n 'на котором хотите активировать эту услугу. Сделать это можно:' +\n '
  • На сайте Дом.ру
  • На сайте Movix
  • В мобильном приложении Мой Дом.ру
  • ' +\n '
  • В мобильном приложении Movix
  • В приложении Movix для телевизоров
  • С приставки Movix
' +\n 'Услуга автоматически заработает на устройстве, с которого вы войдёте в личный кабинет.';\n","import { IRequest } from '@r1-frontend/shared/types/IRequest';\n\nimport type { RequestDto } from './dto/RequestDto';\n\n/**\n * Swagger: https://master.api-profile.sandbox.d2c.r-one.io/docs/v2#/TvPackets/4df0e847fabdc0d16f02c1b25ef5f79a\n * Connets specified TV packet\n *\n * @param requestBody\n * @returns Existing and available TV packets for connection\n */\nconst setTvPackets = (requestBody: RequestDto): IRequest => ({\n uri: '/v2/tv-packets/set-tv-packet',\n method: 'POST',\n withProvider: true,\n withAuth: true,\n body: JSON.stringify(requestBody),\n});\n\nexport type { RequestDto };\nexport type { ResponseDto } from './dto/ResponseDto';\n\nexport default setTvPackets;\n","import PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport styled from 'styled-components';\n\nconst defaultProps = {\n duration: 0.3,\n isAnimate: true,\n isShow: false,\n};\n\nconst propTypes = {\n duration: PropTypes.number,\n isAnimate: PropTypes.bool,\n isShow: PropTypes.bool,\n};\n\nconst AccordionBody = styled.div`\n max-height: ${props => props.maxHeight || null};\n overflow: hidden;\n transition: max-height ${({ duration }) => duration}s ease;\n width: 100%;\n`;\n\nexport class AccordionAnimateBody extends Component {\n static propTypes = propTypes;\n static defaultProps = defaultProps;\n\n constructor(props) {\n super(props);\n this.state = { maxHeight: '0px' };\n this.bodyRef = React.createRef();\n }\n\n bodyHide = () => {\n if (this.props.isAnimate === false) {\n this.setState({ maxHeight: '0px' });\n return;\n }\n\n this.setState({ maxHeight: `${this.bodyRef.current.scrollHeight}px` });\n this.bodyRef.current.offsetHeight;\n this.setState({ maxHeight: '0px' });\n }\n\n bodyShow = () => {\n if (this.props.isAnimate === false) {\n this.clearStyle();\n return;\n }\n\n this.setState({ maxHeight: `${this.bodyRef.current.scrollHeight}px` });\n }\n\n clearStyle = () => {\n this.setState({ maxHeight: null });\n }\n\n componentDidMount() {\n if (this.props.isShow === false) {\n this.setState({ maxHeight: '0px' });\n }\n }\n\n componentDidUpdate({ isShow }) {\n if (isShow !== this.props.isShow) {\n if (this.props.isShow === true) {\n this.bodyShow();\n } else {\n this.bodyHide();\n }\n }\n }\n\n render() {\n return (\n {\n return;\n }}\n data-test={'AccordionBody'}\n {...this.props}\n >\n {this.props.children}\n \n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport styled from 'styled-components';\n\nimport { COLORS } from '../../../assets/js/constants';\nimport { FONTS } from '../../../tokens/fonts';\n\nconst defaultProps = {\n onClick: () => {\n return;\n },\n};\n\nconst propTypes = {\n onClick: PropTypes.func,\n text: PropTypes.string,\n};\n\nconst AccordionHeader = styled.div`\n align-items: center;\n cursor: pointer;\n display: flex;\n user-select: none;\n width: 100%;\n`;\n\nconst AccordionHeaderText = styled.span`\n border-bottom: 1px dotted ${COLORS.blue};\n color: ${COLORS.blue};\n display: inline-block;\n ${FONTS.S};\n`;\n\nconst AccordionHeaderIcon = styled.img`\n margin-left: 10px;\n transform: ${({ isShow }) => isShow ? 'rotate(-180deg)' : 'rotate(0deg)'};\n transform-origin: 50% 50%;\n transition: transform 0.3s ease;\n height: 7px;\n width: 12px;\n`;\n\nexport function AccordionAnimateHeader(props) {\n let headerContent = props.children;\n\n if (props.text !== undefined) {\n headerContent = (\n \n {props.text}\n \n \n );\n }\n\n return (\n \n {headerContent}\n \n );\n}\n\nAccordionAnimateHeader.defaultProps = defaultProps;\nAccordionAnimateHeader.propTypes = propTypes;\n","import PropTypes from 'prop-types';\nimport React, { Component } from 'react';\n\nimport { AccordionAnimateBody } from './AccordionAnimateBody';\nimport { AccordionAnimateHeader } from './AccordionAnimateHeader';\n\nconst defaultProps = {\n isShow: false,\n isAnimate: true,\n onToggle: () => {\n return;\n },\n};\n\nconst propTypes = {\n isShow: PropTypes.bool,\n isAnimate: PropTypes.bool,\n onToggle: PropTypes.func,\n};\n\nexport class AccordionAnimate extends Component {\n static propTypes = propTypes;\n static defaultProps = defaultProps;\n\n constructor(props) {\n super(props);\n\n this.state = {\n isShow: this.props.isShow,\n };\n }\n\n getHeader(child) {\n return React.cloneElement(child, {\n isShow: this.state.isShow,\n onClick: this.accordionToggle,\n });\n }\n\n getBody(child) {\n return React.cloneElement(child, {\n duration: this.props.duration,\n isShow: this.state.isShow,\n isAnimate: this.props.isAnimate,\n });\n }\n\n accordionToggle = () => {\n this.setState(({ isShow }) => {\n return { isShow: !isShow };\n }, () => {\n this.props.onToggle(this.state.isShow);\n });\n }\n\n componentDidUpdate({ isShow }) {\n if (isShow !== this.props.isShow) {\n this.setState({\n isShow: this.props.isShow,\n });\n }\n }\n\n render() {\n return (\n
\n {React.Children.map(this.props.children, (child) => {\n if (child.type && child.type.name === AccordionAnimateHeader.name) {\n return this.getHeader(child);\n } else if (child.type && child.type.name === AccordionAnimateBody.name) {\n return this.getBody(child);\n } else {\n return child;\n }\n })}\n
\n );\n }\n}\n\nexport { AccordionAnimateBody } from './AccordionAnimateBody';\nexport { AccordionAnimateHeader } from './AccordionAnimateHeader';\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1Ljk3IDkuODIiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIGQ9Ik0uNTMgOS4yOUw0LjkxIDQuOS41My41MyIvPjwvc3ZnPg==\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTIgNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSIjMDA3QUU1Ij4KICAgIDxwYXRoIGQ9Ik0xMS41NjY0IDEuMzQ3NjZDMTEuNTY2NCAxLjQzODggMTEuNTI3MyAxLjUyMzQ0IDExLjQ0OTIgMS42MDE1Nkw2LjI1MzkxIDYuNzk2ODhDNi4xNzU3OCA2Ljg3NSA2LjA5MTE1IDYuOTE0MDYgNiA2LjkxNDA2QzUuOTA4ODUgNi45MTQwNiA1LjgyNDIyIDYuODc1IDUuNzQ2MDkgNi43OTY4OEwwLjU1MDc4MSAxLjYwMTU2QzAuNDcyNjU2IDEuNTIzNDQgMC40MzM1OTQgMS40Mzg4IDAuNDMzNTk0IDEuMzQ3NjZDMC40MzM1OTQgMS4yNDM0OSAwLjQ3MjY1NiAxLjE1MjM0IDAuNTUwNzgxIDEuMDc0MjJMMS4wOTc2NiAwLjUyNzM0NEMxLjE3NTc4IDAuNDQ5MjE5IDEuMjYwNDIgMC40MTAxNTYgMS4zNTE1NiAwLjQxMDE1NkMxLjQ1NTczIDAuNDEwMTU2IDEuNTQwMzYgMC40NDkyMTkgMS42MDU0NyAwLjUyNzM0NEw2IDQuOTAyMzRMMTAuMzk0NSAwLjUyNzM0NEMxMC40NTk2IDAuNDQ5MjE5IDEwLjU0NDMgMC40MTAxNTYgMTAuNjQ4NCAwLjQxMDE1NkMxMC43Mzk2IDAuNDEwMTU2IDEwLjgyNDIgMC40NDkyMTkgMTAuOTAyMyAwLjUyNzM0NEwxMS40NDkyIDEuMDc0MjJDMTEuNTI3MyAxLjE1MjM0IDExLjU2NjQgMS4yNDM0OSAxMS41NjY0IDEuMzQ3NjZaIi8+Cjwvc3ZnPgo=\""],"names":["CustomDotsStyles","dot","background","COLORS","activeDot","ImgCarousel","styled","SlideCarousel","BorderRadius","PackageImage","PromoLabel","Label","WidgetPrice","Widget","isPromo","css","multibundle","onBtnClick","closeDateRa","nameVas","priceRa","priceVas","subscriptions","router","useRouter","swiperRef","useRef","useMemo","reduce","acc","subscription","subscriptionsNames","push","imgData","id","socId","alt","image","imageWebp","subscriptionsImages","promoPeriodInfo","ddmm","Date","toLocaleString","onClickHandler","useCallback","multibundleLink","ST","innerRef","autoplay","wrapAround","withoutArrows","withoutDots","slideWidth","initialSlideHeight","cellSpacing","customDotsStyles","map","WebpImage","urlWebp","src","textColor","bgColor","length","join","BaseButton","type","btnTypes","size","btnSizes","text","onClick","PopupTitle","PopupContent","ButtonsRow","wideBreakpoints","Ask","FONTS","arrowImage","props","isOpen","ImageBlock","LazyLoadImage","PopupInner","BenefitsTextBlock","BenefitsText","StyledButton","Button","TextValue","benefits","TickCircle","dangerouslySetInnerHTML","__html","DetailedSubscriptionPopup","benefitsAuth","onClose","popupImage","onClickUnAuth","onSendResult","isAuth","setIsPhonePopupOpen","isRewriteSubscription","useState","isOpenDescription","setIsOpenDescription","onClickUnAuthPopup","contentData","find","item","name","benefitsNotAuth","clearNbsp","clearHTMLTags","body_full","split","filter","subStr","DefaultPopup","fullWidth","div","value","index","SubscriptionBenefitsTextBlock","AccordionAnimate","isAnimate","onToggle","status","AccordionAnimateHeader","AccordionAnimateBody","getSubscriptionInfo","bType","pricesV2","memo","isActive","activeDate","labelText","activeToDateChangeFormat","dayjs","format","ListContainer","$size","$wrap","INDEFINITELY_ACTIVE","PackageDesc","isPromoPrice","WidgetKebab","IncludesPopup","PopupButtonBlock","PopupDescription","Text","kebabActiveItems","label","queryId","onClosePopup","serviceId","activeVas","buttonText","buttonLink","includedAgr","activeTo","dateClose","tryAndBuy","getPhone","advertising","useSelector","state","accessToken","auth","domain","selectDomain","providerId","city","provider","closeVasDate","isIncludesPopupOpen","setIsIncludesPopupOpen","isPhonePopupOpen","isLoading","setIsLoading","defaultPopupState","popupState","setPopupState","clientPhone","setClientPhone","detailedPopupOpen","setDetailedPopupOpen","popupUnAuth","setPopupUnAuth","isTnBPopupOpen","setIsTnBPopupOpen","manualRedirectServiceIds","withKebabMenu","pathToDetailedPage","alias","closeDate","isIndefinitelySub","subscriptionsWithoutTNB","raGroups","includes","ESubscriptionsType","onDetailHandler","replace","undefined","shallow","dataLayerPush","event","EVENTS","category","CATEGORIES","action","getActiveToDate","lifeTimePromo","addMonths","Number","activeToDate","sortedSubscriptionPrice","orderBy","tryAndBuyLabelText","dateWithoutYear","duration","periodText","durationTypeId","EDuration","pluralize","dayPluralize","monthPluralize","onConnectHandler","handleIncludesPopupClose","onCloseHandler","useEffect","onClickDisconnect","onSelectMenuHandler","EWidgetKebabActionType","onSendDisconnectResult","resp","doRequest","disableVasWizard","isSuccess","EResultPopupStatus","title","redirectButtonLink","window","open","scrollTo","phone","contactId","clientParams","params","createVasWizard","discount","RubleSymbol","onTryAndBuyConnect","raId","phoneParam","endDate","flagId","add","locale","phonePopupTitle","phonePopupDescription","SelectPhonePopup","setPhone","description","width","Icon","Throbber","color","NonStaticContainer","$united","$bottom","$right","AdvertisingLabelWithTooltip","companyName","erid","tooltip","position","data-test","LabelAndActivity","body","cost","disabled","menuItems","onSelectMenu","IndentContainer","InfoCircleFlip","rounded","PopupResult","TryAndBuyConnectionPopup","isConnectionInProgress","onConnect","PopupNoAuth","close","PricesWrapper","PriceRow","SBaseRadio","BaseRadio","InnerContent","PriceValue","PriceDescription","selectedPrice","prices","onChange","price","checked","BALANCE_ERROR_CODES","isPackageConnected","packetId","packageName","setResult","isSinglePrice","setSelectedPrice","isClosePacket","setIsClosePacket","useConnectPackage","terminalId","tvPackages","isConnectingInProgress","setIsConnectingInProgress","onConnectPackage","reqParams","closePacket","trId","setTvPackets","popupTitle","actionText","onSelectPrice","_price","onConnectPackageHandler","actionResultText","actionTextByResult","error","message","String","code","isBalanceError","PriceSelection","BaseCheckbox","LabelsWrapper","tvPacketState","tryAndBuyLabel","activityPeriod","dateOff","activity","WidgetContent","PackageInfo","PackageChannelsCount","ButtonsWrapper","TvPackageCard","tvPacket","active","available","baseCost","channelsCount","channelsCountHd","costRa","dispatch","useDispatch","packetPrices","groups","packageState","actDateTo","ETryAndBuyDurationTypeId","isRequestPopupOpen","setIsRequestPopupOpen","defaultResultPopupState","resultPopupState","setResultPopupState","location","USER_LOGIN_ROUTE","pathname","onCloseResultHandler","fetchProfileTvPackages","loadVas","onBalanceReplenish","isAvailableAndActive","channelPluralize","ETvPackagesActionTypes","payload","trialPackage","PackageConnectPopup","defaultDetailsState","ESectionId","packs","services","widget","content","serviceButton","DETAIL","INSTRUCTION","DISABLE","gamersKebabItems","MOVIX","requestBody","uri","method","withProvider","withAuth","JSON","stringify","propTypes","PropTypes","isShow","AccordionBody","maxHeight","bodyHide","setState","bodyRef","current","scrollHeight","offsetHeight","bodyShow","clearStyle","React","componentDidMount","this","componentDidUpdate","render","ref","onTransitionEnd","children","Component","defaultProps","AccordionHeader","AccordionHeaderText","AccordionHeaderIcon","headerContent","require","accordionToggle","getHeader","child","getBody","className","module","exports"],"sourceRoot":""}