{"version":3,"file":"static/chunks/5029-7dcda2f710f0eeae.js","mappings":"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","sources":["webpack://_N_E/./src/features/payments-abn/components/AgreementInfo/styled.ts","webpack://_N_E/./src/features/payments-abn/components/AgreementInfo/autoPayInfo.tsx","webpack://_N_E/./src/features/payments-abn/components/AgreementInfo/index.tsx","webpack://_N_E/./src/features/payments-abn/components/CardsList/card.tsx","webpack://_N_E/./src/features/payments-abn/components/CardsList/index.tsx","webpack://_N_E/./src/features/payments-abn/components/CardsList/styled.ts","webpack://_N_E/./src/features/payments-abn/components/InfoSection/styled.ts","webpack://_N_E/./src/features/payments-abn/components/InfoSection/index.tsx","webpack://_N_E/./src/features/payments-abn/models.ts","webpack://_N_E/../../packages/api-domru/src/api-profile/v1/payments/period-structure/index.ts","webpack://_N_E/./src/features/payments-abn/helpers/getPeriodData.ts","webpack://_N_E/./src/features/payments-abn/components/PaymentCheck/styled.ts","webpack://_N_E/./src/features/payments-abn/components/PaymentCheck/chargeItem.tsx","webpack://_N_E/./src/features/payments-abn/components/PaymentCheck/index.tsx","webpack://_N_E/./src/features/payments-abn/components/PopupResult/styled.ts","webpack://_N_E/./src/features/payments-abn/components/PopupResult/index.tsx","webpack://_N_E/../../packages/api-domru/src/api-pay/v1/autopayment/deactivate.ts","webpack://_N_E/../../packages/api-domru/src/api-pay/v1/card/remove.ts","webpack://_N_E/../../packages/ui-react/src/components/KebabMenu/styled.ts","webpack://_N_E/../../packages/ui-react/src/components/KebabMenu/index.tsx","webpack://_N_E/../../packages/ui-react/src/components/svg/main/Check.tsx","webpack://_N_E/../../packages/ui-react/src/organisms/ToggleCard/styled.ts","webpack://_N_E/../../packages/ui-react/src/organisms/ToggleCard/index.tsx","webpack://_N_E/../../packages/ui-react/src/assets/img/icons/three-dots.svg"],"sourcesContent":["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\nexport const Wrapper = styled.div`\n flex-direction: column;\n margin-top: 4px;\n`;\n\nexport const Info = styled.div`\n white-space: pre-wrap;\n`;\n\nexport const Text = styled.p`\n ${FONTS.S};\n color: ${COLORS.TextSecondary};\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n ${FONTS.XS};\n }\n`;\n\nexport const Balance = styled.p`\n ${FONTS.S};\n color: ${COLORS.TextSecondary};\n margin-top: 4px;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n ${FONTS.XS};\n }\n`;\n\nexport const SetupButton = styled(BaseButton)`\n margin: 16px 0;\n`;\n\nexport const Agreement = styled(Balance)`\n ${FONTS.XS};\n`;\n","import { ReactNode } from 'react';\n\nimport { RubleSymbol } from '@r1-frontend/ui-react/experimental/purchase/cost/Cost/RubleSymbol';\n\nimport { ddmm } from '~/src/helpers/date';\n\nimport { Info, Text, Wrapper } from './styled';\n\ninterface IProps {\n autoPayStatus?: boolean,\n comingPayDay?: string,\n paySum?: number,\n children?: ReactNode | null,\n}\n\nconst AutoPayInfo = ({ autoPayStatus, comingPayDay, paySum, children }: IProps): JSX.Element => {\n const localePayDay = comingPayDay\n ? ddmm(new Date(comingPayDay).toLocaleString('ru-RU'))\n : '';\n\n return (\n \n {autoPayStatus && !!comingPayDay && Автоплатёж подключен,}\n \n \n {localePayDay\n ? `${localePayDay} будет списано ${paySum} ${RubleSymbol}.`\n : `Автоплатёж ${autoPayStatus ? '' : 'не '}подключен. `\n }\n \n {children}\n \n \n );\n};\n\nexport default AutoPayInfo;\n","import React, { FC } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { btnSizes, btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { RubleSymbol } from '@r1-frontend/ui-react/experimental/purchase/cost/Cost/RubleSymbol';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\n\nimport InfoSection from '~/src/features/payments-abn/components/InfoSection';\nimport { pushDataLayer } from '~/src/features/payments-abn/helpers/pushDataLayer';\nimport { TState } from '~/src/store';\n\nimport AutoPayInfo from './autoPayInfo';\n\nimport { Agreement, Balance, SetupButton } from './styled';\n\nconst AgreementInfo: FC = ({ children }) => {\n const { clientPayment, clientPersonal } = useSelector((state: TState) => state.auth);\n\n const isTablet = useMatchMedia(`(max-width: ${wideBreakpoints.tablet})`);\n const isMobile = useMatchMedia(`(max-width: ${wideBreakpoints.mobile})`);\n\n const { balance, bindingCards, paySum, payIsDeny } = clientPayment || {};\n const { agreement } = clientPersonal || {};\n\n const { autoPayStatus, comingPayDay } = bindingCards?.find(card => !!card.autoPayStatus) || {};\n\n return (\n \n \n \n {children}\n \n Баланс: {balance} {RubleSymbol}\n pushDataLayer('click on balance history', 'click')}\n />\n Договор {agreement}\n \n \n );\n};\n\nexport default AgreementInfo;\n","import { useMemo } from 'react';\nimport { useRouter } from 'next/router';\n\nimport { IBindingCard } from '@r1-frontend/api-domru/api-profile/v2/info/all/dto/ResponseDto';\n\nimport { IKebabItem } from '@r1-frontend/ui-react/components/KebabMenu';\n\nimport { pushDataLayer } from '~/src/features/payments-abn/helpers/pushDataLayer';\n\nimport * as ST from './styled';\n\nexport enum ECardKebabAction {\n SETUP = 'setup',\n REMOVE = 'remove',\n CONNECT = 'connect',\n DISCONNECT = 'disconnect',\n}\n\nconst cardKebabItems: IKebabItem[] = [\n {\n value: ECardKebabAction.SETUP,\n label: 'Настроить автоплатёж',\n },\n {\n value: ECardKebabAction.CONNECT,\n label: 'Подключить автоплатёж',\n },\n {\n value: ECardKebabAction.DISCONNECT,\n label: 'Отключить автоплатёж',\n },\n {\n value: ECardKebabAction.REMOVE,\n label: 'Удалить карту',\n },\n];\n\ninterface IProps {\n card: IBindingCard,\n onSelectMenu: (item?: IKebabItem) => void,\n}\n\nconst Card = ({ card, onSelectMenu }: IProps): JSX.Element => {\n const { numberWithPaySystem, paySystem, autoPayStatus } = card;\n\n const router = useRouter();\n const { pathname } = router;\n\n const currentKebabMenu = useMemo(() => {\n if (pathname === '/lk/user/autopay') {\n return cardKebabItems.filter(item => item.value === ECardKebabAction.REMOVE);\n }\n\n if (autoPayStatus) {\n return cardKebabItems.filter(item => item.value !== ECardKebabAction.CONNECT);\n } else {\n return cardKebabItems.filter(item => item.value === ECardKebabAction.CONNECT || item.value === ECardKebabAction.REMOVE);\n }\n }, [autoPayStatus, pathname]);\n\n return (\n \n \n \n \n {numberWithPaySystem}\n pushDataLayer('settings binding cards', 'open settings')}\n data-test='card-kebab'\n />\n \n );\n};\n\nexport default Card;\n","import { FC, useCallback, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { captureException } from '@sentry/node';\nimport { useRouter } from 'next/router';\n\nimport { doRequest } from '@r1-frontend/do-request/index';\nimport { deactivateAutopayment } from '@r1-frontend/api-domru/api-pay/v1/autopayment/deactivate';\nimport { IAutoPaymentDeactivate } from '@r1-frontend/api-domru/api-pay/v1/autopayment/dto/IAutoPaymentDeactivate';\nimport { deleteCard } from '@r1-frontend/api-domru/api-pay/v1/card/remove';\nimport { IBindingCard } from '@r1-frontend/api-domru/api-profile/v2/info/all/dto/ResponseDto';\n\nimport { BaseButton, btnSizes, btnTypes } 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 InfoSection from '~/src/features/payments-abn/components/InfoSection';\nimport ResultPopup, { defaultPopupState } from '~/src/features/payments-abn/components/PopupResult';\nimport { pushDataLayer } from '~/src/features/payments-abn/helpers/pushDataLayer';\nimport { selectCardsWithPaySystem } from '~/src/features/payments-abn/store/selectors/cards';\nimport { TState } from '~/src/store';\nimport { getClientAll } from '~/src/store/actions/auth/getClientAll';\nimport { getClientPayment } from '~/src/store/actions/auth/getClientPayment';\nimport { openChat } from '~/src/store/actions/chat';\n\nimport Card, { ECardKebabAction } from './card';\n\nimport * as ST from './styled';\n\nconst CardsList: FC = () => {\n const router = useRouter();\n const dispatch = useDispatch();\n const {\n auth: { accessToken },\n city: { provider: { providerId } },\n } = useSelector((state: TState) => state);\n const { isCards, isAutoPayCard, cardGroups } = useSelector(selectCardsWithPaySystem) || {};\n\n const [isWaitingStatus, setIsWaitingStatus] = useState(false);\n const [isOpenCardsList, setIsOpenCardsList] = useState(false);\n const [isSuccessAction, setIsSuccessAction] = useState(false);\n const [popupState, setPopupState] = useState(defaultPopupState);\n\n const onToggleHandler = useCallback(() => {\n setIsOpenCardsList(!isOpenCardsList);\n pushDataLayer(isOpenCardsList ? 'roll up my card' : 'expand my card', 'click');\n }, [isOpenCardsList]);\n\n const setUpAutoPay = useCallback((label: 'set up' | 'enable') => {\n pushDataLayer('settings autopayments', label);\n router.push('/lk/user/autopay');\n }, [router]);\n\n const onActionResult = useCallback((type: EResultPopupStatus, title: string) => {\n setPopupState({\n isOpen: true,\n type,\n title,\n text: type === 'error'\n ? \n Попробуйте ещё раз или напишите в 

dispatch(openChat())}>поддержку

\n
\n : '',\n });\n }, [dispatch]);\n\n const deactivateAutoPay = useCallback(async(card: IBindingCard) => {\n pushDataLayer('disable autopayments', 'click');\n setIsWaitingStatus(true);\n\n try {\n const resp = await doRequest.apiPay(\n deactivateAutopayment(providerId, card.id),\n );\n const isSuccess = resp.isSuccess;\n\n pushDataLayer('disable autopayments', isSuccess ? 'success' : 'error');\n setIsSuccessAction(isSuccess);\n onActionResult(\n isSuccess ? EResultPopupStatus.SUCCESS : EResultPopupStatus.ERROR,\n isSuccess ? 'Вы отключили автоплатёж' : 'Не удалось отключить автоплатёж',\n );\n } catch (error) {\n captureException(error);\n }\n\n setIsWaitingStatus(false);\n }, [providerId, accessToken, onActionResult]);\n\n const disconnectAutoPay = useCallback((card: IBindingCard) => {\n setPopupState({\n isOpen: true,\n title: 'Отключить автоплатёж?',\n text: 'Если отключить автоплатёж, придётся пополнять лицевой счёт вручную.',\n actions: \n setPopupState(defaultPopupState)}\n />\n deactivateAutoPay(card)}\n isLoading={isWaitingStatus}\n />\n ,\n });\n }, [deactivateAutoPay, isWaitingStatus]);\n\n const deleteCardHandler = useCallback(async(card: IBindingCard) => {\n setIsWaitingStatus(true);\n\n try {\n const resp = await doRequest.apiPay(\n deleteCard(providerId, card.id),\n );\n const isSuccess = resp.isSuccess;\n\n pushDataLayer('delete card', isSuccess ? 'success' : 'error');\n setIsSuccessAction(isSuccess);\n onActionResult(\n isSuccess ? EResultPopupStatus.SUCCESS : EResultPopupStatus.ERROR,\n isSuccess ? `Удалили карту ${card.numberWithPaySystem}` : 'Не удалось удалить карту',\n );\n dispatch(getClientPayment());\n } catch (error) {\n captureException(error);\n }\n\n setIsWaitingStatus(false);\n }, [providerId, accessToken, onActionResult, dispatch]);\n\n const removeCard = useCallback((card: IBindingCard) => {\n pushDataLayer('delete card', 'click');\n setPopupState({\n isOpen: true,\n title: 'Удалить карту?',\n text: 'Тогда в следующий раз придётся вводить данные карты вручную.',\n actions: \n setPopupState(defaultPopupState)}\n />\n deleteCardHandler(card)}\n isLoading={isWaitingStatus}\n />\n ,\n });\n }, [deleteCardHandler, isWaitingStatus]);\n\n const onSelectMenu = useCallback((card: IBindingCard, item?: IKebabItem) => {\n switch (item?.value) {\n case ECardKebabAction.CONNECT:\n setUpAutoPay('enable');\n break;\n case ECardKebabAction.SETUP:\n setUpAutoPay('set up');\n break;\n case ECardKebabAction.DISCONNECT:\n disconnectAutoPay(card);\n break;\n case ECardKebabAction.REMOVE:\n removeCard(card);\n break;\n }\n }, [removeCard, disconnectAutoPay, setUpAutoPay]);\n\n const onClosePopup = useCallback(() => {\n isSuccessAction && dispatch(getClientAll());\n setPopupState(defaultPopupState);\n }, [dispatch, isSuccessAction]);\n\n return (isCards\n ? \n \n {cardGroups?.map(group => {\n const { blockTitle, cardsList } = group;\n\n return cardsList.length\n ? \n {isAutoPayCard && {blockTitle}}\n {cardsList.map(card => (\n onSelectMenu(card, item)}\n />\n ))}\n \n : null;\n })}\n \n \n \n : null\n );\n};\n\nexport default CardsList;\n","import styled from 'styled-components';\n\nimport { KebabMenu } from '@r1-frontend/ui-react/components/KebabMenu';\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 CardsBlock = styled.div`\n flex-direction: column;\n width: 100%;\n position: relative;\n\n &:not(:last-child) {\n margin-bottom: 24px;\n }\n`;\n\nexport const BlockTitle = styled.p`\n ${FONTS.S};\n color: ${COLORS.TextSecondary};\n margin-bottom: 12px;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n ${FONTS.XS};\n }\n`;\n\nexport const CardWrapper = styled.div`\n flex-wrap: nowrap;\n align-items: center;\n padding: 12px 16px;\n border-radius: ${BorderRadius.componentRadius};\n background-color: ${COLORS.BgMain};\n\n &:not(:last-child) {\n margin-bottom: 8px;\n }\n`;\n\nexport const CardImage = styled.div`\n align-items: center;\n justify-content: center;\n width: 56px;\n height: 40px;\n margin-right: 12px;\n\n img {\n width: 100%;\n height: 100%;\n object-position: center;\n object-fit: cover;\n }\n`;\n\nexport const CardNumber = styled.p`\n ${FONTS.S};\n color: ${COLORS.ButtonPrimary};\n margin-right: auto;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n ${FONTS.XS};\n }\n`;\n\nexport const CardMenu = styled(KebabMenu)`\n width: 24px;\n height: 24px;\n margin-left: 12px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n\n div[data-name='popup-menu'] {\n top: 39px;\n right: -24px;\n z-index: 1;\n }\n`;\n\nexport const ErrorDisconnectText = styled.div`\n ${FONTS.S};\n color: ${COLORS.TextInfo};\n\n p {\n color: ${COLORS.Link};\n cursor: pointer;\n }\n`;\n\nexport const DeactivatePopupActions = styled.div`\n gap: 12px;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n flex-direction: column;\n width: 100%;\n }\n`;\n","import styled, { css } from 'styled-components';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport Accordion from '@r1-frontend/ui-react/deprecated/Accordion';\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 Wrapper = styled.div`\n flex-direction: column;\n padding: 24px;\n border-radius: ${BorderRadius.OuterBlockRadius};\n background-color: ${COLORS.BgSurface};\n`;\n\nexport const CollapsingWrapper = styled(Accordion)<{ open: boolean }>`\n padding: 24px;\n border-radius: ${BorderRadius.OuterBlockRadius};\n background-color: ${COLORS.BgSurface};\n\n & > div:first-child {\n ${FONTS.H3};\n color: ${COLORS.TextPrimary};\n\n & > span {\n width: 48px;\n height: 48px;\n\n svg {\n circle {\n stroke: ${COLORS.ButtonSecondary};\n fill: ${COLORS.ButtonSecondary};\n }\n\n path {\n stroke: ${COLORS.Control};\n }\n }\n }\n }\n\n & > div:last-child {\n overflow: ${p => p.open ? 'visible' : 'hidden'};\n\n & > div:first-child {\n margin: 0;\n display: none;\n }\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n padding: 12px 16px;\n border-radius: ${BorderRadius.componentRadius};\n\n & > div:first-child {\n ${FONTS.H5};\n\n & > span {\n width: 36px;\n height: 36px;\n }\n }\n }\n`;\n\nexport const Title = styled.h3`\n margin: 0;\n ${FONTS.H3};\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n ${FONTS.H5};\n }\n`;\n\nexport const CollapsingContent = styled.div<{ isAccordion: boolean }>`\n flex-direction: column;\n width: 100%;\n ${({ isAccordion }) => isAccordion && css`\n margin-top: 16px;\n `}\n`;\n","import { FC } from 'react';\n\nimport * as ST from './styled';\n\ninterface IProps {\n isAccordion?: boolean,\n isOpen?: boolean,\n defaultOpen?: boolean,\n title: string | JSX.Element,\n onToggle?: () => void,\n}\n\ninterface IInfoSection extends FC {\n Content: typeof ST.CollapsingContent,\n}\n\nconst InfoSection: IInfoSection = ({ isAccordion = true, defaultOpen, isOpen, title, onToggle, children }) => {\n const currentTitle = typeof title === 'string' ? {title} : title;\n\n return ((isAccordion && title)\n ? \n {children}\n \n : \n {currentTitle}\n {children}\n \n );\n};\n\nInfoSection.Content = ST.CollapsingContent;\n\nexport default InfoSection;\n","// @todo collect all product ids in the project and place it in one place\nexport enum EServiceId {\n INTERNET = 5,\n KTV = 12,\n TELEPHONY = 31,\n CKTV = 32,\n DOMRUTV = 53,\n}\n\nexport enum ECategoryId {\n others = 1,\n multimaster = 2,\n inGameContent = 3,\n content = 4,\n subscriptions = 5,\n watchControl = 6,\n parentControl = 7,\n antivirus = 8,\n constructor = 9,\n tvPacket = 10,\n equipment = 11,\n watchEverywhere = 12,\n multiroom = 13,\n saveHome = 14,\n insurance = 16,\n speedBonus = 18,\n ipAddress = 19,\n calls = 20,\n telephony = 21,\n suspension = 22,\n subscriptionFee = 23,\n stornoAdditional = 24,\n ppd = 441,\n}\n\ninterface IChargeSubcategoryRA {\n ra: string,\n RaActiveFrom: string,\n RaActiveTo: string,\n}\n\ninterface IChargeSubcategory {\n SubcategoryId: number,\n SubcategoryName: string,\n PlanName?: string,\n SubcategorySum: number,\n SubcategorySaleSum?: number,\n SubcategoryTotalSum: number,\n SubcategoryRa?: IChargeSubcategoryRA[],\n equipments?: string[],\n}\n\nexport interface IChargeCategory {\n CategoryId: ECategoryId,\n CategoryName: string,\n CategorySum: number,\n CategorySaleSum?: number,\n CategoryTotalSum: number,\n CategoryNote?: string,\n subcategories: IChargeSubcategory[],\n}\n\nexport interface IPeriodCharges {\n PeriodSum: number,\n PeriodSaleSum?: number,\n PeriodTotalSum: number,\n categories: IChargeCategory[],\n}\n\nexport interface IHeaderInfo {\n AgrDate: string,\n AgrNumber: number,\n AgrPayTypeName: string,\n AgreementTypeName: string,\n ClientName: string,\n PeriodRow: string,\n PlansList: string,\n plans: Record[],\n}\n","import { IRequest } from '@r1-frontend/shared/types/IRequest';\n\nimport { RequestDto } from './dto/RequestDto';\n\n/**\n * @deprecated use /v2/payments/period-structure instead\n */\nconst getPeriodStructure = (queryParams: RequestDto): IRequest => ({\n uri: '/v1/payments/period-structure',\n method: 'GET',\n withAuth: true,\n withProvider: true,\n queryParams,\n});\n\nexport type { RequestDto };\n\nexport default getPeriodStructure;\n","import dayjs from 'dayjs';\n\nimport { doRequest } from '@r1-frontend/do-request';\nimport getPaymentsPeriodStructure from '@r1-frontend/api-domru/api-profile/v1/payments/period-structure';\n\n/**\n * @param {Object} viewDate 22.10.2020\n * @returns {Promise<{\n * GetTime: string,\n * DateFrom: string,\n * DateTo: string,\n * HeaderInfo: {\n * AgrPayTypeName: string,\n * AgrDate: string\n * },\n * PeriodCharges: object,\n * PeriodPayments: object\n * }>}\n */\nexport const getPeriodData = async(viewDate: Date) => {\n const innerDate = (viewDate instanceof Date) ? dayjs(viewDate).format('DD.MM.YYYY') : viewDate;\n\n const resp = await doRequest.apiProfile(\n getPaymentsPeriodStructure({ date_from: innerDate, newApi: true }),\n );\n\n if (resp.isSuccess) {\n // @ts-ignore\n return resp.payload?.data?.result.GetPeriodStructure;\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\nexport const ChargesList = styled.div`\n padding-bottom: 32px;\n border-bottom: 2px solid ${COLORS.Control};\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n padding-bottom: 16px;\n }\n`;\n\nexport const ChargeDetail = styled.div`\n flex-direction: column;\n width: 100%;\n\n &:not(:last-child) {\n margin-bottom: 16px;\n }\n`;\n\nexport const PaymentInfo = styled.div`\n flex-wrap: nowrap;\n align-items: flex-start;\n\n &:not(:only-child) {\n margin-bottom: 5px;\n }\n`;\n\nexport const PaymentName = styled.div`\n ${FONTS.M}\n margin-right: auto;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n ${FONTS.S}\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n ${FONTS.XS}\n }\n`;\n\nexport const PaymentSum = styled.div`\n flex: 0 0 auto;\n align-items: center;\n ${FONTS.M};\n color: ${COLORS.TextPrimary};\n margin-left: 16px;\n\n span {\n ${FONTS.S};\n color: ${COLORS.TextInfo};\n margin-right: 4px;\n text-decoration: line-through;\n }\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n ${FONTS.S}\n\n span {\n ${FONTS.XS};\n }\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n ${FONTS.XS}\n\n span {\n ${FONTS.XXS}\n }\n }\n`;\n\nexport const PaymentDetail = styled.ul`\n list-style-type: disc;\n padding-left: 32px;\n\n li {\n color: ${COLORS.Brand_Blue};\n\n &:not(:last-child) {\n margin-bottom: 5px;\n }\n\n p {\n ${FONTS.M};\n color: ${COLORS.TextInfo};\n }\n }\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n li {\n p {\n ${FONTS.S};\n }\n }\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n padding-left: 30px;\n\n li {\n p {\n ${FONTS.XS};\n }\n }\n }\n`;\n\nexport const ShowMoreBtn = styled(BaseButton)`\n margin-top: 16px;\n`;\n\nexport const TotalPayment = styled.div`\n flex-direction: column;\n margin-top: 16px;\n`;\n\nexport const MonthDetail = styled.div`\n flex-direction: column;\n margin-bottom: 16px;\n`;\n\nexport const TotalRow = styled.div`\n flex-wrap: nowrap;\n align-items: flex-end;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n`;\n\nexport const TotalMonth = styled.div`\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: flex-end;\n`;\n\nexport const TotalText = styled.h4`\n ${FONTS.H4};\n\n &:last-child {\n white-space: nowrap;\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n ${FONTS.H5};\n }\n`;\n","import { RubleSymbol } from '@r1-frontend/ui-react/experimental/purchase/cost/Cost/RubleSymbol';\n\nimport { IChargeCategory } from '~/src/features/payments-abn/models';\n\nimport * as ST from './styled';\n\ninterface IProps {\n category: IChargeCategory,\n}\n\nconst ChargeItem = ({ category }: IProps): JSX.Element => {\n const { CategoryName, CategorySaleSum, CategorySum, CategoryTotalSum, subcategories } = category;\n\n return (\n \n \n {CategoryName}\n \n {!!CategorySaleSum && {Math.abs(CategorySum)} {RubleSymbol}}\n {Math.abs(CategoryTotalSum)} {RubleSymbol}\n \n \n \n {subcategories.map(subcategory => (\n
  • \n

    {subcategory.SubcategoryName}

    \n
  • \n ))}\n
    \n
    \n );\n};\n\nexport default ChargeItem;\n","import { FC, useCallback, useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { btnSizes, btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { Cost } from '@r1-frontend/ui-react/experimental/purchase/cost';\nimport { getPluralize } from '@r1-frontend/shared/helpers/pluralize';\nimport { channelPluralize } from '@r1-frontend/shared/helpers/pluralize/predifined';\n\nimport InfoSection from '~/src/features/payments-abn/components/InfoSection';\nimport { getPeriodData } from '~/src/features/payments-abn/helpers/getPeriodData';\nimport { pushDataLayer } from '~/src/features/payments-abn/helpers/pushDataLayer';\nimport { ECategoryId, EServiceId, IPeriodCharges } from '~/src/features/payments-abn/models';\nimport { monthString } from '~/src/helpers/date';\nimport { TState } from '~/src/store';\n\nimport ChargeItem from './chargeItem';\n\nimport * as ST from './styled';\n\nconst channelsText = getPluralize(channelPluralize);\n\nconst PaymentCheck: FC = () => {\n const currentMonth = monthString(new Date());\n\n const { clientProducts } = useSelector((state: TState) => state.auth);\n\n const [charges, setCharges] = useState();\n const [isOpen, setIsOpen] = useState(false);\n const [isShowingAll, setIsShowingAll] = useState(false);\n\n const fetchPeriodCharges = useCallback(async() => {\n const { PeriodCharges } = await getPeriodData(new Date());\n\n const _charges = { ...PeriodCharges } as IPeriodCharges;\n _charges.categories?.forEach(category => {\n const { CategoryId, subcategories } = category;\n\n if (CategoryId === ECategoryId.subscriptionFee) {\n category.CategoryName += ` за тариф ${subcategories[0].PlanName}`;\n\n subcategories.forEach(subcategory => {\n const subcategoryService = clientProducts?.services.find(service => service.planName === subcategory.PlanName);\n\n if (subcategoryService) {\n const { productId, specification, planName } = subcategoryService;\n switch (productId) {\n case EServiceId.INTERNET:\n subcategory.SubcategoryName += `: ${specification} Мбит/сек`;\n break;\n case EServiceId.TELEPHONY:\n subcategory.SubcategoryName += `: ${planName} тариф`;\n break;\n case EServiceId.KTV:\n case EServiceId.CKTV:\n case EServiceId.DOMRUTV:\n subcategory.SubcategoryName += `: ${specification} ${channelsText(specification)}`;\n break;\n }\n }\n });\n }\n\n if (CategoryId === ECategoryId.equipment) {\n subcategories.forEach(subcategory => {\n if (subcategory.equipments?.length) {\n subcategory.SubcategoryName = subcategory.equipments[0];\n }\n });\n }\n });\n\n setCharges(_charges);\n }, [clientProducts]);\n\n useEffect(() => {\n fetchPeriodCharges();\n }, []);\n\n const onToggleOpen = useCallback(() => {\n setIsOpen(!isOpen);\n pushDataLayer(isOpen ? 'roll up receipt' : 'expand receipt', 'click');\n }, [isOpen]);\n\n const { PeriodTotalSum = 0, categories = [] } = charges || {};\n\n return (charges\n ? \n \n \n {categories.map((category, index) => {\n if (!isShowingAll && index > 1) {\n return null;\n }\n return ;\n })}\n {categories.length > 2 && (\n setIsShowingAll(!isShowingAll)}\n />\n )}\n \n \n \n \n Ежемесячный платёж:\n \n {Math.abs(PeriodTotalSum)}\n \n \n \n \n Итого за {currentMonth}:\n \n {Math.abs(PeriodTotalSum)}\n \n \n \n \n \n : null\n );\n};\n\nexport default PaymentCheck;\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 { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nexport const PopupTitle = styled.h3`\n ${FONTS.H3};\n`;\n\nexport const PopupFooter = styled.div`\n margin-top: 16px;\n gap: 12px;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n flex-direction: column;\n }\n`;\n\nexport const Button = styled(BaseButton)`\n @media (max-width: ${wideBreakpoints.mobile}) {\n width: 100%;\n }\n`;\n","import { btnSizes, btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport PopupResult, { EResultPopupStatus } from '@r1-frontend/ui-react/components/popups/popupResult';\n\nimport * as ST from './styled';\n\nexport interface IPopupState {\n isOpen: boolean,\n title: JSX.Element | string,\n text?: JSX.Element | string,\n type?: EResultPopupStatus,\n actions?: JSX.Element,\n}\n\ninterface IPopupProps extends IPopupState {\n onClose: () => void,\n isLoading?: boolean,\n}\n\nexport const defaultPopupState: IPopupState = {\n isOpen: false,\n title: '',\n};\n\nconst ResultPopup = ({ isOpen, title, text, type = EResultPopupStatus.DEFAULT, actions, onClose }: IPopupProps): JSX.Element => {\n const stTitle = {title};\n const _defaultButton = ;\n\n return (\n \n \n {actions || _defaultButton}\n \n \n );\n};\n\nexport default ResultPopup;\n","import { IRequest } from '@r1-frontend/shared/types/IRequest';\n\n/*\n* https://master.api-pay.sandbox.d2c.r-one.io/docs/v1#/Autopayment/778cc353ec5713d3441bab439999f1c2\n*\n*/\n\nexport const deactivateAutopayment = (providerId: number, bindingCardId: number): IRequest => ({\n uri: '/autopayment/deactivate',\n withAuth: true,\n withProvider: true,\n method: 'POST',\n body: JSON.stringify({ binding_id: bindingCardId }),\n queryParams: {\n providerId,\n },\n});\n","import { IRequest } from '@r1-frontend/shared/types/IRequest';\n\n/*\n* Удаление привязанной карты клиента и списка привязанных карт.\n* https://master.api-pay.sandbox.d2c.r-one.io/docs/v1#/Card/c323bbb4efc4c87745c4f02d33e065d7\n*/\n\nexport const deleteCard = (providerId: number, binding_id: number): IRequest => ({\n uri: `/card/remove?binding_id=${binding_id}`,\n withAuth: true,\n withProvider: true,\n method: 'DELETE',\n queryParams: {\n providerId,\n },\n});\n","import styled from 'styled-components';\n\nimport threeDots from '@r1-frontend/ui-react/assets/img/icons/three-dots.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';\n\nexport const KebabMenu = styled.div`\n position: relative;\n justify-content: center;\n align-items: center;\n width: 20px;\n height: 20px;\n background-image: url(${threeDots});\n background-repeat: no-repeat;\n background-position: center;\n cursor: pointer;\n`;\n\nexport const MenuPopup = styled.div`\n position: absolute;\n top: 23px;\n right: -8px;\n min-width: 157px;\n border-radius: ${BorderRadius.componentRadius};\n overflow: hidden;\n background-color: ${COLORS.BgMain};\n box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);\n z-index: 1;\n`;\n\nexport const MenuRow = styled.div`\n width: 100%;\n padding: 12px 24px;\n ${FONTS.XS};\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n\n &:hover {\n background-color: ${COLORS.GRAY_LIGHT};\n }\n`;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\n\nimport * as ST from './styled';\n\nexport interface IKebabItem {\n value: string,\n label: string,\n}\n\nexport interface KebabMenuProps {\n menuItems: IKebabItem[],\n onSelectMenu: (item: IKebabItem) => void,\n onClickMenu?: (menuStatus: boolean) => void,\n className?: string,\n}\n\n/**\n * Выпадающее меню с троеточием\n * @param menuItems пункты меню\n * @param onSelectMenu при выборе пункта меню\n * @param onClickMenu при раскрытии меню\n * @param className\n */\nexport const KebabMenu = ({\n menuItems,\n onSelectMenu,\n onClickMenu,\n className,\n}: KebabMenuProps): JSX.Element => {\n const [isOpen, setIsOpen] = useState(false);\n const menuRef = useRef(null);\n\n const onSelect = useCallback((elem: React.MouseEvent, item: IKebabItem) => {\n elem.stopPropagation();\n\n if (typeof onSelectMenu === 'function') {\n onSelectMenu(item);\n }\n\n setIsOpen(false);\n }, [onSelectMenu]);\n\n const onClick = useCallback(() => {\n setIsOpen(!isOpen);\n onClickMenu && onClickMenu(!isOpen);\n }, [isOpen, onClickMenu]);\n\n const onClickOutside = useCallback((elem) => {\n const dataName = elem.target?.getAttribute('data-name');\n\n const isNotMenuRow = !(dataName && (dataName === 'menu-row'));\n\n if (isNotMenuRow && (elem.target !== menuRef?.current)) {\n setIsOpen(false);\n }\n }, []);\n\n useEffect(() => {\n if (isOpen) {\n document.addEventListener('pointerdown', onClickOutside, true);\n }\n return () => document.removeEventListener('pointerdown', onClickOutside, true);\n }, [onClickOutside, isOpen]);\n\n return (\n \n {isOpen &&\n \n {menuItems.map((item, index) => {\n return (\n ) => onSelect(elem, item)}\n >\n {item.label}\n \n );\n })}\n \n }\n \n );\n};\n","import { createSvg } from '@r1-frontend/ui-react/components/svg/createSvg';\n\nconst Check = (\n {\n strokeWidth = 1.5,\n },\n): JSX.Element => {\n return (\n \n \n \n );\n};\n\nexport default createSvg(\n Check,\n 'check',\n);\n","import styled from 'styled-components';\n\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 TypeWrapper = styled.div<{ isActive: boolean }>`\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n padding: 2px;\n border-width: 2px;\n border-style: solid;\n border-color: ${({ isActive }) => isActive ? COLORS.Outline_Dark : 'transparent'};\n border-radius: 34px;\n background-color: transparent;\n transition: .2s;\n cursor: pointer;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n border-radius: 18px;\n }\n`;\n\nexport const TypeContent = styled.div`\n width: 100%;\n height: 100%;\n padding: 24px;\n gap: 20px;\n border-radius: ${BorderRadius.OuterBlockRadius};\n background-color: ${COLORS.BgSurface};\n align-content: space-between;\n\n button {\n margin-top: auto;\n width: 100%;\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n padding: 12px;\n gap: 16px;\n border-radius: ${BorderRadius.componentRadius};\n }\n`;\n\nexport const TypeDescription = styled.div`\n gap: 4px;\n flex-direction: column;\n width: 100%;\n`;\n\nexport const TitleBlock = styled.div`\n flex-direction: column;\n gap: 8px;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n flex-direction: row-reverse;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n gap: 4px;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n height: 40px;\n }\n`;\n\nexport const Icon = styled.div`\n align-content: center;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n width: 24px;\n height: 24px;\n }\n`;\n\nexport const Title = styled.p`\n ${FONTS.H5};\n margin: 0;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n ${FONTS.H6};\n }\n`;\n\nexport const PriceBlock = styled.div`\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n`;\n\nexport const Price = styled(Title)`\n white-space: nowrap;\n`;\n\nexport const Info = styled.p`\n ${FONTS.S};\n color: ${COLORS.TextSecondary};\n margin: 0;\n white-space: pre-wrap;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n ${FONTS.XS};\n }\n`;\n","import Button from '@r1-frontend/ui-react/components/buttons/button';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { Check } from '@r1-frontend/ui-react/components/svg/main';\nimport { RubleSymbol } from '@r1-frontend/ui-react/experimental/purchase/cost/Cost/RubleSymbol';\nimport { TInfoBlockData } from '@r1-frontend/ui-react/organisms/ToggleCard/types';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\n\nimport * as ST from './styled';\n\ninterface IProps {\n isActive: boolean,\n type: TInfoBlockData,\n onToggleType: (typeId: TInfoBlockData['id']) => void,\n disabledText?: string,\n isDisabled?: boolean,\n}\n\nconst ToggleCard = ({ type, isActive, onToggleType, disabledText, isDisabled }: IProps): JSX.Element => {\n const { id, title, info, price, icon } = type;\n\n const isTablet = useMatchMedia(`(max-width: ${wideBreakpoints.tablet})`);\n\n return (\n onToggleType(id)}>\n \n \n {icon\n ? \n {icon}\n {title}\n \n : \n {title}\n {price && {price} {RubleSymbol}}\n \n }\n {info}\n \n }\n disabled={isDisabled}\n >\n {isDisabled ? disabledText : isActive ? 'Выбрано' : 'Выбрать'}\n \n \n \n );\n};\n\nexport default ToggleCard;\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iNSIgY3k9IjEyIiByPSIyIiBmaWxsPSIjMTgxQjIxIi8+CjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjIiIGZpbGw9IiMxODFCMjEiLz4KPGNpcmNsZSBjeD0iMTkiIGN5PSIxMiIgcj0iMiIgZmlsbD0iIzE4MUIyMSIvPgo8L3N2Zz4K\""],"names":["Wrapper","styled","Info","Text","FONTS","COLORS","wideBreakpoints","Balance","SetupButton","BaseButton","Agreement","autoPayStatus","comingPayDay","paySum","children","localePayDay","ddmm","Date","toLocaleString","data-test","RubleSymbol","useSelector","state","auth","clientPayment","clientPersonal","isTablet","useMatchMedia","isMobile","balance","bindingCards","payIsDeny","agreement","find","card","InfoSection","isAccordion","title","defaultOpen","AutoPayInfo","type","btnTypes","size","btnSizes","text","href","iconsSprite","symbolId","onClick","pushDataLayer","ECardKebabAction","cardKebabItems","value","SETUP","label","CONNECT","DISCONNECT","REMOVE","onSelectMenu","numberWithPaySystem","paySystem","useRouter","pathname","currentKebabMenu","useMemo","filter","item","ST","img","src","alt","menuItems","onClickMenu","router","dispatch","useDispatch","accessToken","provider","city","providerId","selectCardsWithPaySystem","isCards","isAutoPayCard","cardGroups","useState","isWaitingStatus","setIsWaitingStatus","isOpenCardsList","setIsOpenCardsList","isSuccessAction","setIsSuccessAction","defaultPopupState","popupState","setPopupState","onToggleHandler","useCallback","setUpAutoPay","push","onActionResult","isOpen","p","openChat","deactivateAutoPay","resp","isSuccess","doRequest","deactivateAutopayment","id","EResultPopupStatus","captureException","disconnectAutoPay","actions","isLoading","deleteCardHandler","deleteCard","getClientPayment","removeCard","onClosePopup","getClientAll","onToggle","map","group","blockTitle","cardsList","length","Card","ResultPopup","onClose","CardsBlock","BlockTitle","CardWrapper","BorderRadius","CardImage","CardNumber","CardMenu","KebabMenu","ErrorDisconnectText","DeactivatePopupActions","CollapsingWrapper","Accordion","open","Title","CollapsingContent","css","currentTitle","toggle","className","Content","queryParams","uri","method","withAuth","withProvider","getPeriodData","viewDate","innerDate","dayjs","format","getPaymentsPeriodStructure","date_from","newApi","payload","data","result","GetPeriodStructure","EServiceId","INTERNET","KTV","TELEPHONY","CKTV","DOMRUTV","ECategoryId","others","multimaster","inGameContent","content","subscriptions","watchControl","parentControl","antivirus","constructor","tvPacket","equipment","watchEverywhere","multiroom","saveHome","insurance","speedBonus","ipAddress","calls","telephony","suspension","subscriptionFee","stornoAdditional","ppd","ChargesList","ChargeDetail","PaymentInfo","PaymentName","PaymentSum","PaymentDetail","ShowMoreBtn","TotalPayment","MonthDetail","TotalRow","TotalMonth","TotalText","category","CategoryName","CategorySaleSum","CategorySum","CategoryTotalSum","subcategories","span","Math","abs","subcategory","li","SubcategoryName","SubcategoryId","channelsText","getPluralize","channelPluralize","currentMonth","monthString","clientProducts","charges","setCharges","setIsOpen","isShowingAll","setIsShowingAll","fetchPeriodCharges","_charges","PeriodCharges","categories","forEach","CategoryId","PlanName","subcategoryService","services","service","planName","productId","specification","equipments","useEffect","onToggleOpen","PeriodTotalSum","index","ChargeItem","isRotatedIcon","Cost","isMonthly","PopupTitle","PopupFooter","Button","stTitle","_defaultButton","PopupResult","bindingCardId","body","JSON","stringify","binding_id","threeDots","MenuPopup","MenuRow","menuRef","useRef","onSelect","elem","stopPropagation","onClickOutside","dataName","target","getAttribute","current","document","addEventListener","removeEventListener","ref","data-name","data-id","createSvg","strokeWidth","g","path","d","strokeLinecap","strokeLinejoin","TypeWrapper","isActive","TypeContent","TypeDescription","TitleBlock","Icon","PriceBlock","Price","onToggleType","disabledText","isDisabled","info","price","icon","bType","Check","disabled","module","exports"],"sourceRoot":""}