{"version":3,"file":"static/chunks/733-c20d90714e57321f.js","mappings":"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","sources":["webpack://_N_E/./src/entities/vases/PartnerServices/components/popups/Stopper/index.tsx","webpack://_N_E/./src/entities/vases/store/actions/thunk/initialize.ts","webpack://_N_E/./src/entities/vases/store/actions/thunk/loadSubscriptions.ts"],"sourcesContent":["import { batch } from 'react-redux';\nimport styled from 'styled-components';\n\nimport Button from '@r1-frontend/ui-react/components/buttons/button';\nimport { ButtonGroup } from '@r1-frontend/ui-react/components/buttons/buttonGroup/ButtonGroup';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport DefaultPopup from '@r1-frontend/ui-react/components/popups/defaultPopup';\nimport { H3 } from '@r1-frontend/ui-react/components/typography/heading';\nimport { Paragraph4 } from '@r1-frontend/ui-react/components/typography/paragraph';\nimport { IndentContainer, ListContainer } from '@r1-frontend/ui-react/experimental/containers';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nimport {\n setIsStopperApplied,\n toggleIsShowStopper,\n} from '~/src/entities/vases/PartnerServices/actions';\nimport { connect, disconnect } from '~/src/entities/vases/PartnerServices/actions/thunk';\nimport { useContextDispatch, useContextSelector } from '~/src/entities/vases/PartnerServices/hooks';\nimport { connectAnalytics, disconnectAnalytics } from '~/src/features/lk/vases/analytics';\n\ninterface IProps {\n className?: string,\n}\nconst Stopper = ({ className }: IProps): JSX.Element => {\n const dispatch = useContextDispatch();\n\n const { stopper, isShowStopper, serviceTitle, categoryAlias, socId } = useContextSelector(state => ({\n isShowStopper: state.isShowStopper,\n serviceTitle: state.serviceDetails?.title || '',\n categoryAlias: state.serviceDetails?.categoryAlias,\n socId: state.serviceDetails?.socId,\n stopper: state.serviceDetails?.stopper,\n }));\n\n const analyticsProps = {\n name: serviceTitle,\n promoType: categoryAlias,\n id: socId,\n };\n\n const onDisconnectHandler = () => {\n disconnectAnalytics.continueDisconnectClicked(analyticsProps);\n batch(() => {\n dispatch(toggleIsShowStopper(false));\n dispatch(disconnect());\n });\n };\n\n const onDiscountHandler = () => {\n connectAnalytics.stopper.onDiscountClicked(analyticsProps);\n batch(() => {\n dispatch(toggleIsShowStopper(false));\n dispatch(setIsStopperApplied(true));\n dispatch(connect());\n });\n };\n\n const onCloseHandler = () => {\n dispatch(toggleIsShowStopper(false));\n };\n\n return (\n \n \n \n \n {stopper?.popup?.title}
\n {stopper?.popup?.body}\n \n \n \n \n \n \n \n \n );\n};\n\nexport default styled(Stopper)`\n ${IndentContainer} {\n background-image: url('/static/images/lk/stopper-bg.jpg');\n background-size: cover;\n background-position: top;\n background-repeat: no-repeat;\n > ${ListContainer} > ${ListContainer} {\n max-width: 320px;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n ${H3} {\n width: calc(100% - 40px);\n }\n }\n }\n }\n`;\n","import { batch } from 'react-redux';\n\nimport { doRequest } from '@r1-frontend/do-request';\nimport { vas } from '@r1-frontend/api-domru/api-profile/v1/vas/';\nimport { IVasInfo } from '@r1-frontend/api-domru/api-profile/v1/vas/dto/ResponseDto';\nimport { IGetLinkResponseDto, profileLink } from '@r1-frontend/api-domru/gamers-base/v1/profile/link';\n\nimport { EVasCategory, EVasContentType } from '~/src/features/lk/vases/types/EVasCategory';\nimport { TAppThunkDispatch, TGetState } from '~/src/store';\nimport {\n setGamersBaseUrl,\n vasLoaded as setVas,\n vasSubscriptionsLoaded as setOnlineCinemas,\n vasSubscriptionsLoading as setOnlineCinemasLoading,\n} from '~/src/store/actionCreators/vas';\nimport { fetchProfileTvPackages } from '~/src/store/actions/tvPackages';\nimport { prepareCategories } from '~/src/store/actions/vas';\nimport { selectDomain } from '~/src/store/selectors/domain';\nimport selectProviderId from '~/src/store/selectors/selectProviderId';\nimport { selectTerminalResource } from '~/src/store/selectors/service';\n\nimport { loadSubscriptions } from '.';\n\nconst initialize = () => async(dispatch: TAppThunkDispatch, getState: TGetState) => {\n const state = getState();\n const trId = selectTerminalResource(state);\n const domain = selectDomain(state);\n const providerId = selectProviderId(state);\n\n batch(() => {\n dispatch(setOnlineCinemasLoading());\n dispatch(fetchProfileTvPackages());\n });\n\n const [vasResponse, gamesBaseLinkResponse] = await Promise.all([\n doRequest.apiProfile(\n vas({\n categories: prepareCategories([\n EVasCategory.service,\n EVasCategory.onlineCinemas,\n EVasCategory.watchControl,\n EVasCategory.watchEverywhere,\n EVasCategory.games,\n EVasCategory.partnerService,\n EVasCategory.multimedia,\n EVasCategory.speedBonuses,\n EVasCategory.tv,\n ]),\n withContentData: 1,\n withTVPacketsData: 1,\n trId,\n mobileVas: 0,\n contentTypeIdExclude: String(EVasContentType.games),\n }),\n ),\n doRequest.gamersBase(\n profileLink(providerId, domain),\n ),\n ]);\n\n let isGamersBaseActive = false;\n\n if (vasResponse.isSuccess) {\n const GAMERS_BASE_SERVICE_IDS = [102718, 104873, 104879]; // @todo: refactor\n const onlineCinemas: IVasInfo[] = [];\n dispatch(setVas(vasResponse.payload));\n for (const item of vasResponse.payload) {\n if (item.type === 'multibundle' || item.contentTypeId === EVasContentType.onlineCinemas) {\n onlineCinemas.push(item);\n }\n if (item.activeVas && GAMERS_BASE_SERVICE_IDS.includes(item.serviceId)) { // @todo: duplicates code from src/store/actions/vas\n isGamersBaseActive = true;\n }\n }\n dispatch(setOnlineCinemas(onlineCinemas));\n }\n if (gamesBaseLinkResponse.isSuccess && isGamersBaseActive) {\n dispatch(setGamersBaseUrl(gamesBaseLinkResponse.payload.url));\n }\n dispatch(loadSubscriptions());\n};\n\nexport default initialize;\n","import { batch } from 'react-redux';\n\nimport { doRequest } from '@r1-frontend/do-request/index';\nimport { vas as profileVas } from '@r1-frontend/api-domru/api-profile/v1/vas/';\nimport { IVasInfo } from '@r1-frontend/api-domru/api-profile/v1/vas/dto/ResponseDto';\nimport vas from '@r1-frontend/api-domru/widgets/v1/vas';\nimport { TResponseDto } from '@r1-frontend/api-domru/widgets/v1/vas/dto/ResponseDto';\n\nimport { initialize as initialization, setLoaded, setLoading } from '~/src/entities/vases/store/actions';\nimport { TFilterCategory, TVasService } from '~/src/entities/vases/store/reducer';\nimport { prepareServices } from '~/src/entities/vases/store/transformers';\nimport { EVasCategory } from '~/src/features/lk/vases/types/EVasCategory';\nimport { TAppThunkDispatch, TGetState } from '~/src/store';\nimport { prepareCategories } from '~/src/store/actions/vas';\nimport { selectIsAuth } from '~/src/store/selectors/auth/selectIsAuth';\nimport { selectTerminalResource } from '~/src/store/selectors/service';\nimport { IMultibundleAdditional } from '~/src/store/selectors/vas';\n\ntype TLoadSubscriptionsProps = {\n withMultibundle?: boolean,\n withWatchControl?: boolean,\n selectedCategory?: TFilterCategory | null,\n}\n\nconst loadSubscriptions = (\n {\n withMultibundle,\n withWatchControl,\n\n selectedCategory = null,\n }: TLoadSubscriptionsProps = {},\n) => async(dispatch: TAppThunkDispatch, getState: TGetState) => {\n const state = getState();\n const trId = selectTerminalResource(state);\n const isAuth = selectIsAuth(state);\n\n /**\n * Получение подписок может вызываться как по месту, так и в корне родительских страниц\n * для раннего кеширования. В таких случаях проверяем, что запрос уже идет и новый не вызываем\n */\n if (state?.vasReducer?.loading) {\n return;\n }\n\n dispatch(setLoading(true));\n\n const response = await doRequest.apiWidgets(\n vas({\n categories: [\n 'partnerService',\n 'antiviruses',\n 'speedBonuses',\n 'subscriptions',\n 'tvPackages',\n 'gameService',\n 'additionalTVAndMovixServices',\n ],\n }),\n );\n\n let multibundle: IVasInfo | null = null;\n\n /**\n * TODO - убрать, когда все васы перейдут в api widgets.\n * Задача - https://ticket.ertelecom.ru/browse/WEB-48934\n * */\n if ((withMultibundle || withWatchControl) && isAuth) {\n const categories: EVasCategory[] = [];\n\n withMultibundle && categories.push(EVasCategory.onlineCinemas);\n withWatchControl && categories.push(EVasCategory.watchControl);\n\n const profileVasResponse = await doRequest.apiProfile(\n profileVas({\n categories: prepareCategories(categories),\n withContentData: 1,\n withTVPacketsData: 1,\n trId,\n mobileVas: 0,\n }),\n );\n\n if (profileVasResponse.isSuccess) {\n for (const item of profileVasResponse.payload) {\n if (item.type === 'multibundle' && !item.activeVas) {\n multibundle = >item;\n }\n }\n }\n }\n\n if (response.isSuccess) {\n const preparedServices = prepareServices(response.payload.available);\n\n const available: TVasService = {\n ...preparedServices,\n subscriptions: {\n ...preparedServices.subscriptions,\n multibundle,\n },\n };\n\n batch(() => {\n dispatch(initialization({\n connected: prepareServices(response.payload.connected),\n available,\n selectedCategory,\n }));\n dispatch(setLoaded(true));\n });\n }\n\n dispatch(setLoading(false));\n};\n\nexport default loadSubscriptions;\n"],"names":["styled","stopper","className","dispatch","useContextDispatch","useContextSelector","state","isShowStopper","serviceTitle","serviceDetails","title","categoryAlias","socId","analyticsProps","name","promoType","id","DefaultPopup","isOpen","onClose","toggleIsShowStopper","IndentContainer","$desktop","$mobile","ListContainer","$direction","$wrap","$size","H3","$withIndent","popup","Paragraph4","$color","COLORS","body","ButtonGroup","Button","size","bType","onClick","connectAnalytics","batch","setIsStopperApplied","connect","disconnectAnalytics","disconnect","wideBreakpoints","getState","trId","domain","providerId","vasResponse","gamesBaseLinkResponse","isGamersBaseActive","GAMERS_BASE_SERVICE_IDS","onlineCinemas","item","selectTerminalResource","selectDomain","selectProviderId","setOnlineCinemasLoading","fetchProfileTvPackages","Promise","all","doRequest","vas","categories","prepareCategories","EVasCategory","withContentData","withTVPacketsData","mobileVas","contentTypeIdExclude","String","EVasContentType","profileLink","isSuccess","setVas","payload","type","contentTypeId","push","activeVas","includes","serviceId","setOnlineCinemas","setGamersBaseUrl","url","loadSubscriptions","withMultibundle","withWatchControl","selectedCategory","isAuth","response","multibundle","profileVasResponse","preparedServices","available","selectIsAuth","vasReducer","loading","setLoading","profileVas","prepareServices","subscriptions","initialization","connected","setLoaded"],"sourceRoot":""}