{"version":3,"file":"static/chunks/8615-5d5aa44d7ae4bb8e.js","mappings":"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","sources":["webpack://_N_E/./src/components/MultibundlePrice/styled.tsx","webpack://_N_E/./src/components/MultibundlePrice/index.tsx","webpack://_N_E/./src/components/Widget/index.tsx","webpack://_N_E/./src/components/Widget/styled.ts","webpack://_N_E/./src/features/domru-tv/packages/components/MultiBundleCard/styled.ts","webpack://_N_E/./src/features/domru-tv/packages/components/MultiBundleCard/index.tsx","webpack://_N_E/./src/helpers/channel/channelFormatterForEpg.ts","webpack://_N_E/./src/store/actions/tvPackages.ts","webpack://_N_E/../../packages/api-domru/src/api-epg/v1/packets.ts","webpack://_N_E/../../packages/api-domru/src/api-profile/v2/tv-packets/index/index.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport { Label } from '@r1-frontend/ui-react/components/label';\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';\nimport { hex2rgb } from '@r1-frontend/shared/helpers/hex2rgb';\n\nexport const CountPrice = styled.div`\n position: relative;\n width: 123px;\n height: 80px;\n padding: 8px 12px;\n gap: 4px;\n border: 2px solid ${COLORS.BgMain};\n border-radius: ${BorderRadius.componentRadius};\n background-color: rgba(${hex2rgb(COLORS.BgMain)}, 0.5);\n`;\n\nexport const DiscountLabel = styled(Label)`\n position: absolute;\n top: 8px;\n right: -15px;\n flex-direction: column;\n transform: rotate(-4deg);\n`;\n\nexport const DiscountUpTo = styled.p`\n ${FONTS.MediumXXXS};\n margin-left: -5px;\n margin-bottom: -4px;\n`;\n\nexport const DiscountValue = styled.p`\n ${FONTS.H6};\n`;\n\nexport const Count = styled.p<{ textColor: COLORS }>`\n ${FONTS.H3};\n color: ${p => p.textColor};\n`;\n\nexport const Price = styled.p`\n ${FONTS.H5};\n color: ${COLORS.TextSecondary};\n`;\n","import { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nimport * as ST from './styled';\n\ninterface IProps {\n priceColor: COLORS,\n count?: string,\n discount: number,\n price: number,\n}\n\nexport const MultibundlePrice = ({ priceColor, count, discount, price }: IProps): JSX.Element => {\n return \n \n до\n - {discount}%\n \n {count}+ 1\n {price} ₽/мес\n ;\n};\n","import React, { FC } from 'react';\n\nimport * as ST from './styled';\n\ninterface IWidget extends FC {\n ImageBlock: typeof ST.ImageBlock,\n Image: typeof ST.Image,\n HeaderBlock: typeof ST.HeaderBlock,\n ContentBlock: typeof ST.ContentBlock,\n PeriodData: typeof ST.PeriodData,\n Name: typeof ST.Name,\n Description: typeof ST.Description,\n Info: typeof ST.Info,\n FooterBlock: typeof ST.FooterBlock,\n Price: typeof ST.Price,\n PriceInfo: typeof ST.PriceInfo,\n PriceWrap: typeof ST.PriceWrap,\n Kebab: typeof ST.Kebab,\n InfoPaymentWrap: typeof ST.InfoPaymentWrap,\n ButtonGroup: typeof ST.ButtonGroup,\n}\n\nconst Widget: IWidget = ({ children }) => {\n return (\n \n {children}\n \n );\n};\n\nWidget.ImageBlock = ST.ImageBlock;\nWidget.Image = ST.Image;\nWidget.HeaderBlock = ST.HeaderBlock;\nWidget.ContentBlock = ST.ContentBlock;\nWidget.PeriodData = ST.PeriodData;\nWidget.Name = ST.Name;\nWidget.Description = ST.Description;\nWidget.Info = ST.Info;\nWidget.FooterBlock = ST.FooterBlock;\nWidget.Price = ST.Price;\nWidget.PriceInfo = ST.PriceInfo;\nWidget.PriceWrap = ST.PriceWrap;\nWidget.Kebab = ST.Kebab;\nWidget.InfoPaymentWrap = ST.InfoPaymentWrap;\nWidget.ButtonGroup = ST.ButtonGroup;\n\nexport default Widget;\n","import styled, { css } from 'styled-components';\n\nimport { KebabMenu } from '@r1-frontend/ui-react/components/KebabMenu';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport Svg from '@r1-frontend/ui-react/components/svg/Svg';\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';\nimport { textOverflowLineClamp } from '@r1-frontend/ui-react/tokens/others/textOverflowLineClamp';\n\nconst Local_KebabHover = '#EFF3F7';\n\nexport const Wrapper = styled.div`\n flex-direction: column;\n flex-wrap: nowrap;\n width: 352px;\n height: 352px;\n border-radius: ${BorderRadius.OuterBlockRadius};\n background-color: ${COLORS.BgSurface};\n user-select: none;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n border-radius: ${BorderRadius.InnerBlockRadius};\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n width: 100%;\n max-width: 352px;\n border-radius: ${BorderRadius.InnerBlockRadius};\n }\n`;\n\nexport const ImageBlock = styled.div<{ bgImage?: string }>`\n position: relative;\n flex: 0 0 160px;\n width: 100%;\n height: 160px;\n border-radius: ${BorderRadius.OuterBlockRadius} ${BorderRadius.OuterBlockRadius} 0 0;\n @media (max-width: ${wideBreakpoints.mobile}) {\n border-radius: ${BorderRadius.InnerBlockRadius} ${BorderRadius.InnerBlockRadius} 0 0;\n }\n overflow: hidden;\n ${p => p.bgImage && css`\n background-image: url(${p.bgImage});\n background-size: cover;\n `}\n\n picture {\n width: 100%;\n height: 100%;\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n border-radius: ${BorderRadius.InnerBlockRadius} ${BorderRadius.InnerBlockRadius} 0 0;\n }\n`;\n\nexport const Image = styled.img`\n width: 100%;\n height: 100%;\n object-position: center;\n object-fit: cover;\n`;\n\nexport const HeaderBlock = styled.div`\n flex-direction: column;\n padding: 32px 24px 8px;\n`;\n\nexport const ContentBlock = styled.div`\n flex: 1 1 auto;\n flex-direction: column;\n flex-wrap: nowrap;\n row-gap: 4px;\n padding: 16px 24px 24px;\n`;\n\nexport const PeriodData = styled.p`\n ${FONTS.MediumXS};\n color: ${COLORS.TextInfo};\n`;\n\nexport const Name = styled.h4<{ maxRow?: number }>`\n ${FONTS.H4};\n ${p => p.maxRow ? textOverflowLineClamp(p.maxRow) : ''};\n`;\n\nexport const Description = styled.div<{ maxRow?: number }>`\n ${FONTS.XS};\n color: ${COLORS.TextSecondary};\n ${p => p.maxRow ? textOverflowLineClamp(p.maxRow) : ''};\n`;\n\nexport const Info = styled.div`\n ${FONTS.XS};\n color: ${COLORS.TextInfo};\n`;\n\nexport const FooterBlock = styled.div`\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: flex-end;\n margin-top: auto;\n min-height: 36px;\n`;\n\nexport const PriceWrap = styled.div`\n flex-direction: column;\n margin-right: auto;\n`;\n\nexport const InfoPaymentWrap = styled.div`\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n gap: 6px;\n\n ${Svg} {\n margin-top: 2.5px;\n cursor: pointer;\n }\n`;\n\nexport const ButtonGroup = styled.div`\n flex-direction: row;\n flex-wrap: nowrap;\n gap: 8px;\n width: 100%;\n\n button {\n width: 100%;\n }\n`;\n\nexport const PriceInfo = styled.div`\n ${FONTS.XXS};\n color: ${COLORS.TextSecondary};\n`;\n\nexport const Price = styled.div`\n ${FONTS.H5};\n color: ${COLORS.TextSecondary};\n margin-right: auto;\n overflow: hidden;\n white-space: nowrap;\n`;\n\nexport const Kebab = styled(KebabMenu)`\n flex: 0 0 36px;\n height: 36px;\n margin-left: 8px;\n border-radius: 50%;\n background-color: ${COLORS.ButtonSecondary};\n\n @media (hover: hover) {\n &:hover {\n background-color: ${Local_KebabHover};\n }\n }\n\n div[data-name='popup-menu'] {\n top: 48px;\n right: -24px;\n z-index: 100;\n }\n\n div[data-name='menu-row'] {\n @media (hover: hover) {\n &:hover {\n background-color: ${COLORS.BgLight};\n }\n }\n }\n`;\n","import styled from 'styled-components';\n\nimport { BaseButton } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\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\nimport { Wrapper } from '~/src/components/Widget/styled';\n\nexport const WidgetWrapper = styled(Wrapper)<{ bgImage?: string }>`\n background-image: url(${p => p.bgImage});\n background-position: center right;\n background-size: cover;\n background-repeat: no-repeat;\n overflow: hidden;\n`;\n\nexport const WidgetContent = styled(Widget.ContentBlock)<{ withPromo?: boolean }>`\n position: relative;\n padding: 24px;\n gap: ${p => p.withPromo ? '8px' : '16px'};\n`;\n\nexport const WidgetName = styled(Widget.Name)`\n ${FONTS.H4};\n max-width: 80%;\n margin-bottom: 0;\n white-space: pre-wrap;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n max-width: 90%;\n }\n\n @media (max-width: ${wideBreakpoints.sMobile}) {\n max-width: 100%;\n }\n`;\n\nexport const CountPricesBlock = styled.div`\n flex-wrap: nowrap;\n gap: 16px;\n`;\n\nexport const WidgetInfo = styled(Widget.Info)`\n color: ${COLORS.TextSecondary};\n display: -webkit-box;\n display: -moz-box;\n display: box;\n margin-bottom: 0;\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 WidgetButton = styled(BaseButton)`\n margin-top: auto;\n`;\n","import { useCallback, useMemo } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useRouter } from 'next/router';\n\nimport { IVasInfo } from '@r1-frontend/api-domru/api-profile/v1/vas/dto/ResponseDto';\n\nimport { btnSizes, btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { Label } from '@r1-frontend/ui-react/components/label';\nimport { 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 { useWebp } from '@r1-frontend/shared/hooks/useWebp';\n\nimport { MultibundlePrice } from '~/src/components/MultibundlePrice';\nimport { USER_LOGIN_ROUTE } from '~/src/constants/routes';\nimport { IPriceOptions } from '~/src/features/domru-tv/packages/types';\nimport { TState } from '~/src/store';\nimport { IMultibundleAdditional } from '~/src/store/selectors/vas';\n\nimport * as ST from './styled';\n\nexport const multibundleLink = '/lk/multibundle';\n\ninterface IProps {\n multibundle: IVasInfo,\n onBtnClick: () => void,\n className?: string,\n}\n\nconst MultibundleCard = ({ multibundle, onBtnClick, className }: IProps): JSX.Element => {\n const { additionalProps, contentData, image, imageWebp, pricesV2, advertising } = multibundle;\n const { priceOptions } = additionalProps || {};\n\n const promoInfo = useMemo(() => pricesV2?.find(price => !!price.lifeTimePromoTypeId), [pricesV2]);\n\n const isAuth = useSelector((state: TState) => state.auth.isAuth);\n\n const router = useRouter();\n\n const widgetBgImage = useWebp() ? imageWebp : image;\n\n const onClickHandler = useCallback(() => {\n onBtnClick();\n\n router.push(isAuth ? multibundleLink : `${USER_LOGIN_ROUTE}?referrer=${multibundleLink}`);\n }, [isAuth, onBtnClick, router]);\n\n return (\n \n \n {promoInfo && (\n \n {`${promoInfo.duration} месяц за ${promoInfo.value}`} {RubleSymbol}\n \n )}\n Ещё больше{'\\n'}онлайн-кинотеатров, фильмов и сериалов\n {priceOptions && (\n \n {(priceOptions as unknown as IPriceOptions[]).map((priceOption, index) => {\n if (index > 1) {\n return null;\n }\n\n const priceColor = index === 1 ? COLORS.LabelsText_2 : COLORS.Digital_Blue;\n\n return (\n );\n })}\n \n )}\n {contentData?.body && (\n \n )}\n \n {advertising &&\n \n \n \n }\n \n \n );\n};\n\nexport default MultibundleCard;\n","import {\n IChannelCategory,\n IChannelData,\n IChannelInfo,\n IChannelPacket,\n ResponseDto,\n} from '@r1-frontend/api-domru/api-profile/v2/tv-packets/index';\n\ntype TFormattedChannelData = Omit & {\n channels: {\n channelId: number,\n internalId: number,\n title: string,\n alias: string,\n categoryId: number,\n analog: number,\n catchupAvailable: number,\n digital: number,\n encryption: boolean,\n frequency: number,\n providerId: number,\n quality: string,\n lcn: number,\n category: IChannelCategory,\n channelInfo: IChannelInfo,\n packets: IChannelPacket[],\n\n button: string,\n epgId: string,\n chid: number,\n biglogo: string,\n description: string,\n display: boolean,\n hd: '1' | '0',\n url?: string,\n logo?: string,\n theme: IChannelCategory & {\n thid: number,\n },\n thid: number,\n }[],\n}\n\nexport const channelFormatterForEpg = ({ channels, ...rest }: IChannelData): TFormattedChannelData => {\n return {\n ...rest,\n channels: channels.map(channel => ({\n ...channel,\n button: `№ кнопки ${channel.lcn}`,\n logo: channel.channelInfo?.logo,\n chid: channel.channelId,\n xvid: channel.epgId,\n biglogo: channel?.channelInfo.bigLogo,\n description: channel?.channelInfo.description,\n display: channel?.channelInfo.display,\n hd: channel.quality === 'HD' ? '1' : '0',\n title: channel.title,\n url: channel?.channelInfo?.url,\n theme: {\n ...channel.category,\n thid: channel.category.rndId,\n },\n thid: channel.category.rndId,\n })),\n };\n};\n\n\nexport const formatterEpg = (data: ResponseDto)=> {\n return {\n ...data,\n canConnect: data.canConnect.map(connectElement => channelFormatterForEpg(connectElement)),\n connectedInTariff: data.connectedInTariff.map(connectedInTariffElement => channelFormatterForEpg(connectedInTariffElement)),\n connectedOutTariff: data.connectedOutTariff.map(connectedOutTariffElement => channelFormatterForEpg(connectedOutTariffElement)),\n };\n};\n","import { doRequest } from '@r1-frontend/do-request/index';\nimport { IPacketDto } from '@r1-frontend/api-domru/api-epg/v1/dto/IPacketDto';\nimport { getPackageChannels } from '@r1-frontend/api-domru/api-epg/v1/packets';\nimport getTvPackets, { RequestDto, ResponseDto } from '@r1-frontend/api-domru/api-profile/v2/tv-packets/index';\n\nimport { formatterEpg } from '~/src/helpers/channel/channelFormatterForEpg';\nimport { TAppThunkDispatch, TGetState } from '~/src/store';\nimport { ETvPackagesActionTypes } from '~/src/store/reducers/tvPackages';\n\n\nexport const fetchProfileTvPackages = (params?: RequestDto) => {\n return async(dispatch: TAppThunkDispatch): Promise => {\n\n // есть дублирующие вызовы, например, на /lk/domru-tv/packages/channels\n dispatch({\n type: ETvPackagesActionTypes.GET_PACKAGES,\n payload: {\n fetching: true,\n },\n });\n\n const resp = await doRequest.apiProfile(getTvPackets({ ...params }));\n\n if (resp.isSuccess) {\n const {\n connectedInTariff = [],\n connectedOutTariff = [],\n canConnect = [],\n terminalId,\n } = formatterEpg(resp.payload);\n\n dispatch({\n type: ETvPackagesActionTypes.SET_PACKAGES,\n payload: {\n fetching: false,\n connectedInTariff,\n connectedOutTariff,\n canConnect,\n terminalId,\n },\n });\n } else {\n dispatch({\n type: ETvPackagesActionTypes.ERROR_PACKAGES,\n payload: {\n fetching: false,\n fetchError: resp.error.message,\n },\n });\n }\n };\n};\n\ninterface IEpgRequestParams {\n packetIds?: number[],\n notNullPrice?: 0 | 1,\n active?: 0 | 1,\n with?: string,\n}\n\nexport const fetchEpgTvPackages = (params?: IEpgRequestParams) => {\n return async(dispatch: TAppThunkDispatch, getState: TGetState): Promise => {\n const { city: { provider: { providerId } } } = getState();\n\n dispatch({\n type: ETvPackagesActionTypes.GET_PACKAGES,\n payload: {\n fetching: true,\n },\n });\n\n const resp = await doRequest.apiEPG(\n getPackageChannels(providerId, { ...params, active: params?.active !== 0 ? 1 : 0 }),\n );\n\n if (resp.isSuccess) {\n dispatch({\n type: ETvPackagesActionTypes.SET_PACKAGES,\n payload: {\n fetching: false,\n fetchError: null,\n allPackages: resp.payload,\n },\n });\n } else {\n dispatch({\n type: ETvPackagesActionTypes.ERROR_PACKAGES,\n payload: {\n fetching: false,\n // @ts-ignore\n fetchError: resp.error.message,\n },\n });\n }\n };\n};\n\nexport const fetchTvPackages = () => {\n return (dispatch: TAppThunkDispatch, getState: TGetState) => {\n const { auth: { isAuth } } = getState();\n\n isAuth\n ? dispatch(fetchProfileTvPackages())\n : dispatch(fetchEpgTvPackages({ notNullPrice: 1, active: 1, with: 'channels,themes' }));\n };\n};\n","import { IRequest } from '@r1-frontend/shared/types/IRequest';\n\ninterface IGetTvPacketList {\n packetIds?: number[],\n notNullPrice?: number,\n active?: number,\n with?: string,\n}\n\n/*\n* Список пакетов каналов в разрезе провайдеров\n* https://master.api-epg.sandbox.d2c.r-one.io/docs/#/v1/PacketController_getPacketsByProviderId\n*/\n\nexport const getPackageChannels = (providerId: number, params: IGetTvPacketList): IRequest =>({\n uri: `/api/v1/${providerId}/packets`,\n method: 'GET',\n queryParams: { ...params },\n headers: {\n providerId: `${providerId}`,\n },\n});\n","import { IRequest } from '@r1-frontend/shared/types/IRequest';\n\nimport type { RequestDto } from './dto/RequestDto';\nexport type { RequestDto };\nexport type {\n IChannel,\n IChannelCategory,\n IChannelCount,\n IChannelData,\n IChannelInfo,\n IChannelPacket,\n ICostRa,\n ResponseDto,\n} from './dto/ResponseDto';\n\n/**\n * Получение списка пакетов каналов\n * https://master.api-profile.sandbox.d2c.r-one.io/docs/v2#/TvPackets/fd1575d319693ce27802073b35e4e1f8\n */\nconst getTvPackets = ({\n channels = 1,\n costRa = 1,\n packetId = 0,\n\n connectedInTariff = 1,\n connectedOutTariff = 1,\n canConnect = 1,\n\n ...queryParams\n}: RequestDto): IRequest => {\n const type = [\n connectedInTariff ? 'connectedInTariff' : '',\n connectedOutTariff ? 'connectedOutTariff' : '',\n canConnect ? 'canConnect' : '',\n ];\n\n return ({\n uri: '/v2/tv-packets',\n method: 'GET',\n withProvider: true,\n withAuth: true,\n queryParams: {\n ...queryParams,\n channels,\n costRa,\n packetId,\n type,\n },\n });\n};\n\nexport default getTvPackets;\n"],"names":["CountPrice","styled","COLORS","BorderRadius","hex2rgb","DiscountLabel","Label","DiscountUpTo","FONTS","DiscountValue","Count","p","textColor","Price","MultibundlePrice","priceColor","count","discount","price","ST","bgColor","Widget","children","ImageBlock","Image","HeaderBlock","ContentBlock","PeriodData","Name","Description","Info","FooterBlock","PriceInfo","PriceWrap","Kebab","InfoPaymentWrap","ButtonGroup","Wrapper","wideBreakpoints","bgImage","css","maxRow","textOverflowLineClamp","Svg","KebabMenu","WidgetWrapper","WidgetContent","withPromo","WidgetName","CountPricesBlock","WidgetInfo","WidgetButton","BaseButton","multibundleLink","multibundle","onBtnClick","className","additionalProps","contentData","image","imageWebp","pricesV2","advertising","priceOptions","promoInfo","useMemo","find","lifeTimePromoTypeId","isAuth","useSelector","state","auth","router","useRouter","widgetBgImage","useWebp","onClickHandler","useCallback","push","USER_LOGIN_ROUTE","duration","value","RubleSymbol","map","priceOption","index","body","dangerouslySetInnerHTML","__html","type","btnTypes","size","btnSizes","text","onClick","NonStaticContainer","$united","$top","$right","AdvertisingLabelWithTooltip","companyName","erid","tooltip","position","channelFormatterForEpg","channels","rest","channel","button","lcn","logo","channelInfo","chid","channelId","xvid","epgId","biglogo","bigLogo","description","display","hd","quality","title","url","theme","category","thid","rndId","formatterEpg","data","canConnect","connectElement","connectedInTariff","connectedInTariffElement","connectedOutTariff","connectedOutTariffElement","fetchProfileTvPackages","params","dispatch","resp","terminalId","ETvPackagesActionTypes","payload","fetching","doRequest","getTvPackets","isSuccess","fetchError","error","message","fetchTvPackages","getState","notNullPrice","active","with","providerId","city","provider","getPackageChannels","allPackages","uri","method","queryParams","headers","costRa","packetId","withProvider","withAuth"],"sourceRoot":""}