{"version":3,"file":"static/chunks/5104-83a126375470907d.js","mappings":"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O,kBCAjBD,EAAOC,QAAU,khF,kBCAjBD,EAAOC,QAAU,8pJ,kBCAjBD,EAAOC,QAAU,09K,kBCAjBD,EAAOC,QAAU,8iE,kBCAjBD,EAAOC,QAAU,0zQ,kBCAjBD,EAAOC,QAAU,mH,kBCAjBD,EAAOC,QAAU,qH,kBCAjBD,EAAOC,QAAU,mH,kBCAjBD,EAAOC,QAAU,oH,kBCAjBD,EAAOC,QAAU,qH,iBCAjBD,EAAOC,QAAU,koO,kBCAjBD,EAAOC,QAAU,k2M,kBCAjBD,EAAOC,QAAU,0+G,kBCAjBD,EAAOC,QAAU,qH,iBCAjBD,EAAOC,QAAU,wH,kBCAjBD,EAAOC,QAAU,mH,kBCAjBD,EAAOC,QAAU,2H,kBCAjBD,EAAOC,QAAU,wH,kBCAjBD,EAAOC,QAAU,yH,kBCAjBD,EAAOC,QAAU,oH,kBCAjBD,EAAOC,QAAU,iH,kBCAjBD,EAAOC,QAAU,s9D,iBCAjBD,EAAOC,QAAU,0H,kBCAjBD,EAAOC,QAAU,0H,kBCAjBD,EAAOC,QAAU,0H,kBCAjBD,EAAOC,QAAU,0H,iBCAjBD,EAAOC,QAAU,0H,kBCAjBD,EAAOC,QAAU,0H,kBCAjBD,EAAOC,QAAU,mH,kBCAjBD,EAAOC,QAAU,oH,gBCAjBD,EAAOC,QAAU,mH,kBCAjBD,EAAOC,QAAU,oH,kBCAjBD,EAAOC,QAAU,mH,kBCAjBD,EAAOC,QAAU,sH,kBCAjBD,EAAOC,QAAU,sH,kBCAjBD,EAAOC,QAAU,sH,iBCAjBD,EAAOC,QAAU,yH,kBCAjBD,EAAOC,QAAU,yH,kBCAjBD,EAAOC,QAAU,uH,kBCAjBD,EAAOC,QAAU","sources":["webpack://_N_E/../../node_modules/lodash/_basePickBy.js","webpack://_N_E/../../node_modules/lodash/_baseSet.js","webpack://_N_E/../../node_modules/lodash/clone.js","webpack://_N_E/../../node_modules/lodash/first.js","webpack://_N_E/../../node_modules/lodash/head.js","webpack://_N_E/../../node_modules/lodash/pickBy.js","webpack://_N_E/../../node_modules/lodash/throttle.js","webpack://_N_E/./src/components/TariffsFilters/index.tsx","webpack://_N_E/./src/components/BlockInternet/constants/index.ts","webpack://_N_E/./src/components/BlockInternet/FastInternet/styled.ts","webpack://_N_E/./src/components/BlockInternet/FastInternet/index.tsx","webpack://_N_E/./src/helpers/city/useOptimizationToponym.ts","webpack://_N_E/./src/components/BlockInternet/HomeInternet/styled.tsx","webpack://_N_E/./src/components/BlockInternet/HomeInternet/index.tsx","webpack://_N_E/./src/components/BlockInternet/MiniBannersInternet/styled.ts","webpack://_N_E/./src/components/BlockInternet/MiniBannersInternet/index.tsx","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/Annotation/styled.ts","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/Annotation/styled-animation.ts","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/Annotation/index.tsx","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/HowItWork/Card/styled.ts","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/HowItWork/Card/index.tsx","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/HowItWork/data.tsx","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/HowItWork/styled.ts","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/HowItWork/index.tsx","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/Questions/data-questions-country-house/data.tsx","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/Questions/data-questions-village/data.tsx","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/RepresentTop/styled.ts","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/RepresentTop/SpeedLineSelector.tsx","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/RepresentTop/styled-animation.ts","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/RepresentTop/index.tsx","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/Tariffs/styled.ts","webpack://_N_E/./src/features/internet/internet-represent/index.tsx","webpack://_N_E/./src/features/internet/internet-represent/page-blocks/Tariffs/index.tsx","webpack://_N_E/./src/features/internetV2/store/selectors/selectArticles.ts","webpack://_N_E/./src/features/internetV2/store/selectors/selectSections.ts","webpack://_N_E/./src/features/request/helpers/getSpeedLineItems.ts","webpack://_N_E/./src/features/request/helpers/getUriToFullBuy.ts","webpack://_N_E/../../packages/api-domru/src/api-content/v1/cities/tariffs/index.ts","webpack://_N_E/../../packages/ui-react/src/experimental/blocks/RoundedBlock/index.ts","webpack://_N_E/../../packages/ui-react/src/experimental/containers/BlockContainer.tsx","webpack://_N_E/./static/images/block-internet/calL.png","webpack://_N_E/./static/images/block-internet/calM.png","webpack://_N_E/./static/images/block-internet/calS.png","webpack://_N_E/./static/images/block-internet/clockL.png","webpack://_N_E/./static/images/block-internet/clockM.png","webpack://_N_E/./static/images/block-internet/clockS.png","webpack://_N_E/./static/images/block-internet/devices.png","webpack://_N_E/./static/images/block-internet/game.jpg","webpack://_N_E/./static/images/block-internet/garden.jpg","webpack://_N_E/./static/images/block-internet/hand.png","webpack://_N_E/./static/images/block-internet/house.jpg","webpack://_N_E/./static/images/block-internet/laptop.jpg","webpack://_N_E/./static/images/block-internet/lightningL.png","webpack://_N_E/./static/images/block-internet/lightningM.png","webpack://_N_E/./static/images/block-internet/lightningS.png","webpack://_N_E/./static/images/block-internet/office.jpg","webpack://_N_E/./static/images/block-internet/remotejob.jpg","webpack://_N_E/./static/images/block-internet/roof.jpg","webpack://_N_E/./static/images/block-internet/smartcontrol.jpg","webpack://_N_E/./static/images/block-internet/smarthome.jpg","webpack://_N_E/./static/images/block-internet/smarthouse.jpg","webpack://_N_E/./static/images/block-internet/study.jpg","webpack://_N_E/./static/images/block-internet/tv.jpg","webpack://_N_E/./static/images/block-internet/wifi.png","webpack://_N_E/./static/images/internet/represent/annotation/rectangle-0.png","webpack://_N_E/./static/images/internet/represent/annotation/rectangle-1.png","webpack://_N_E/./static/images/internet/represent/annotation/rectangle-2.png","webpack://_N_E/./static/images/internet/represent/annotation/rectangle-3.png","webpack://_N_E/./static/images/internet/represent/annotation/rectangle-4.png","webpack://_N_E/./static/images/internet/represent/annotation/rectangle-5.png","webpack://_N_E/./static/images/internet/represent/how-it-work/bg-1.png","webpack://_N_E/./static/images/internet/represent/how-it-work/bg-1m.png","webpack://_N_E/./static/images/internet/represent/how-it-work/bg-2.png","webpack://_N_E/./static/images/internet/represent/how-it-work/bg-2m.png","webpack://_N_E/./static/images/internet/represent/how-it-work/bg-4.png","webpack://_N_E/./static/images/internet/represent/how-it-work/image-3.png","webpack://_N_E/./static/images/internet/represent/how-it-work/image-5.png","webpack://_N_E/./static/images/internet/represent/how-it-work/image-6.png","webpack://_N_E/./static/images/internet/represent/top-block-animation/bottom-img.png","webpack://_N_E/./static/images/internet/represent/top-block-animation/center-img.png","webpack://_N_E/./static/images/internet/represent/top-block-animation/left-img.png","webpack://_N_E/./static/images/internet/represent/top-block-animation/right-img.png"],"sourcesContent":["var baseGet = require('./_baseGet'),\n baseSet = require('./_baseSet'),\n castPath = require('./_castPath');\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = clone;\n","module.exports = require('./head');\n","/**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\nfunction head(array) {\n return (array && array.length) ? array[0] : undefined;\n}\n\nmodule.exports = head;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n basePickBy = require('./_basePickBy'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nmodule.exports = pickBy;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport { useRouter } from 'next/router';\n\nimport { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\n\nimport { CATEGORIES } from '@r1-frontend/shared/constants/analytics';\n\nimport { FiltersForTariffs } from '~/src/components/FiltersForTariffs';\nimport { ITariff } from '~/src/entities/formattedTariff';\n\nimport {\n ETariffTypes,\n getInitialFilterItems,\n} from './filterConstants';\n\nconst sendGTMevent = (actionText: string, label?: string) => {\n dataLayerPush({\n event: 'UAevent',\n category: CATEGORIES.tariffCards,\n action: actionText,\n label: label || '',\n });\n};\n\ninterface IMenuItem {\n text: string,\n action: () => void,\n}\n\nexport interface ITariffsFiltersProps {\n isVillage: boolean,\n children: (filteredTariffs: ITariff[]) => JSX.Element,\n initTariffs: ITariff[], // Или village или cities\n defaultValue?: ETariffTypes,\n menuItems: IMenuItem[],\n hasCityTariffs: boolean,\n hasVillageTariffs: boolean,\n}\n\nexport const TariffsFilters = ({ isVillage, children, initTariffs, defaultValue, menuItems, hasCityTariffs, hasVillageTariffs }: ITariffsFiltersProps): JSX.Element => {\n const { asPath } = useRouter();\n\n const [filters, setFilters] = useState(getInitialFilterItems(defaultValue, asPath));\n\n const toggleFilter = useCallback((id) => {\n setFilters(currFilters => {\n const currElem = currFilters.find(el => el.id === id);\n if (currElem) {\n const currentFilter = currElem.alternative && currFilters.find(el => el.alternative && el.checked);\n if (currentFilter && currentFilter.id !== currElem.id) {\n currentFilter.checked = false;\n sendGTMevent(`remove filter ${currentFilter.id}`, `${currentFilter.label}`);\n }\n\n const newState = !currElem.checked;\n\n currElem.checked = newState;\n\n sendGTMevent(`${newState ? 'add' : 'remove'} filter ${currElem.id}`, `${currElem.label}`);\n\n return [\n ...currFilters,\n ];\n }\n return currFilters;\n });\n }, []);\n\n const filteredTariffs = useMemo(() => {\n let filterTariffs = initTariffs;\n\n filters.forEach((filter) => {\n if (filter.checked) {\n filterTariffs = filter.action(filterTariffs);\n }\n });\n const isNoneFilters = filters.every(item => !item.checked);\n if (isNoneFilters) {\n filterTariffs = filterTariffs.filter(item => !(item.alias === 'constructor' && item.type === 'bundles'));\n }\n return filterTariffs;\n }, [filters, initTariffs]);\n\n return (\n <>\n \n {children(filteredTariffs)}\n \n );\n};\n","import { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\n\n/**\n * Разрешения для медиа запросов в css\n *\n * @name data.BREAKPOINTS\n * @type {Record}\n */\nexport const BREAKPOINTS = {\n desktop: '1599px',\n sDesktop: '1390px',\n laptop: '1279px',\n tablet: '1080px',\n mobile: '760px',\n};\n\ntype TTABS = {\n apartment: string,\n house: string,\n countryHouse: string,\n}\n\nexport const homeInternetTabs: TTABS =\n{\n apartment: 'В квартире',\n house: 'За городом',\n countryHouse: 'На дачу',\n};\n\ninterface IFastData {\n id: number,\n initialTypeIsRow?: boolean,\n imgUrl: string,\n webpUrl?: string,\n title: string,\n subText: string,\n}\n\nexport interface IHomeData extends IFastData {\n color: string,\n}\n\ntype THomeData = Omit;\n\ntype TImg = {\n absoluteImgOne: string,\n absoluteImgTwo: string,\n absoluteImgThree: string,\n background: string,\n}\n\ntype TMiniBannersData = TImg & THomeData;\n\nexport const fastInternetDataCountryHouse: IFastData[] = [\n {\n id: 1,\n initialTypeIsRow: true,\n imgUrl: require('~/static/images/block-internet/hand.png'),\n title: 'Объединить близких',\n subText: 'Wi-Fi в доме — это мультфильмы для детей, возможность работать удалённо и круглосуточный доступ к онлайн-развлечениям для всей семьи',\n },\n {\n id: 2,\n imgUrl: require('~/static/images/block-internet/devices.png'),\n title: 'Подключить до 12 устройств одновременно',\n subText: 'Cмартфон, телевизор, ноутбук, видеонаблюдение и устройства умного дома',\n },\n {\n id: 3,\n imgUrl: require('~/static/images/block-internet/wifi.png'),\n title: 'Быть на связи в любом уголке дома',\n subText: 'Отличный сигнал в каждом уголке дома, а также на крыше и во дворе',\n },\n];\n\nexport const fastInternetData: IFastData[] = [\n {\n id: 1,\n initialTypeIsRow: true,\n imgUrl: require('~/static/images/block-internet/hand.png'),\n title: 'Объединяет семью и друзей',\n subText: 'Включите ребенку мультик, пока проводите онлайн-совещание, ' +\n 'а заодно поставьте скачиваться свежий сериал — интернета хватит на всё',\n },\n {\n id: 2,\n imgUrl: require('~/static/images/block-internet/devices.png'),\n title: 'Позволяет подключить до 12 устройств одновременно',\n subText: 'Cмартфон, телевизор, ноутбук, а заодно и умный чайник',\n },\n {\n id: 3,\n imgUrl: require('~/static/images/block-internet/wifi.png'),\n title: 'Ловит там, где вы',\n subText: 'И не зависает по всей квартире: на кухне, на балконе, в любимом месте и даже в ванной',\n },\n];\n\nexport const homeInternetData: IHomeData[] = [\n {\n id: 1,\n initialTypeIsRow: true,\n imgUrl: require('~/static/images/block-internet/tv.jpg'),\n title: 'Без зависаний на самом интересном моменте',\n subText: 'А качество Full HD позволит с головой окунуться в атмосферу фильма.',\n color: `${COLORS.black}`,\n },\n {\n id: 2,\n imgUrl: require('~/static/images/block-internet/remotejob.jpg'),\n title: 'Эффективная удаленка',\n subText: 'Без неловких пауз на видеконференциях. ' +\n 'Не пропустите ни одной детали и увидите все отчеты. И вас увидят. Если захотите.',\n color: `${COLORS.black}`,\n },\n {\n id: 3,\n imgUrl: require('~/static/images/block-internet/study.jpg'),\n title: 'Подключитесь и учитесь',\n subText: 'Тяжелые файлы, вебинары в прямом эфире, методички, курсовые и отчеты — загрузится все.',\n color: `${COLORS.black}`,\n },\n {\n id: 4,\n imgUrl: require('~/static/images/block-internet/game.jpg'),\n title: 'Играйте главную роль',\n subText: 'Не подводите команду на важной миссии: спасайте мир и защищайте другие цивилизации в онлайн-играх.',\n color: `${COLORS.black}`,\n },\n {\n id: 5,\n imgUrl: require('~/static/images/block-internet/smarthome.jpg'),\n title: 'Управляйте умными устройствами',\n subText: 'Включайте чайник из спальни, запускайте робот-пылесос, попросите умную колонку включить музыку под настроение.',\n color: `${COLORS.black}`,\n },\n];\n\nexport const villageInternetData: IHomeData[] = [\n {\n id: 1,\n initialTypeIsRow: true,\n imgUrl: require('~/static/images/block-internet/tv.jpg'),\n title: 'Кинотеатр в загородном доме',\n subText: 'Смотрите кино в таком же разрешении, как и в городской квартире. ',\n color: `${COLORS.black}`,\n },\n {\n id: 2,\n imgUrl: require('~/static/images/block-internet/garden.jpg'),\n title: 'Прощай, город!',\n subText: 'Привет, удалёнка на свежем воздухе. Работайте с вдохновением. И с видом на любимый сад.',\n color: `${COLORS.white}`,\n },\n {\n id: 3,\n imgUrl: require('~/static/images/block-internet/smartcontrol.jpg'),\n title: 'Никого лишнего',\n subText: 'Установите умные камеры видеонаблюдения внутри дома и по периметру и участка и чувствуйте себя в безопасности.',\n color: `${COLORS.white}`,\n },\n {\n id: 4,\n imgUrl: require('~/static/images/block-internet/smarthouse.jpg'),\n title: 'Заставьте дом поумнеть',\n subText: 'А вы получите суперсилу. Газон поливается сам, а ворота открываются голосом? Это не магия — это технологии.',\n color: `${COLORS.white}`,\n },\n];\n\nexport const countryHouseInternetData: IHomeData[] = [\n {\n id: 1,\n initialTypeIsRow: true,\n imgUrl: require('~/static/images/block-internet/roof.jpg'),\n title: 'Связь на городском уровне',\n subText: 'Смотрите фильмы в высоком разрешении в квартире и загородном доме.',\n color: `${COLORS.white}`,\n },\n {\n id: 2,\n imgUrl: require('~/static/images/block-internet/laptop.jpg'),\n title: 'Работа в гамаке',\n subText: 'Решайте рабочие задачи и проводите онлайн-совещания на свежем воздухе.',\n color: `${COLORS.black}`,\n },\n {\n id: 3,\n imgUrl: require('~/static/images/block-internet/house.jpg'),\n title: 'Контроль территории',\n subText: 'Установка видеонаблюдения Дом.ру по периметру загородного дома позволит чувствовать себя в безопасности.',\n color: `${COLORS.black}`,\n },\n {\n id: 4,\n imgUrl: require('~/static/images/block-internet/office.jpg'),\n title: 'Апгрейд дома',\n subText: 'Поручите полив газона и открытие ворот автоматике — «умные» гаджеты снимут с вас заботы о загородном доме.',\n color: `${COLORS.black}`,\n },\n];\n\nexport const miniBannnersInternetData: TMiniBannersData[] = [\n {\n id: 1,\n initialTypeIsRow: true,\n title: '1 минута 25 секунд',\n subText: 'И вы скачаете 230 любимых песен, 600 фотографий из отпуска или 1 крутой фильм',\n color: `${COLORS.white}`,\n absoluteImgOne: require('~/static/images/block-internet/clockM.png'),\n absoluteImgTwo: require('~/static/images/block-internet/clockL.png'),\n absoluteImgThree: require('~/static/images/block-internet/clockS.png'),\n background: 'linear-gradient(136.46deg, #8BD16E -7.72%, #91C2AD 68.56%, #739DA4 102.66%)',\n },\n {\n id: 2,\n title: '12 устройств \\n и даже больше...',\n subText: 'Можно подключить, а скорость будет та же. Телефоны, планшеты, ТВ, приставки, камеры, колонки — интернета хватит всем',\n color: `${COLORS.GRAY_DARK}`,\n absoluteImgOne: require('~/static/images/block-internet/lightningM.png'),\n absoluteImgTwo: require('~/static/images/block-internet/lightningL.png'),\n absoluteImgThree: require('~/static/images/block-internet/lightningS.png'),\n background: 'linear-gradient(191.76deg, #E2E2E2 11.74%, #EDECEC 113.76%)',\n },\n {\n id: 3,\n title: '24 часа',\n subText: 'Нужно, чтобы подключить услуги после оформления заявки. Никаких сложностей — сделаем все сами',\n color: `${COLORS.white}`,\n absoluteImgOne: require('~/static/images/block-internet/calM.png'),\n absoluteImgTwo: require('~/static/images/block-internet/calL.png'),\n absoluteImgThree: require('~/static/images/block-internet/calS.png'),\n background: 'linear-gradient(135deg, #FF5F6D 2.88%, #FFC371 100%)',\n },\n];\n","import styled, { css } from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { BREAKPOINTS } from '~/src/components/BlockInternet/constants';\n\nimport { breakePoints } from '~/src/features/internet/internet-represent/styled';\n\ntype TImgBlock = {\n imgUrl?: string,\n hasImgStyle?: {\n tablet?: boolean,\n mobile?: boolean,\n },\n}\n\nexport const FastInternetContainer = styled.div`\n width: 100%;\n box-sizing: content-box;\n margin: 32px 0;\n`;\n\nexport const FastInternetTitle = styled.h2`\n color: ${COLORS.GRAY_DARK};\n ${FONTS.H2};\n\n @media (max-width: ${breakePoints.desktop}) {\n ${FONTS.H3};\n }\n\n @media (max-width: ${breakePoints.mobile}) {\n ${FONTS.H4};\n }\n`;\n\nexport const FastInternetBlock = styled.div`\n display: grid;\n width: 100%;\n margin-top: 32px;\n grid-template-columns: 1fr 1fr 1fr;\n grid-gap: 32px;\n\n @media (max-width: 950px) {\n grid-gap: 16px;\n }\n\n @media (max-width: ${BREAKPOINTS.mobile}) {\n display: flex;\n }\n`;\n\nexport const ImgBlock = styled.div`\n border-radius: 16px;\n ${(props) => props.imgUrl && css`\n background-image: url('${props.imgUrl}');\n background-repeat: no-repeat;\n background-position: left;\n background-size: contain;\n width: 211px;\n height: 96px;\n\n @media (max-width: ${BREAKPOINTS.tablet}) {\n margin-top: 15%;\n }\n\n @media (max-width: 900px) {\n margin: 0;\n width: 190px;\n }\n\n @media (max-width: ${BREAKPOINTS.mobile}) {\n background-position: center;\n }\n`};\n`;\n\nexport const TextBlock = styled.div`\n @media (max-width: ${BREAKPOINTS.mobile}) {\n justify-content: flex-start;\n }\n`;\n\nexport const ContentWrap = styled.div`\n flex-direction: column;\n gap: 0;\n height: auto;\n background: ${COLORS.white};\n border: 0.5px solid ${COLORS.GRAY_XS};\n border-radius: ${BorderRadius.OuterBlockRadius};\n padding: 14px 24px;\n\n @media (max-width: 835px) {\n padding: 27px 17px 17px;\n }\n\n @media (max-width: ${BREAKPOINTS.mobile}) {\n align-items: center;\n justify-content: center;\n padding: 14px 24px;\n }\n`;\n\nexport const Title = styled.div`\n margin: 8px 0px;\n ${FONTS.H4};\n color: ${COLORS.GRAY_DARK};\n @media (max-width: ${BREAKPOINTS.tablet}) {\n ${FONTS.H5};\n }\n`;\n\nexport const SubText = styled.div`\n ${FONTS.XS};\n color: ${COLORS.GRAY_DARK};\n`;\n","import React from 'react';\nimport { ThemeProvider } from 'styled-components';\n\nimport { fastInternetData, fastInternetDataCountryHouse } from '~/src/components/BlockInternet/constants';\nimport { EPrivateHouse } from '~/src/features/internet/internet-represent';\n\nimport * as ST from './styled';\n\ninterface IFastInternet {\n privateHouse?: EPrivateHouse,\n}\n\nconst FastInternet = ({ privateHouse }: IFastInternet): JSX.Element => {\n const isVillage = privateHouse === EPrivateHouse.Village;\n const fastData = isVillage ? fastInternetDataCountryHouse : fastInternetData;\n\n return (\n \n \n {isVillage ? 'Быстрый интернет поможет:' : 'Самый быстрый интернет, который:'}\n \n \n {fastData.map((elem) => (\n \n \n \n \n \n \n \n \n \n ))}\n \n \n );\n};\n\nexport default FastInternet;\n","import { useMemo } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { getABNVariant } from '~/src/helpers/abn-tests';\nimport { getCurrentCityIn } from '~/src/store/selectors/city';\n\nexport const useOptimizedToponym = (testName: string): string | undefined => {\n const currentCityName = useSelector(getCurrentCityIn);\n const isOptimizationToponymsInternetEnabled = useMemo(() =>\n getABNVariant(testName) === 'on',\n [testName]);\n\n return isOptimizationToponymsInternetEnabled ? ` в ${currentCityName}` : undefined;\n};\n\nexport const useOptimizationToponymForInternetPage = (): string | undefined =>\n useOptimizedToponym('optimization_toponyms_internet');\n\n","import styled from 'styled-components';\n\n// @ts-ignore\nimport Tab from '@r1-frontend/ui-react/components/tabs/tab';\n// @ts-ignore\nimport Tabs from '@r1-frontend/ui-react/components/tabs/tabs';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { breakePoints } from '~/src/features/internet/internet-represent/styled';\n\nexport const HomeInternetContainer = styled.div`\n width: 100%;\n box-sizing: content-box;\n margin: 32px 0;\n`;\n\nexport const STab = styled(Tab)`\n outline: 1px solid red;\n margin: 10px 0 0 0;\n`;\n\nexport const STabs = styled(Tabs)`\n display: flex;\n flex-wrap: nowrap;\n flex-direction: column;\n\n & > div:first-child {\n display: flex;\n flex-wrap: nowrap;\n width: fit-content;\n border: 2px solid ${COLORS.Outline_Light};\n border-radius: 100px;\n margin: 32px 0 24px;\n padding: 2px;\n user-select: none;\n white-space: nowrap;\n\n > div > div > div {\n div {\n display: flex;\n align-items: center;\n ${FONTS.MediumXS};\n background-color: ${props => props.active ? COLORS.ButtonPrimary : 'transparent'};\n color: ${props => props.active ? COLORS.TextWhite : COLORS.TextPrimary};\n padding: 6px 24px;\n border-radius: 100px;\n margin-left: 8px;\n cursor: pointer;\n }\n }\n }\n`;\n\nexport const HomeInternetTitle = styled.h2`\n color: ${COLORS.TextPrimary};\n ${FONTS.H2};\n\n @media (max-width: ${breakePoints.desktop}) {\n ${FONTS.H3};\n }\n\n @media (max-width: ${breakePoints.mobile}) {\n ${FONTS.H4};\n }\n`;\n","import React, { useMemo, useState } from 'react';\n\n// @ts-ignore\nimport Tab from '@r1-frontend/ui-react/components/tabs/tab';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nimport AdvantagesBlock from '~/src/components/BlockInternet/AdvantagesBlock';\nimport {\n countryHouseInternetData,\n homeInternetData,\n homeInternetTabs,\n villageInternetData,\n} from '~/src/components/BlockInternet/constants';\nimport { EPrivateHouse } from '~/src/features/internet/internet-represent';\nimport { useOptimizationToponymForInternetPage } from '~/src/helpers/city/useOptimizationToponym';\n\nimport * as ST from './styled';\n\ninterface IProps{\n privateHouse?: EPrivateHouse,\n}\n\nconst tabStyles = (label: string, activeTabLabel: string) => ({\n label,\n margin: '0 0 6px 0',\n style: {\n fontWeight: 'normal',\n margin: 0,\n ...(label === activeTabLabel ? { color: COLORS.TextWhite, backgroundColor: COLORS.ButtonPrimary } : {}),\n },\n});\n\nconst HomeInternet = ({ privateHouse }: IProps) => {\n const toponymOptimization = useOptimizationToponymForInternetPage();\n\n const isVillage = privateHouse === EPrivateHouse.Village;\n const isCountryHouse = privateHouse === EPrivateHouse.CountryHouse;\n const [activeTab, setActiveTab] = useState(\n isVillage\n ? homeInternetTabs.house\n : isCountryHouse\n ? homeInternetTabs.countryHouse\n : homeInternetTabs.apartment,\n );\n const tabs = useMemo(() => {\n const apartment = \n \n ;\n const house = \n \n ;\n const countryHouse = \n \n ;\n if (isVillage) {\n return [house, countryHouse, apartment];\n } else if (isCountryHouse) {\n return [countryHouse, house, apartment];\n } else {\n return [apartment, house, countryHouse];\n }\n }, [activeTab, isVillage, isCountryHouse]);\n\n return (\n \n \n {isVillage\n ? 'Преимущества интернета в частном доме от Дом.ру:'\n : isCountryHouse\n ? 'Преимущества интернета на даче от Дом.ру:'\n : `Преимущества домашнего интернета от Дом.ру${toponymOptimization || ''}:`\n }\n \n \n {tabs}\n \n \n );\n};\n\nexport default HomeInternet;\n","import styled, { css } from 'styled-components';\n\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { BREAKPOINTS } from '~/src/components/BlockInternet/constants';\n\ntype TImgBlock = {\n background?: string,\n imgFirst?: string,\n imgSecond?: string,\n imgThird?: string,\n}\n\nexport const MiniBannersInternetContainer = styled.div`\n width: auto;\n box-sizing: content-box;\n margin: 32px 0;\n`;\n\nexport const MiniBannersInternetBlock = styled.div`\n display: grid;\n width: 100%;\n grid-template-columns: 1fr 1fr 1fr;\n grid-gap: 32px;\n\n @media (max-width: ${BREAKPOINTS.mobile}) {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n }\n`;\n\nexport const ImgBlock = styled.div`\n display: flex;\n align-content: center;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n flex-wrap: nowrap;\n border-radius: ${BorderRadius.OuterBlockRadius};\n ${(props) => props.background && css`\n background: ${props.background};\n background-repeat: no-repeat;\n height: 168px;\n overflow: hidden;\n\n @media (max-width: ${BREAKPOINTS.laptop}) {\n flex-direction: column;\n height: 347px;\n width: auto;\n }\n`};\n`;\n\nexport const ImgContainer = styled.div`\n position: relative;\n width: 40%;\n height: 100%;\n\n @media (max-width: ${BREAKPOINTS.desktop}) {\n width: 30%;\n }\n\n @media (max-width: ${BREAKPOINTS.laptop}) {\n width: 100%;\n height: 100%;\n }\n`;\n\nexport const AbsoluteImgOne = styled.div`\n position: absolute;\n ${(props) => props.imgFirst && css`\n background-image: url('${props.imgFirst}');\n background-repeat: no-repeat;\n width: 100%;\n height: 100%;\n top: 90px;\n left: 22px;\n\n @media (max-width: ${BREAKPOINTS.desktop}) {\n left: 10px;\n }\n\n @media (max-width: ${BREAKPOINTS.laptop}) {\n left: 125px;\n top: 70px;\n }\n`};\n`;\n\nexport const AbsoluteImgTwo = styled.div`\n position: absolute;\n ${(props) => props.imgSecond && css`\n background-image: url('${props.imgSecond}');\n background-repeat: no-repeat;\n width: 100%;\n height: 100%;\n border-radius: 16px;\n filter: blur(3px);\n`};\n`;\n\nexport const AbsoluteImgThree = styled.div`\n position: absolute;\n ${(props) => props.imgThird && css`\n background-image: url('${props.imgThird}');\n background-repeat: no-repeat;\n width: 100%;\n height: 100%;\n top: 45px;\n left: 90px;\n filter: blur(2px);\n\n @media (max-width: ${BREAKPOINTS.desktop}) {\n top: -5px;\n left: 225px;\n }\n\n @media (max-width: ${BREAKPOINTS.laptop}) {\n top: 15px;\n left: 105px;\n }\n`};\n`;\n\nexport const TextBlock = styled.div`\n width: 60%;\n margin: 16px 12px;\n\n @media (max-width: ${BREAKPOINTS.desktop}) {\n width: 86%;\n }\n\n @media (max-width: ${BREAKPOINTS.laptop}) {\n margin: 0;\n margin-top: auto;\n flex: 0 1 1%;\n height: 100%;\n width: 100%;\n padding: 0 20px 24px;\n }\n\n @media (max-width: ${BREAKPOINTS.mobile}) {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n }\n`;\n\nexport const Title = styled.div`\n margin: 8px 0px;\n ${FONTS.H4};\n white-space: pre-line;\n`;\n\nexport const SubText = styled.div`\n ${FONTS.XS};\n`;\n","import React from 'react';\nimport { ThemeProvider } from 'styled-components';\n\nimport { miniBannnersInternetData } from '~/src/components/BlockInternet/constants';\n\nimport * as ST from './styled';\n\nconst MiniBannersInternet: React.FC = () => {\n return (\n \n \n {miniBannnersInternetData.map((elem) => (\n \n \n \n \n \n \n \n \n \n {elem.title}\n \n \n \n \n \n ))}\n \n \n );\n};\n\nexport default MiniBannersInternet;\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport { H4 } from '@r1-frontend/ui-react/components/typography/heading';\nimport { COLORS as TRUECOLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { breakePoints } from '~/src/features/internet/internet-represent/styled';\n\nexport const Annotation = styled.div`\n width: 100%;\n`;\n\nexport const Content = styled.div`\n display: flex;\n flex-wrap: nowrap;\n width: 100%;\n\n @media (max-width: ${breakePoints.mobile}) {\n flex-direction: column;\n padding-bottom: 40px;\n }\n`;\n\nexport const TextContent = styled.div`\n flex: 1 0 1%;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n width: 100%;\n max-width: 875px;\n padding-right: 10px;\n\n @media (max-width: ${breakePoints.mobile}) {\n max-width: none;\n padding-top: 25px;\n }\n \n ${H4} {\n color: ${TRUECOLORS.TextSecondary};\n }\n`;\n\nexport const ImgContent = styled.div`\n position: relative;\n flex: 1 1 1%;\n width: 100%;\n`;\n\nexport const Image = styled.img`\n position: relative;\n width: 100%;\n height: auto;\n object-fit: contain;\n`;\n\nexport const Title = styled.div`\n margin-bottom: 12px;\n ${FONTS.H4};\n color: ${COLORS.RED_FIRM};\n\n @media (max-width: ${breakePoints.tablet}) {\n ${FONTS.H5};\n }\n\n @media (max-width: ${breakePoints.mobile}) {\n width: 250px;\n }\n`;\n\nexport const Text = styled.div`\n ${FONTS.H2};\n\n @media (max-width: ${breakePoints.sDesktop}) {\n ${FONTS.H3};\n }\n\n @media (max-width: ${breakePoints.tablet}) {\n ${FONTS.H4};\n }\n`;\n","import styled, { css } from 'styled-components';\n\nimport { breakePoints } from '~/src/features/internet/internet-represent/styled';\n\nexport const ImgContent = styled.div`\n flex: 1 1 1%;\n width: 100%;\n justify-content: center;\n align-items: center;\n\n @media (max-width: ${breakePoints.mobile}) {\n order: -1;\n }\n`;\n\nexport const AnimationWrap = styled.div`\n position: relative;\n\n width: 620px;\n height: 609px;\n\n @media (max-width: ${breakePoints.desktop}) {\n width: 470px;\n height: 452px;\n }\n\n @media (max-width: ${breakePoints.laptop}) {\n width: 380px;\n height: 361px;\n }\n\n @media (max-width: ${breakePoints.tablet}) {\n width: 370px;\n height: 350px;\n }\n`;\n\nexport const Image = styled.img`\n width: 100%;\n height: auto;\n object-fit: contain;\n`;\n\ninterface IImgParams {\n top?: string,\n left?: string,\n bottom?: string,\n right?: string,\n width?: string,\n height?: string,\n rotateDegree?: string,\n}\n\nconst getImgParams = (imgParams: IImgParams) => {\n let result = '';\n\n for (const key in imgParams) {\n result += `${key}:${imgParams[key as keyof IImgParams]};`;\n }\n\n return css`${result}`;\n};\n\nexport const SattelitImage = styled(Image)<{imgParams?: IImgParams}>`\n position: absolute;\n transition: all 2s ease;\n\n width: 22%;\n height: 22%;\n ${p => p.imgParams ? getImgParams(p.imgParams) : ''}\n`;\n\nexport const VideoWrap = styled.div<{imgParams?: IImgParams}>`\n position: absolute;\n\n width: 22%;\n height: 22%;\n ${p => p.imgParams ? getImgParams(p.imgParams) : ''}\n\n transition: all 2s ease;\n\n & > video {\n width: 100%;\n height: auto;\n object-fit: contain;\n border-radius: 16px;\n pointer-events: none;\n\n ${p => p.imgParams && p.imgParams.rotateDegree ? css`transform: rotate(${p.imgParams.rotateDegree});` : ''}\n }\n`;\n","import { createRef, useCallback, useEffect, useRef } from 'react';\nimport throttle from 'lodash/throttle';\n\nimport { H4 } from '@r1-frontend/ui-react/components/typography/heading';\n\nimport { CDN_API_ENDPOINT } from '~/src/constants';\n\nimport * as ST from './styled';\nimport * as STA from './styled-animation';\n\nconst START_ANIMATION_COEFF = 40; // при коэф. равном нулю, анимация начнется в серендине экрана, если больше то позже.\nconst ANIMATION_STEPS = 5;\n\nconst imgagesParams = [\n {\n width: '21%',\n height: '21%',\n top: '45%',\n left: '35%',\n rotateDegree: '14deg',\n src: require('~/static/images/internet/represent/annotation/rectangle-0.png'),\n },\n {\n top: '0%',\n right: '20%',\n rotateDegree: '-12deg',\n src: require('~/static/images/internet/represent/annotation/rectangle-1.png'),\n },\n {\n top: '37%',\n right: '0%',\n rotateDegree: '-10deg',\n src: require('~/static/images/internet/represent/annotation/rectangle-2.png'),\n },\n {\n width: '19%',\n height: '19%',\n left: '62%',\n bottom: '10%',\n rotateDegree: '22deg',\n src: require('~/static/images/internet/represent/annotation/rectangle-3.png'),\n },\n {\n width: '19%',\n height: '19%',\n left: '5%',\n bottom: '0%',\n rotateDegree: '-21deg',\n src: require('~/static/images/internet/represent/annotation/rectangle-4.png'),\n },\n {\n left: '0%',\n top: '29%',\n rotateDegree: '7deg',\n src: require('~/static/images/internet/represent/annotation/rectangle-5.png'),\n },\n];\n\nconst targetPositions = [\n [100, -100],\n [-20, 110],\n [-110, -60],\n [-20, -240],\n [270, -280],\n [240, -20],\n];\n\nconst PATH = `${CDN_API_ENDPOINT}/static/images/internet/represent/annotation`;\n\ninterface IAnnotation {\n isCountryHouse: boolean,\n}\n\nexport const Annotation = ({ isCountryHouse }: IAnnotation): JSX.Element => {\n const annotationRef = useRef(null);\n const imgRefs = useRef[]>(targetPositions.map(() => createRef()));\n const scrollPosition = useRef(0);\n\n const onScroll = useCallback(throttle(() => {\n const annotationTop = annotationRef.current?.offsetTop || 0;\n const annotationHeight = annotationRef.current?.offsetHeight || 0;\n const stepSize = annotationHeight / ANIMATION_STEPS;\n\n scrollPosition.current = window.pageYOffset;\n\n const viewHeight = document.documentElement.clientHeight;\n const documentCenter = (viewHeight / 2) - (viewHeight / 200 * START_ANIMATION_COEFF);\n const currByCenter = documentCenter + scrollPosition.current;\n const annotationToCenter = currByCenter - annotationTop;\n const currAnimStep = Math.round(annotationToCenter / stepSize);\n\n if (currAnimStep > 0 && currAnimStep <= ANIMATION_STEPS) {\n imgRefs.current.forEach((item, index) => {\n const elem = item.current;\n const [_x, _y] = targetPositions[index];\n const xCoord = _x / ANIMATION_STEPS * currAnimStep;\n const yCoord = _y / ANIMATION_STEPS * currAnimStep;\n\n if (elem) {\n elem.style.transform = `translate(${xCoord}%, ${yCoord}%)`;\n }\n });\n } else {\n imgRefs.current.forEach((item, index) => {\n const elem = item.current;\n const [xCoord, yCoord] = targetPositions[index];\n\n if (elem) {\n elem.style.transform = currAnimStep < 1 ? 'translate(0%, 0%)' : `translate(${xCoord}%, ${yCoord}%)`;\n }\n });\n }\n }, 200), []);\n\n useEffect(() => {\n scrollPosition.current = window.pageYOffset;\n\n window.addEventListener('scroll', onScroll);\n\n return () => window.removeEventListener('scroll', onScroll);\n }, [onScroll]);\n\n return (\n \n \n \n

\n {isCountryHouse\n ? <>Созванивайтесь по видео с друзьями, смотрите фильмы онлайн и заказывайте пиццу в час ночи с помощью современных онлайн-возможностей\n : 'Наши тарифы — это выгодные комплекты, в которые входят интернет, телеканалы и подписки. Всё вместе выходит гораздо дешевле, чем по отдельности.'\n }\n

\n
\n \n \n {imgagesParams.map((item, index) => {\n return (\n \n \n \n );\n })}\n \n \n
\n
\n );\n};\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport { BaseButton } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { breakePoints } from '~/src/features/internet/internet-represent/styled';\n\ninterface ICardProps {\n bgImage1: string,\n bgImageM: string,\n isVertical?: boolean,\n isBottomText?: boolean,\n}\n\nconst getImgUrl = (p: ICardProps) => {\n const bgImageV = p.bgImageM || p.bgImage1;\n\n if (bgImageV) {\n return `${p.isVertical ? bgImageV : p.bgImage1}`;\n }\n\n return '';\n};\n\nexport const Card = styled.div`\n flex-direction: ${p => p.isBottomText ? 'column-reverse' : 'column'};\n justify-content: space-between;\n flex-wrap: nowrap;\n width: 100%;\n max-width: ${p => p.isVertical ? '316px' : 'none'};\n height: ${p => p.isVertical ? '360px' : '237px'};\n padding: 0 ${p => p.isVertical ? '24px' : '32px'};\n padding-top: 24px;\n\n background-color: ${COLORS.white};\n background-image: url(${p => getImgUrl(p)});\n background-repeat: no-repeat;\n background-size: cover;\n background-position: left bottom;\n\n border-radius: ${BorderRadius.OuterBlockRadius};\n overflow: hidden;\n\n @media (max-width: ${breakePoints.mobile}) {\n ${FONTS.H4};\n }\n`;\n\nexport const DescriptionWrap = styled.div<{isOnlyText?: boolean, isBottomText?: boolean, isVertical?: boolean}>`\n flex: 1;\n flex-direction: column;\n align-items: flex-start;\n width: 100%;\n margin-top: ${p => !p.isVertical || p.isBottomText ? '30px' : '0'};\n\n @media (max-width: ${breakePoints.desktop}) {\n margin-top: ${p => p.isOnlyText ? 'auto' : p.isBottomText ? '20px' : '0'};\n margin-bottom: ${p => p.isOnlyText && p.isBottomText ? '20px' : '0'};\n flex: ${p => p.isOnlyText && p.isBottomText ? '0' : '1'};\n }\n\n @media (max-width: ${breakePoints.sDesktop}) {\n align-items: stretch;\n }\n`;\n\nexport const Title = styled.div`\n max-width: 340px;\n margin-bottom: 6px;\n ${FONTS.H4};\n\n @media (max-width: ${breakePoints.mobile}) {\n ${FONTS.H5};\n }\n`;\n\nexport const Text = styled.div`\n max-width: 320px;\n ${FONTS.XS};\n`;\n\nexport const Button = styled(BaseButton)`\n margin-top: 15px;\n\n @media (max-width: ${breakePoints.sDesktop}) {\n margin-top: auto;\n margin-bottom: 15px;\n }\n\n @media (max-width: ${breakePoints.mobile}) {\n margin-top: auto;\n width: 100%;\n }\n`;\n\nexport const ImageWrap = styled.div`\n width: 100%;\n height: 140px;\n justify-content: center;\n align-items: center;\n`;\n\nexport const Image = styled.img`\n width: 100%;\n max-width: 100%;\n height: auto;\n max-height: 100%;\n object-fit: contain;\n`;\n","import React from 'react';\n\nimport { btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\n\nimport * as ST from './styled';\n\ninterface ICardProps {\n title: string,\n text: string,\n bgImage1?: string,\n bgImageM?: string,\n image?: string,\n isVertical?: boolean,\n btnText?: string,\n btnHref?: string,\n onClick?: () => void,\n isBottomText?: boolean,\n}\n\nexport const Card = (props: ICardProps): JSX.Element => {\n const { title, text, bgImage1, bgImageM, image, isVertical, btnText, btnHref, onClick, isBottomText } = props;\n\n return (\n \n \n \n \n {btnText &&\n \n {btnText}\n \n }\n \n {image &&\n \n \n \n }\n \n );\n};\n\nexport default React.memo(Card);\n","export const data = [\n {\n id: 1,\n title: 'Подберём роутер',\n text: 'Рассчитаем площадь квартиры и дома так, чтобы сеть работала стабильно везде',\n bgImage1: require('~/static/images/internet/represent/how-it-work/bg-1.png'),\n bgImageM: require('~/static/images/internet/represent/how-it-work/bg-1m.png'),\n image: '',\n btnText: 'Выбрать роутер',\n btnHref: '/internet/equipment',\n isBottomText: false,\n },\n {\n id: 2,\n title: 'Перегрузки до 10G? Оборудование уже готово!',\n text: 'В 2021 году мы обновили сеть и работаем на современном оборудовании, которое готово к большим нагрузкам',\n bgImage1: require('~/static/images/internet/represent/how-it-work/bg-2.png'),\n bgImageM: require('~/static/images/internet/represent/how-it-work/bg-2m.png'),\n isBottomText: true,\n },\n {\n id: 3,\n title: 'Круглосуточно проверяем качество связи',\n text: 'Современная система мониторинга позволит проверять соответствие качества скорости каждые 30 сек',\n bgImage1: '',\n bgImage2: '',\n image: require('~/static/images/internet/represent/how-it-work/image-3.png'),\n isBottomText: true,\n },\n {\n id: 4,\n title: 'Сохраним ремонт',\n text: 'Спроектируем и проведём интернет без испорченных стен и проводов по всей квартире',\n bgImage1: require('~/static/images/internet/represent/how-it-work/bg-4.png'),\n image: '',\n },\n {\n id: 5,\n title: 'Чат с поддержкой под рукой',\n text: 'Не нужно звонить и «висеть» на линии:' +\n ' пишите в чат прямо из приложения, в соцсети и мессенджеры — ответим!',\n image: require('~/static/images/internet/represent/how-it-work/image-5.png'),\n isBottomText: true,\n },\n {\n id: 6,\n title: '«Мой Дом.ру» — приложение, в котором удобно',\n text: 'Управляйте тарифами, настройками, услугами со своего телефона',\n image: require('~/static/images/internet/represent/how-it-work/image-6.png'),\n },\n];\n","import styled from 'styled-components';\n\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { breakePoints } from '~/src/features/internet/internet-represent/styled';\n\nexport const HowItWork = styled.div`\n width: 100%;\n margin: 32px 0;\n`;\n\nexport const SRow = styled.div`\n display: flex;\n flex-wrap: nowrap;\n width: calc(100% + 32px);\n margin: 0 -16px;\n\n @media (max-width: ${breakePoints.desktop}) {\n width: calc(100% + 24px);\n margin: 0 -12px;\n }\n`;\n\nexport const SCol = styled.div`\n width: 100%;\n margin: 0 16px;\n\n @media (max-width: ${breakePoints.desktop}) {\n margin: 0 12px;\n }\n`;\n\nexport const Title = styled.h2`\n width: 100%;\n margin-bottom: 10px;\n ${FONTS.H2};\n\n @media (max-width: ${breakePoints.desktop}) {\n ${FONTS.H3};\n }\n`;\n\nexport const SubTitle = styled.div`\n margin-bottom: 30px;\n width: 100%;\n ${FONTS.S};\n`;\n\nexport const ListWrap = styled.div`\n & > div {\n &:first-child {\n margin-bottom: 32px;\n }\n }\n`;\n","import { useCallback } from 'react';\n\nimport { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\n\nimport SlideCarousel from '@r1-frontend/ui-react/components/SlideCarousel';\nimport { CATEGORIES } from '@r1-frontend/shared/constants/analytics';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\n\nimport Card from './Card';\nimport { data } from './data';\n\nimport { breakePoints } from '~/src/features/internet/internet-represent/styled';\nimport * as ST from './styled';\n\ninterface IProps{\n cityIn: string,\n isVillage?: boolean,\n}\n\nconst sDesktop = `(max-width: ${breakePoints.sDesktop})`;\nconst mobile = `(max-width: ${breakePoints.mobile})`;\n\nexport const HowItWork = ({ cityIn, isVillage = false }: IProps): JSX.Element => {\n const isLaptop = useMatchMedia(sDesktop);\n const isMobile = useMatchMedia(mobile);\n\n const onClick = useCallback(() => {\n dataLayerPush({\n event: 'UAevent',\n category: CATEGORIES.vas,\n action: 'click btn add router',\n label: '/internet/equipment',\n });\n }, []);\n\n return (\n \n Как работает наш (то есть ваш) интернет{isVillage ? ' в загородном доме' : ''}\n {`Оставьте заявку, чтобы подключить интернет в ${cityIn}.`}\n {isLaptop\n ? \n {data.map((item) => {\n return (\n \n );\n })}\n \n : \n \n {data.map((item) => {\n if (item.id > 2) {\n return null;\n }\n\n return (\n \n \n \n );\n })}\n \n \n {data.map((item) => {\n if (item.id <= 2) {\n return null;\n }\n\n return (\n \n \n \n );\n })}\n \n \n }\n \n );\n};\n","import { IQuestion } from '~/src/features/internet/internet-represent';\n\nexport const dataQuestionsCountryHouse: IQuestion[] = [\n {\n id: 1,\n question: 'Сколько стоит подключить интернет на даче?',\n answer: `

Стоимость подключения — от 1 000 рублей. Если вы хотите провести мощный\n интернет на дачу в области, оставьте заявку – мы рассчитаем точную стоимость.

`,\n },\n {\n id: 2,\n question: 'Как провести интернет на дачу? И сколько стоит первый месяц за интернет в своем доме?',\n answer: `
    \n
  1. Подключение к сети. Мы прокладываем интернет-кабель на вашей даче и устанавливаем специальный PON-терминал для того, чтобы сразу подключить\n ваши устройства и роутер к интернету.
  2. \n
  3. Настройка роутера. Мы сами настроим оборудование, пока вы занимаетесь делами. А ещё подскажем,\n какой роутер больше подходит для ваших целей.
  4. \n
  5. Выбор тарифа. Цена интернета напрямую зависит от ваших потребностей. Если вы не знаете, какой тарифный план выбрать, мы подберём подходящий для\n вас. Следить за расходами вы сможете онлайн в мобильном приложении «Мой Дом.ру».
  6. \n
`,\n },\n {\n id: 3,\n question: 'Влияют ли погодные условия на скорость и стабильность интернета за городом?',\n answer: `

С технологией GPON интернет в на вашей даче будет стабильным в любую погоду: жара, дождь, снег, гроза или сильный ветер. В отличие от 3G/4G и спутниковых\n тарелок, эта технология обеспечивает устойчивый сигнал независимо от капризов природы, даже если к сети подключено несколько устройств.

`,\n },\n {\n id: 4,\n question: 'Будет ли ловить Wi-Fi на участке рядом с домом, в беседке или бане?',\n answer: `

Всё зависит от площади вашего дома, размера участка и удалённости бани или беседки. Если участок больше 100 кв.м., лучше\n выбрать Mesh-систему.

\n

Она состоит из нескольких Wi-Fi модулей и обеспечивает быстрый сигнал, пока вы передвигайтесь по дому или участку. Мы рассчитаем,\n сколько нужно модулей на вашу площадь дома. А инженеры настроят устройство так, чтобы интернет ловил везде.

`,\n },\n];\n","import { IQuestion } from '~/src/features/internet/internet-represent';\n\nexport const dataQuestionsVillage: IQuestion[] = [\n {\n id: 1,\n question: 'Сколько стоит подключить интернет в частный дом?',\n answer: '

Если вы хотите провести интернет в дом или на дачу, оставьте заявку — мы рассчитаем точную стоимость.

',\n },\n {\n id: 2,\n question: 'Сколько я заплачу в первый месяц за интернет в своем доме?',\n answer: `

Стоимость первого платежа складывается из нескольких услуг:

\n
    \n
  1. Подключение к сети. Мы прокладываем интернет-кабель в вашем доме и устанавливаем специальный PON-терминал для того, чтобы сразу подключить ваши устройства и роутер к интернету.
  2. \n
  3. Настройка роутера. Мы сами настроим\n оборудование, \n пока вы занимаетесь делами. А ещё подскажем, какой роутер больше подходит для ваших целей.
  4. \n
  5. Выбор тарифа. Если вы не знаете, какой тарифный план выбрать, мы подберём подходящий под ваши потребности. Следить за расходами вы сможете в мобильном приложении «Мой Дом.ру».
  6. \n
`,\n },\n {\n id: 3,\n question: 'Влияют ли погодные условия на скорость и стабильность интернета за городом?',\n answer: `

С технологией GPON интернет в вашем доме будет стабильным в любую погоду: жара, дождь, снег, гроза или сильный ветер.\n В отличие от 3G/4G и спутниковых тарелок, эта технология обеспечивает устойчивый сигнал независимо от капризов природы, даже если к сети подключено несколько устройств.

`,\n },\n {\n id: 4,\n question: 'Будет ли ловить Wi-Fi на участке рядом с домом, в беседке или бане?',\n answer: `

Всё зависит от площади вашего дома, размера участка и удалённости бани или беседки. Если участок больше 100 кв.м., лучше выбрать\n Mesh-систему.

\n

Она состоит из нескольких Wi-Fi модулей и обеспечивает быстрый сигнал, пока вы передвигайтесь по дому или участку. Мы рассчитаем, сколько нужно модулей на вашу площадь дома. А инженеры настроят устройство так, чтобы интернет ловил везде.

`,\n },\n];\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\nimport Button from '@r1-frontend/ui-react/components/buttons/button';\n// @ts-ignore\nimport GridContainer from '@r1-frontend/ui-react/components/layouts/gridContainer';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { BaseSpeedLine } from '@r1-frontend/ui-react/organisms/SpeedLine';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { RequestFormPhone } from '~/src/components/RequestFormPhone';\n\nimport { breakePoints } from '~/src/features/internet/internet-represent/styled';\n\nconst breakPoints = {\n tablet: '1023px',\n};\n\nexport const StyledContainer = styled(GridContainer)`\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n\n @media (max-width: ${breakePoints.desktop}) {\n padding-left: 0;\n padding-right: 0;\n }\n\n @media (max-width: ${breakePoints.mobile}) {\n padding-left: 16px;\n padding-right: 16px;\n }\n`;\n\nexport const SRequestFormPhone = styled(RequestFormPhone)<{isMobile: boolean}>`\n padding: 0;\n padding: ${p => p.isMobile ? '15px' : '24px'};\n background-color: ${COLORS.GRAY_XS};\n border-radius: ${BorderRadius.OuterBlockRadius};\n\n input[type=\"checkbox\"] {\n align-self: flex-start;\n }\n\n > div > div {\n > button {\n @media (max-width: ${breakPoints.tablet}) {\n width: 100%;\n }\n }\n }\n`;\n\nexport const RepresentTop = styled.div`\n width: 100%;\n padding: 30px 0 0 0;\n\n @media (max-width: ${breakePoints.mobile}) {\n margin-bottom: 20px;\n }\n`;\n\nexport const BlockWithSpeedLineWrapper = styled.div`\n width: 100%;\n\n @media (min-width: ${wideBreakpoints.mobile}) {\n margin-top: 160px;\n }\n`;\nexport const SpeedLineSelectorWrapper = styled.div`\n display: flex;\n flex-direction: row;\n \n gap: 12px;\n \n & > * {\n width: 100%;\n }\n`;\n\nexport const SBaseSpeedLine = styled(BaseSpeedLine)`\n margin-top: 12px;\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n margin-top: 8px;\n }\n`;\n\nexport const ButtonsWrapper = styled.div`\n display: flex;\n flex-direction: row;\n width: 100%;\n \n gap: 12px;\n \n ${Button}:first-child {\n flex-grow: 1;\n }\n\n ${Button}:last-child {\n align-self: flex-end;\n }\n \n @media (min-width: ${wideBreakpoints.mobile}) {\n margin-top: 12px;\n }\n`;\n\nexport const Content = styled.div`\n display: flex;\n flex-wrap: nowrap;\n width: 100%;\n\n @media (max-width: ${breakePoints.mobile}) {\n flex-direction: column;\n row-gap: 40px;\n }\n`;\n\nexport const TextContent = styled.div`\n flex: 1 0 1%;\n flex-direction: column;\n align-items: flex-start;\n width: 100%;\n max-width: 468px;\n padding-top: 105px;\n\n @media (max-width: ${breakePoints.mobile}) {\n max-width: none;\n padding-top: 25px;\n }\n`;\n\nexport const PreTitle = styled.h1`\n ${FONTS.H5};\n margin: 0;\n margin-bottom: 5px;\n`;\n\nexport const Title = styled.div`\n ${FONTS.H1};\n\n & > i {\n display: contents;\n color: ${COLORS.RED_FIRM}\n }\n\n @media (max-width: ${breakePoints.laptop}) {\n margin-bottom: 8px;\n ${FONTS.H2};\n }\n\n @media (max-width: ${breakePoints.mobile}) {\n width: 250px;\n }\n`;\n\nexport const Text = styled.div`\n ${FONTS.M};\n\n @media (max-width: ${breakePoints.tablet}) {\n ${FONTS.XS};\n }\n`;\n\nexport const FormWrap = styled.div`\n width: 100%;\n margin-top: 18px;\n`;\n","import React, { useMemo, useState } from 'react';\nimport Link from 'next/link';\nimport { useRouter } from 'next/router';\n\nimport Button from '@r1-frontend/ui-react/components/buttons/button';\nimport BaseCheckbox from '@r1-frontend/ui-react/components/controls/baseCheckbox';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport DefaultPopup from '@r1-frontend/ui-react/components/popups/defaultPopup';\nimport { CallCalling } from '@r1-frontend/ui-react/components/svg/call';\nimport { RoundedBlock } from '@r1-frontend/ui-react/experimental/blocks';\nimport SpeedLineWithDescription, {\n TSpeedLineItemWithDescription,\n} from '@r1-frontend/ui-react/organisms/SpeedLine/SpeedLineWithDescription';\nimport { ACTIONS, CATEGORIES } from '@r1-frontend/shared/constants/analytics';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\nimport { useOnceExecute } from '@r1-frontend/shared/hooks/useOnceExecute';\nimport { TArrayTwoOrMore } from '@r1-frontend/shared/types/Array';\nimport { EProductsId } from '@r1-frontend/shared/types/EProductsId';\n\nimport LazyCallBack from '~/src/components/LazyCallBack';\nimport isFullBuyVillage from '~/src/features/full-buy/helpers/ab/isFullBuyVillage';\nimport getUriToFullBuy from '~/src/features/request/helpers/getUriToFullBuy';\nimport { TTariffsGroup } from '~/src/features/request/types/TTariffsGroup';\nimport { getAnalyticsSender } from '~/src/helpers/hooks/useAnaliticsSender';\nimport { isLeadGenerationHide } from '~/src/helpers/isLeadGenerationHide';\n\nimport * as ST from '~/src/features/internet/internet-represent/page-blocks/RepresentTop/styled';\n\ntype TSpeedLineSelectorProps = {\n speedLineItems: {\n bundles: TArrayTwoOrMore,\n internet: TArrayTwoOrMore,\n },\n isAuth: boolean,\n isCottage: boolean,\n}\nconst sendAnalytics = getAnalyticsSender(CATEGORIES.applicationForm);\nconst sendAnalyticsCard = getAnalyticsSender(CATEGORIES.tariffCards);\nconst SpeedLineSelector = (\n {\n speedLineItems,\n isAuth,\n isCottage,\n }: TSpeedLineSelectorProps,\n): JSX.Element => {\n const router = useRouter();\n const isTablet = useMatchMedia(`(max-width: ${wideBreakpoints.tablet})`);\n const [selectedSpeedItemId, setSelectedSpeedItemId] = useState(0);\n const [isLazyCallbackOpen, setIsLazyCallbackOpen] = useState(false);\n\n const sendAnalyticsOnce = useOnceExecute(() => sendAnalyticsCard(ACTIONS.moveSpeedSlider));\n selectedSpeedItemId && sendAnalyticsOnce();\n\n const [tariffsGroup, setTariffsGroup] = useState(speedLineItems.bundles.length > 0 ? 'bundles' : 'internet');\n\n const selectedSpeedItem = speedLineItems[tariffsGroup][selectedSpeedItemId];\n const redirectLink = isAuth ? '/lk/change-tariff' : getUriToFullBuy(selectedSpeedItem.alias, tariffsGroup);\n\n const showLazyCallback = () => {\n sendAnalytics(ACTIONS.openCallbackForm);\n if (isFullBuyVillage()) {\n router.push(redirectLink.concat('&filters=cottage'));\n } else {\n setIsLazyCallbackOpen(true);\n }\n };\n\n const isLeadGeneration = useMemo(() => isLeadGenerationHide(), []);\n const handleSetIsTvChannelsNeed = () => {\n setTariffsGroup(prev => prev === 'bundles' ? 'internet' : 'bundles');\n tariffsGroup === 'bundles'\n ? sendAnalyticsCard(ACTIONS.checkboxTvChannelsOff)\n : sendAnalyticsCard(ACTIONS.checkboxTvChannelsOn);\n setSelectedSpeedItemId(0);\n };\n\n const onClickHandler = () => {\n !isAuth && sendAnalytics(\n 'open_tariff',\n `${selectedSpeedItem.title}|${tariffsGroup === 'bundles' ? 'bundle' : 'mono'}`,\n );\n };\n // В связи с тем, что наборы тарифов с ТВ и без ТВ могут различаться в количестве и конечным составом, было принято решение вывести\n // два компонента выбора скорости под каждый набор. Таким образом с компонента снята ответственность перерендера с новым набором\n // и обнуление состояния выбранного элемента.\n // Это необходимо в связи с тем, что есть внешний контрол (с ТВ, без ТВ), который влияет на набор тарифов.\n // Вывести два компонента гораздо дешевле чем монструозить логику сброса состояния выбранной скорости в зависимости от нового набора данных.\n return (\n <>\n \n {tariffsGroup === 'bundles'\n ? (\n \n )\n : (\n \n )\n }\n\n {speedLineItems.bundles.length > 0 && (\n \n \n А еще мне нужны ТВ-каналы\n \n \n )}\n\n \n {isCottage\n ? (\n \n )\n : (\n <>\n \n \n \n {!isLeadGeneration &&