{"version":3,"file":"static/chunks/pages/_site/[city]/reviews-c42fc6a3756dd41a.js","mappings":"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","sources":["webpack://_N_E/?1240","webpack://_N_E/./src/features/reviews/components/AverageGrade/styled.ts","webpack://_N_E/./src/features/reviews/components/AverageGrade/index.tsx","webpack://_N_E/./src/features/reviews/components/GradeHelp/styled.ts","webpack://_N_E/./src/features/reviews/components/GradeHelp/index.tsx","webpack://_N_E/./src/features/reviews/components/GradesList/data.tsx","webpack://_N_E/./src/features/reviews/components/Review/styled.ts","webpack://_N_E/./src/features/reviews/components/Review/index.tsx","webpack://_N_E/./src/features/reviews/components/GradesList/styled.ts","webpack://_N_E/./src/features/reviews/components/GradesList/index.tsx","webpack://_N_E/./src/features/reviews/styled.ts","webpack://_N_E/./src/features/reviews/index.tsx","webpack://_N_E/./pages/_site/[city]/reviews.tsx","webpack://_N_E/./src/helpers/date.js","webpack://_N_E/../../packages/shared/src/helpers/pluralize/index.ts","webpack://_N_E/../../packages/shared/src/hooks/useResizeObserver.tsx","webpack://_N_E/../../packages/ui-react/src/components/svg/arrows/SingleArrowUp.tsx","webpack://_N_E/../../packages/ui-react/src/experimental/blocks/RoundedBlock/index.ts"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_site/[city]/reviews\",\n function () {\n return require(\"private-next-pages/_site/[city]/reviews.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_site/[city]/reviews\"])\n });\n }\n ","import { LazyLoadImage } from 'react-lazy-load-image-component';\nimport styled from 'styled-components';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { H1, H2 } from '@r1-frontend/ui-react/components/typography/heading';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nexport const Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n grid-area: average;\n row-gap: 24px;\n`;\n\nexport const ContentWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n width: 100%;\n padding: 32px;\n padding-top: 24px;\n background-color: ${COLORS.BgSurface};\n border-radius: ${BorderRadius.OuterBlockRadius};\n row-gap: 24px;\n height: 356px;\n flex-wrap: nowrap;\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n height: 404px;\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n height: fit-content;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n padding: 24px;\n row-gap: 16px;\n }\n`;\n\nexport const Label = styled(H2)`\n width: max-content;\n`;\n\nexport const GradeBlock = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n row-gap: 12px;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n flex-direction: row;\n justify-content: space-between;\n }\n`;\n\nexport const GradeNumber = styled(H1)`\n font-size: 76px;\n line-height: 86px;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n font-size: 40px;\n line-height: 52px;\n }\n`;\n\nexport const Stars = styled.div`\n display: flex;\n flex-direction: row;\n column-gap: 2px;\n padding: 0 3.5px 2px;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n padding: 0;\n }\n`;\n\nexport const Star = styled(LazyLoadImage)<{ src: string }>`\n width: 56px;\n height: 53px;\n padding: 5px;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n width: 32px;\n height: 29px;\n padding: 3px;\n }\n`;\n","import React from 'react';\n\nimport { Paragraph4 } from '@r1-frontend/ui-react/components/typography/paragraph';\nimport WebpImage from '@r1-frontend/ui-react/components/WebpImage';\nimport { RoundedBlock } from '@r1-frontend/ui-react/experimental/blocks';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nimport * as ST from './styled';\n\nconst starFull = '/static/images/grades/star-full';\nconst starHalf = '/static/images/grades/star-half';\n\nconst AverageGrade = () => {\n\n return (\n \n \n Отзывы о Дом.ру\n \n \n \n \n 4.7\n \n \n {\n [...Array(5)].map((_, index) => {\n return (\n \n );\n })\n }\n \n \n \n \n {'Сейчас мы собираем отзывы на отзывы.ру и других сайтах. Вскоре можно будет написать их прямо на этой странице — мы работаем над этим.'}\n \n \n \n \n );\n};\n\nexport default AverageGrade;\n","import { LazyLoadImage } from 'react-lazy-load-image-component';\nimport 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 Wrapper = styled.div`\n grid-area: help;\n row-gap: 36px;\n height: min-content;\n`;\n\nexport const ContentWrapper = styled.div`\n position: relative;\n height: fit-content;\n padding: 32px;\n background-color: ${COLORS.BgSurface};\n border-radius: ${BorderRadius.OuterBlockRadius};\n row-gap: 8px;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n padding: 24px;\n }\n`;\n\nexport const TextWrapper = styled.div`\n margin-right: 146px;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n margin-right: 112px;\n }\n`;\n\nexport const TextLink = styled.a`\n transition: 0.25s;\n ${FONTS.MediumS};\n color: ${COLORS.Link};\n \n &:hover {\n color: ${COLORS.TextPrimary};\n }\n`;\n\nexport const ImageGirl = styled(LazyLoadImage)<{ src: string }>`\n position: absolute;\n right: 0;\n bottom: 0;\n width: 160px;\n height: 160px;\n border-bottom-right-radius: ${BorderRadius.OuterBlockRadius};\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n width: 112px;\n height: 112px;\n }\n`;\n","import React from 'react';\nimport Link from 'next/link';\n\nimport { H3 } from '@r1-frontend/ui-react/components/typography/heading';\nimport { Paragraph4 } from '@r1-frontend/ui-react/components/typography/paragraph';\nimport WebpImage from '@r1-frontend/ui-react/components/WebpImage';\n\nimport * as ST from './styled';\n\nconst gradeHelpGirl = '/static/images/grades/grade-help-girl';\nconst SUPPORT_MAIL = 'mailto:help@domru.ru';\n\nconst GradeHelp = () => {\n return (\n \n \n \n Столкнулись с проблемой?\n \n \n \n Обязательно поделитесь с нами подробностями — поможем разобраться\n и возьмём ваш опыт на вооружение. Хвалите, ругайте, предлагайте —\n каждый отзыв помогает нам становиться лучше для вас. \n \n \n {'Написать на почту'}\n \n \n \n \n \n \n \n \n\n \n \n Для чего мы просим вас оставить отзыв\n \n \n Обратная связь очень важна. Мы учитываем ваши пожелания и потребности, чтобы повышать\n качество услуг и стабильность связи. Ещё отзывы помогают другим людям оценить надёжность\n интернет-провайдера и сделать выбор.\n \n \n Отзывы содержат критику — это хорошо. Она помогает нам работать над своими недостатками\n и становиться лучше.\n \n \n \n );\n};\n\nexport default GradeHelp;\n","import { IReviewData } from '~/src/features/reviews';\n\nconst otzovik = 'otzovik.com';\nconst yandex = 'maps.yandex.ru';\n\nexport const data: IReviewData[] = [\n {\n date: '23.01.2023 4:25',\n text: `Отличная приставка, которая может оживить даже старый телевизор, что и произошло в моем случае. Как я понял приставка имеет операционную систему андроид, ведь\n некоторые игры или приложения можно скачать на приставку, что очень радует меня. Поддерживает большое количество онлайн кинотеатров тоже расширяет границы просмотра,\n ведь смотришь не только ТВ программы. Маленькая, компактная и легенькая коробка, которая дает большой функционал. Как я считаю эта приставка не будет такая без\n интернета, ведь к большому сожалению хоть и похоже что это андроид, но без интернета не особо будет и развлекать, хоть и не пробовал. Также могу сказать за тех.\n поддержку, очень быстро и качественно оказывают помощь, очень здорово. Насчет пульта могу сказать, что со временем он облазиет и становится не приятным на ощупь,\n но в пакетике он хранится тоже отлично :)`,\n grade: 5,\n autor: 'Diana2467',\n source: otzovik,\n },\n {\n date: '24.12.2022 7:50',\n text: `Познакомились с данным провайдером в 2018 году после перехода с Аквилона и Ростелекома. Сказать, что мы были приятно удивлены - ничего не сказать. 1 - Скорость\n интернета. При тарифе в 100 мб/с через роутер ловит 92-94 мб/с, что является отличным показателем, к сравнению - Ростелеком и Аквилон выдавали 40-70 мб/с.\n 2 - Практически полное отсутствие сбоев. За 3 года перебои происходили 3 раза и решались в чате с поддержкой за 5 минут 3 - Ремонтные работы с 2 ночи до 7 утра,\n что является огромным плюсом. 4 - Поддержка. Прекрасные люди сидят в технической поддержке. Помогают настроить роутер, исправить мелкие проблемы, а когда роутер\n уже подошел к своей смерти, оператор предложил не только роутеры от своей компании, но и аналоги на рынке, какие стабильнее, меньше ломаются и дольше живут.`,\n grade: 5,\n autor: 'Kseniia KN',\n source: otzovik,\n },\n {\n date: '04.09.2022 2:34',\n text: `Скорость соответствует заявленной, часто даже больше. 300 Мбит было без провалов и с запасом, сейчас подключил 750 Мбит, заявленная скорость есть.\n Вопрос по отключению телевидения и переходу на 750 Мбит решили оперативно по телефону.`,\n grade: 5,\n autor: 'guru31FEED',\n source: otzovik,\n },\n {\n date: '29.05.2022 9:52',\n text: `Проверенный и надежный поставщик услуг. Подключают быстро. После звонка оператору Дом. ру мастер приезжает не позднее следующего дня. Если нет собственного\n роутера, можно приобрести в рассрочку или взять в аренду. Соединение стабильное, сигнал без помех, непредвиденных поломок и отключений, вай фай ловит отлично.\n Проверку дом. ру прошел во время пандемии, когда дома были подключены к wi-fi и телефоны, и компьютер. Благодаря хорошему качеству`,\n grade: 5,\n autor: 'kuzevg99',\n source: otzovik,\n },\n {\n date: '17.05.2022 14:03',\n text: `Одни плюсы. Если и есть минусы то их очень немного, да и компания развивается и качество становится только лучше! Хотя я и обращаюсь с просьбами в ДОМ. РУ не\n очень часто Но каждый раз при обращении проблему решают очень быстро и профессионально. Ни разу не было такого, что бы нахамили или не смогли решить проблему.\n С интернетом и телевидением проблем нет всё устраивает. Сугубо моё мнение, ДОМ. РУ лучшая в этом сегменте рынка компания. И это них... я не заказной отзыв!!!\n Просто я пользуюсь услугами ДОМ. РУ уже много лет, и проблем практически нет. Хотя может быть это только мне так повезло. В любом случае я доволен как слон,\n что подключил ДОМ. РУ!!!`,\n grade: 5,\n autor: 'gayechka13',\n source: otzovik,\n },\n {\n date: '03.05.2022 20:22',\n text: `Отмечаю профессионализм и оперативность при восстановлении подключения к сети Интернета, показанные сервисным инженером Ярощук Д. А. Прибыл по вызову в\n адрес точно в ранее согласованное время, быстро и точно определил неисправность и способы её устранения и не ушел, пока не убедился в правильной работе оборудования\n и приложений пользователя. Спасибо.`,\n grade: 4,\n autor: 'Воговец',\n source: otzovik,\n },\n {\n date: '26.04.2022 18:04',\n text: `Я посоветовалась с ребятами более опытными на работе, дали мне небольшой список наших городских компаний, у которых более менее интернет нормальный.\n Везде оставили заявки, в дом. ру отреагировали быстрее всего, его и подключили) Консультант выслушала нас для чего нужен интернет и как часто мы им пользуемся,\n посоветовала пакет Мега Л. Дочь довольна, говорит, что интернет теперь работает намного лучше. Даже я заметила, что онлайн-фильмы и видео загружаются очень\n быстро. Надеемся, что все и дальше будет в таком же духе.`,\n grade: 4,\n autor: 'John Dou',\n source: otzovik,\n },\n {\n date: '20.04.2022 6:30',\n text: `Приветствую всех заглянувших на мой отзыв! Не так давно у нас поменяли домофон. Прежний в принципе всех устраивал, но прежний провайдер сдал свои полномочия,\n а на смену пришёл новый Дом. ру. С дом. ру мы знакомы много лет, пользуемся интернетом и телевидение тоже от этого провайдера. Теперь вот и домофон ! Домофон\n поставили не простой, а с видеонаблюдением. Конечно сразу возник вопрос, а придётся ли менять что-то в квартире, так как у нас уже был ремонт,\n то не хотелось новых дыр в стене`,\n grade: 5,\n autor: 'Mak10101',\n source: otzovik,\n },\n {\n date: '16.04.2022 21:15',\n text: `интернет просто летает, телевидение вообще супер жалеем, что не подключили раньше Не особо любим менять провайдеров, услугами последнего пользовались\n около пяти лет, с моменты заселения в квартиру. Но в последний год ужасно испортилось качество связи, частые поломки и полный игнор от техподдержки.\n Пришлось искать альтернативу. сосед рассказал, что он уже полгода как перешел на дом. ру и проблем нет. Почитали в интернете, вроде бы норм. Оставили заявку\n на сайте, в течение часа нам перезвонил менеджер, чтобы уточнить, когда нам удобно`,\n grade: 5,\n autor: 'robingoodka',\n source: otzovik,\n },\n {\n date: '16.04.2022 8:01',\n text: `работает стабильно, очень редко перебои один раз была поломка, но устранили оперативно Цифровое телевидение и интернет от дом. ру мы подключили\n месяцев восемь назад. Семья у нас большая, живем с мужем, двумя детьми и моими родителями в частном доме. И интернетом все пользуются, и телевизор любим\n посмотреть. Мы сразу выбрали самый полный пакет, потому что научены уже опытом, что на таком не экономят. Платим 1300 рублей. В первые два месяца была скидка,\n оплачивали половину от этой суммы. Каналов больше 150, на любой вкус) Качество картинки`,\n grade: 5,\n autor: 'Аноним4634839',\n source: otzovik,\n },\n {\n date: '21.02.2022 2:09',\n text: `перенастроить или вообще поменять. Пообщался с знакомыми геймерами из Ростова, у кого какой интернет, многие хвалили дом. ру. Решил попробовать и я.\n Еще и удачно на акцию попал. За первый месяц заплатил всего 1 рубль. Это акция для всех новых абонентов. Роутер в аренду, правда, не предлагают, как многие\n другие провайдеры. Но у меня свой новый мощный. Расскажу по качестве инета. Подключил на 250, и правда просто летает! в первую неделю все тщательно проверял,\n скорость падала, но не намного. Такого, что почти в два раза меньше выдает, не было. Пользуюсь четвертый месяц, ни одной поломки.`,\n grade: 5,\n autor: 'Аноним4544800',\n source: otzovik,\n },\n {\n date: '26.01.2022 16:08',\n text: `Скорость сети. Качество услуги. Низкие цены. Отличные операторы поддержки. За 10 лет ни одного так и не нашел. Хотя искал весьма усердно. Но не к чему придраться.\n Здравствуйте. 10 лет назад, в далеком 2011 году, в наш славный город пришел ЭР-Телеком в лице провайдера Дом. РУ. Акции, быстрые подключения, ошеломляющая на то\n время скорость и прочее запестрело на всех рекламных стендах. Мне тут же захотелось попробовать, т. к. в городе на то время не было ни одного мало-мальски рабочего\n провайдера. Местные и весьма унылые мной не рассматривались`,\n grade: 5,\n autor: 'Дроздова Тася',\n source: otzovik,\n },\n {\n date: '26.01.2022 5:20',\n text: `У нас большой коттедж, и постоянно были проблемы с интернетом. Когда дети подросли, стало совсем невозможно им пользоваться из за большой нагрузки, решили\n сменить провайдера. Муж выбрал Дом ру, хотя я скептически относилась к этой затее… Была уверена, что в нашем районе да еще в частном доме интернет всегда будет\n через пень колоду! Но вот пользуемся услугами нового провайдера второй месяц, и это превзошло все мои ожидания! Я даже на кухне могу спокойно`,\n grade: 5,\n autor: 'Mikamila90',\n source: otzovik,\n },\n {\n date: '25.01.2022 16:28',\n text: `Скорость, выбор тарифов и предложений. Проблема была решена в полном объёме Отсутствуют Хочу выразить благодарность мастеру Станиславу за оперативную помощь.\n По звонку, в этот же день приехал специалист и установил новый роутер. Также, устранил неполадки в работе кабельного ТВ. Сейчас всё работает безупречно. Спасибо.`,\n grade: 5,\n autor: 'Влад Коротков',\n source: otzovik,\n },\n {\n date: '21.01.2022 18:13',\n text: `Продвинутый провайдер, можно подключиться по акции, отличная скорость. для меня все же дороговато. Снимаю квартиру на двоих с однокурсником, нужен был\n недорогой и качественный интернет. Хозяева квартиры сказали самим искать провайдера, а заявку они потом подтвердят. В общем, решили подключаться через дом. ру,\n но долго спорили по тарифам))) Мне интернет нужен только для учебы и общения в соцсетях, а мой однокурсник – это просто заядлый геймер. В итоге сошлись на тарифе\n Облачный гейминг М (хотя я и сомневался) который подключили со скидкой в`,\n grade: 5,\n autor: 'ЛюсиЛью',\n source: otzovik,\n },\n {\n date: '20.01.2022 10:43',\n text: `После покупки квартиры встал вопрос о подключении интернета. И мне, и жене было важно, чтобы провайдер оказался без сюрпризов – из-за пандемии мы 3-4 дня в\n неделю работаем дома, а не в офисе. На съемной квартире с инетом были постоянные проблемы – скорость низкая, примерно раз в месяц в самый неподходящий момент\n вообще пропадал. В общем, намучились. Интернет от Дом. ру есть у моих родителей, но они подключались, чтобы смотреть онлайн ТВ`,\n grade: 5,\n autor: 'yandenisov',\n source: otzovik,\n },\n {\n date: '17.01.2022 22:28',\n text: `Не могла понять почему не подключается интернет, в итоге решила позвонить, оказалось я забыла ввести пароль . Сотрудник довольно быстро мне помог и\n был вежливым, не могу не написать, что голос был очень приятным :) Меня попросили отставить отзыв, но я что-то не поняла куда, поэтому пишу сюда.....`,\n grade: 5,\n autor: 'Votlogin',\n source: otzovik,\n },\n {\n date: '17.01.2022 13:01',\n text: `интернетом от дом ру пользуюсь больше года. проверен и протестирован мной от и до. недавно сменила пакет услуг, чтобы еще и тв было. теперь уйма\n каналов в отличном качестве и еще доступ к онлайн-кинотеатрам, где показывают разные новинки.`,\n grade: 5,\n autor: 'Иванова Рената',\n source: otzovik,\n },\n {\n date: '13.01.2022 10:35',\n text: `Интернет в 100 Мб от моего бывшего провайдера и дом ру – кардинально разные вещи. Если ранее у нас были проблемы, когда все втроем включали свои гаджеры.\n То теперь можем одновременно и торрент качать, и фильмы онлайн смотреть, и в социальных сетях сидеть.`,\n grade: 5,\n autor: '5ArinA',\n source: otzovik,\n },\n {\n date: '13.01.2022 9:25',\n text: `У мамы пакет подключись 100. Очень довольна. Много каналов с ее любимыми фильмами. При подключении получили скидку на два месяца.\n Купили у них и приставку от дом ру. Вообще сомневалась насчет покупки, но оказалось что можно на 2 недели взять на тест, тогда решились.\n Оставили, все нравится.`,\n grade: 5,\n autor: 'Ермаков Григорий',\n source: otzovik,\n },\n {\n date: '12.01.2022 14:38',\n text: `Дом ру и у нас в квартире, и у родителей в частном доме. Всем все нравится. Поняли, что у нас отличный провайдер,\n когда с мужем ушли на удаленку, а дети на дистанционку. Скорость пришлось увеличить, а так все довольны.`,\n grade: 5,\n autor: 'Зыков Тихон',\n source: otzovik,\n },\n {\n date: '11.01.2022 16:42',\n text: `Я с дом ру с 2015 года. Были случаи, когда серьезные поломки были, хотел даже переподключиться. Но после того, как начали уделять внимание модернизации\n оборудования, все гладко и скорость хорошая. В дом ру вежливые менеджеры. Всегда все детально расскажут и подскажут,`,\n grade: 5,\n autor: 'Баженов Матвей',\n source: otzovik,\n },\n {\n date: '21.03.2022 4:53',\n text: `Лучший провайдер из тех что я пользовался!!!!! По сравнению с Ростелекомм и Ярнетом интернет бомбический за свои деньги!!!! Всегда работает, стабильный, да\n подключения ждали долго и отключать не хотели, но по работе интернета вопросов вообще нет`,\n grade: 5,\n autor: 'ai rin',\n source: yandex,\n },\n {\n date: '18.03.2022 8:54',\n text: `Скорость стабильная. Есть с чем сравнить. С прошлым провайдером намучались. Если подключали к вай фаю сразу три гаджета и два ноута, начинало все лагать.\n сейчас все ок, скорость одна из лучших.`,\n grade: 5,\n autor: 'Вальков Макс',\n source: yandex,\n },\n {\n date: '18.03.2022 8:53',\n text: `Только две недели назад сменила провайдера. Но я всем пока довольна. Консультанты вежливые. Мастера аккуратные, приходят в\n удобное для вас время. Не навязывают дополнительные услуги и покупку их оборудования.`,\n grade: 5,\n autor: 'Смагин А.Д',\n source: yandex,\n },\n {\n date: '19.03.2022 10:36',\n text: `Плачу за 100 мб. Столько и получаю. Нас двое, хватает с головой. С предыдущим провайдером были сплошные проблемы..\n Листал ленту в контакте, а фотки и у меня не грузились, ждал всегда 5-10 секунд, пока картинка появится. В дом ру инет летает.`,\n grade: 5,\n autor: 'Морев Илья',\n source: yandex,\n },\n {\n date: '18.03.2022 14:35',\n text: `Подключили родителям, они живут за городом. Часто привозим к ним детей, они с гаджетами, мобильный работает слабо. Приехали в офис,\n оформили заявку, сразу и нормальный роутер взяли в рассрочку. На следующий день все уже было готово.`,\n grade: 5,\n autor: 'Леня',\n source: yandex,\n },\n {\n date: '20.03.2022 5:52',\n text: `Подключился к дом ру недавно по акции. И интернет, и ТВ. Сначала думал, что не фонтан, скорость такая же, как и у бывшего провайдера.\n Пришел мастер, посмотрел, оказалось, что проблема в моем устаревшем роутере, который просто не тянет большую скорость. Заменил роутер, все летает`,\n grade: 5,\n autor: 'Акутин',\n source: yandex,\n },\n {\n date: '18.03.2022 2:57',\n text: `В нашем доме этот интернет у многих. Меня тоже заинтересовало, потому что своим интернетом была не очень довольна. В итоге и интернет подключила, и ТВ.\n Приставку купила у них, всю сумму вернули баллами, которые сейчас трачу на оплату онлайн-кинотеатров. Очень удобно.`,\n grade: 5,\n autor: 'Угрюмов Денис',\n source: yandex,\n },\n {\n date: '18.03.2022 7:13',\n text: `живем за городом, выбор провайдеров у нас ограничен. выбирали из того, что есть. но довольны. скорость лучше, чем у нас была в квартире.\n мастер очень доброжелательный к нам приезжал. сделал свою работу быстро и аккуратно.`,\n grade: 5,\n autor: 'молчанов',\n source: yandex,\n },\n {\n date: '20.03.2022 5:52',\n text: `Лучший провайдер в городе для частного дома! До этого пользовался услугами двух других компаний, ужасно недоволен. Платил за одну скорость, получал другую,\n в итоге два месяца переговоров с техподдержкой не дали мне результатов. Переподключился и очень рад.`,\n grade: 5,\n autor: 'семен побережный',\n source: yandex,\n },\n {\n date: '17.03.2022 6:56',\n text: `для меня надежный провайдер, пока им полностью доволен. я по выходным иногда подрабатываю, веду стримы. в общем интернет мне нужен хороший. раньше частенько\n бывшие операторы меня подводили. я не получал ту скорость, которая была мне нужна. дом ру дает стабильный трафик, все поломки чинятся быстро.`,\n grade: 5,\n autor: 'Барыгин Алексей',\n source: yandex,\n },\n {\n date: '19.03.2022 1:46',\n text: `Пользуюсь услугами этого провайдера более 15 лет. Нареканий нет. Все возникающие вопросы решались моментально, неисправности устранялись в течение суток,\n переход на другой тариф по времени в соответствие с нормативами. Работают профессионалы как в ремонтном отделе, так и операторы. Внимательны, культурны в общении.\n Менять провайдера даже и не думаю. Спасибо вам за обслуживание и за качество предоставляемых услуг.`,\n grade: 5,\n autor: 'прокопов',\n source: yandex,\n },\n {\n date: '19.03.2022 10:36',\n text: 'За 3 года ни одной проблемы не возникло. Разрывов нет (много играю в онлайн игры), скорость стабильная. Удивлен, что так много плохих отзывов.',\n grade: 5,\n autor: 'Измайлов Петр',\n source: yandex,\n },\n {\n date: '17.03.2022 0:32',\n text: 'Не поверите но всё устраивает, работает инет стабильно, что еще надо.',\n grade: 5,\n autor: 'Казимиров Артем',\n source: yandex,\n },\n {\n date: '20.03.2022 5:52',\n text: `Подключились недавно, приобрели оборудование, всё оплатили точно по договору. Интернетом я доволен, по ТВ приставке столько каналов,\n сколько и не успеваем смотреть) Но всё равно, учитывая что там идёт, хорошо что выбор большой. Детям всегда находятся мультики.\n Жена свои каналы смотрит по кулинарии и сериалы. Ютуб не тормозит, это уже для меня важно.`,\n grade: 5,\n autor: 'Юлий',\n source: yandex,\n },\n {\n date: '17.03.2022 2:03',\n text: `В целом нет претензий, потому что на моём тарифе ничего не виснет, для онлайн общения куда лучше, чем тот, который был раньше.\n Самое интересное, что работает отлично даже по вечерам, когда обычно перегруз, за всё время 1 раз всего подвис.Так что довольна.`,\n grade: 5,\n autor: 'Ноздрин Алексей',\n source: yandex,\n },\n {\n date: '18.03.2022 10:04',\n text: `На первые два месяца была обалденная скидка, сейчас подороже, чем когда пользовался предыдущей компанией, но зато без сбоев, все странички\n просто летают. поддержка оперативно, не приходится долго дозваниваться. никаких тормозов когда зависаешь в онлайне, это вообще супер.`,\n grade: 5,\n autor: 'Прыганов Илья',\n source: yandex,\n },\n {\n date: '17.03.2022 5:49',\n text: `Сервис у Дом.ру как раз такой, какой должен быть сервис. Подключались когда - к нам приехали уже на следующий день, все четко - отзвонились\n и мастер был как штык. Можем теперь спокойно пользоваться кучей каналов, смотришь кино - не тормозит. Просто интернет без задоринки работает,\n быстро и четко. Зависов еще не было ни разу.`,\n grade: 5,\n autor: 'Драчев',\n source: yandex,\n },\n {\n date: '17.03.2022 5:49',\n text: `Скорость приличная, мне кажется что дальше больше, чем обещали, но это чисто умозрительно. Главное что стоит своих денег, потому что ты\n получаешь именно то, что тебе пообещали. Были один раз неполадки, уже не помню из-за чего, но исправили быстро, буквально через пару часов.\n А больше ничего такого не помню.`,\n grade: 5,\n autor: 'Сынчук И.В',\n source: yandex,\n },\n {\n date: '17.03.2022 8:55',\n text: `Яндекс: Сервис у Дом.ру как раз такой, какой должен быть сервис. Подключались когда - к нам приехали уже на следующий день, все четко - отзвонились\n и мастер был как штык. Можем теперь спокойно пользоваться кучей каналов, смотришь кино - не тормозит. Просто интернет без задоринки работает,\n быстро и четко. Зависов еще не было ни разу.`,\n grade: 5,\n autor: 'Семен Игоревич',\n source: yandex,\n },\n {\n date: '18.03.2022 0:30',\n text: `За отличную работу провайдеру огромное спасибище! Последние полгода не вспоминаю о том кошмаре, который был раньше у другого поставщика.\n Может я живу близко к их точке на ул. Победы, но ко мне и мастер, когда была авария, примчался быстро, и работает все отлично.`,\n grade: 5,\n autor: 'Кошкин Илья',\n source: yandex,\n },\n {\n date: '20.03.2022 1:01',\n text: `Подключились к Дом.ру недавно, намучившись с предыдущим провайдером. Живем в центре, мастер приехал быстро, так чистенько все организовал, сделал,\n в тот же день уже пользовались новым интернетом. Скорость приличная, каналов много, есть что посмотреть и нам с мужем, и детям. И мне для работы удобно,\n быстро открываются все страницы.`,\n grade: 5,\n autor: 'суханов И.Д',\n source: yandex,\n },\n {\n date: '16.03.2022 23:32',\n text: `Удобно, что можно приостановить услуги. Уже пользовался, когда уезжал в командировку,действительно на время моего отсутствия услуга была приостановлена.\n Так что денег сэкономил. И техподдержкой доволен, обычно через них решаю такие вопросы, отвечают быстро, перенаправляют на нужного специалиста и решают твой вопрос.`,\n grade: 5,\n autor: 'Ярофеев',\n source: yandex,\n },\n {\n date: '16.03.2022 11:16',\n text: `Наверное это лучший интренет в нашем городе. на геймерском тарифе классно все летает. Без всяких там сбоев. Ничего не отключается.\n Если какие-то плановые работы или авария, объясняют конкретно что случилось и когда все исправят. Так держать!`,\n grade: 5,\n autor: 'Александр М.',\n source: yandex,\n },\n {\n date: '18.03.2022 8:40',\n text: `Услугами этого провайдера пользуюсь давно. Когда переезжали на новую квартиру из другого района сюда, на Магистральную в частный дом,\n думали будут сложности провести интернет и телевидение, но подключили нас оперативненько, даже вопросов не возникло. И работает все как положено.\n Скорость хорошая, кино, ролики ютьюба, в общем все.`,\n grade: 5,\n autor: 'Алексей',\n source: yandex,\n },\n {\n date: '07.03.2022 12:02',\n text: `Уже давно так-то с Дом.ру,и вот только положительные впечатления.Недавно захотелось увеличить скорость и кол во каналов,посмотрел другие тарифы.\n Без проблем только обратился - уже назавтра приехали и перенастроили все,роутер понадобилось обновить. Так что сервис на 5+.`,\n grade: 5,\n autor: 'Александр К.',\n source: yandex,\n },\n {\n date: '28.02.2022 15:47',\n text: `Игровой тариф у дом ру как раз то, что нужно. Разрывов не бывает, чтобы сидеть дни без интернета, как было раньше с другим поставщиком - такого\n вообще больше нет. Даже не вспоминаю. Это чувство комфорта, когда просто пользуешься и не боишься, что будет сбой. Со способами оплаты тоже всё хорошо.`,\n grade: 5,\n autor: 'Foma Kirillov',\n source: yandex,\n },\n {\n date: '24.02.2022 6:44',\n text: 'Быстро и качественно обслуживают',\n grade: 5,\n autor: 'Дмитрий Драп',\n source: yandex,\n },\n {\n date: '25.02.2022 14:51',\n text: 'Отличная компания, самый лучший интернет.',\n grade: 5,\n autor: 'Екатерира Качаева',\n source: yandex,\n },\n {\n date: '24.02.2022 23:30',\n text: `Возникла проблема со скоростью ,позвонил в службу поддержки , всё объяснил. Через минут двадцать приехал мастер и заменил роутер,т.к. старый уже\n не мог перебить сигналы других роутером...В доказательство, мастер ,всё наглядно показал при помощи ноутбука.В общем остался очень доволен сервисом Дом.ру.`,\n grade: 5,\n autor: 'tiger009',\n source: yandex,\n },\n {\n date: '22.02.2022 10:49',\n text: `Хороший провайдер.Пользуемся несколько лет.скорость устраивает,работает без сбоев а если возникают неполадки,то реагируют сразу.\n Особенно радует индивидуальный подход к клиентам.Нам продлили скидку на услугу 'Архив' на год по нашей просьбе,как постоянным клиентам.Спасибо администратору!`,\n grade: 5,\n autor: 'Ксения К.',\n source: yandex,\n },\n {\n date: '22.02.2022 22:53',\n text: `Добрый день! В нашем доме были перебои с электричеством, и придя с работы,поняла,что не работает ни телевизор,ни интернет.\n Думала перегорело оборудование. Созвонилась с оператором и ко мне оперативно выехал мастер. Всё проверил и устранил проблему.\n Ещё и подключил второй телевизор на кухне. Осталась довольна работой компании,которая заботится о своих клиентах.`,\n grade: 5,\n autor: 'Анастасия Л.',\n source: yandex,\n },\n {\n date: '19.02.2022 14:29',\n text: `Интернет вполне норм.у меня частный дом, подключилась к самому сильному тарифу засмотрись плюс 250. Раздача отличная на весь дом.\n Интернетом пользуется у нас пять человек, плюс тв. Никто никому не мешает, у всех все отлично ловит`,\n grade: 5,\n autor: 'Ксения К.',\n source: yandex,\n },\n {\n date: '19.02.2022 7:47',\n text: `нормальное качество интернета даже на самом дешевом тарифе со 100 мбит. хорошо держит одновременную работу телефона и ноута.\n фильмы не заикаются, по скорости скачивания норм. цены растут, но не смертельно и не каждый год.`,\n grade: 4,\n autor: 'Максим Махно',\n source: yandex,\n },\n {\n date: '20.02.2022 12:07',\n text: `провайдер не без мелких недочетов, но без жестких проблем. интернет работает, тв показывает, счета приходят с одной и той же\n цифрой из месяца в месяц, никакие услуги внезапно не подключаются.`,\n grade: 5,\n autor: 'Евгения Григорьева',\n source: yandex,\n },\n {\n date: '18.02.2022 6:55',\n text: `Подключила тариф 'облачный геймнг'. Единственный интернет, который позволяет играть в облаке в игре которые не тянет комп.\n На старом провайдере пробовала играть через GFN, но интернет явно не тянул.`,\n grade: 5,\n autor: 'Егия Ч.',\n source: yandex,\n },\n {\n date: '19.02.2022 5:34',\n text: `Норм провайдер, цена как у всех зато интернет не падает и по скорости не провисает. Роутер не стал у них брать,\n купил сам по скидке, все работает. А приставку вот взял для телевизора в кухне, который без смарт тв, в рассрочку.\n Хорошая, работает чисто от вай-фая. Аналоги не дешевле.`,\n grade: 5,\n autor: 'Игнатий Гогуль',\n source: yandex,\n },\n {\n date: '20.02.2022 17:47',\n text: `Интернет нужен для общения и работы. Раньше пользовалась другим провайдером, проблем было достаточно. Сейчас переключилась на Дом ру,\n тут и поддержка быстро реагирует, если неполадки какие, и нет такого, чтобы по несколько часов отсутствовал инет…\n За нескольколько месяцев был один перебой, и тот устранили с космической скоростью.`,\n grade: 5,\n autor: 'Сергей Кривов',\n source: yandex,\n },\n {\n date: '19.02.2022 8:39',\n text: `Уже много лет пользуюсь услугами этого оператора, замечательная компания, скорость всегда не ниже 100 Кб/с, показывает все каналы в цифре, если есть небольшие сбои,\n всегда можно дозвониться, всегда отвечают, оперативно принимают меры для устранения, молодцы! Очень доволен услугами Дом.ru, рекомендую всем!`,\n grade: 5,\n autor: 'Danil K.',\n source: yandex,\n },\n {\n date: '21.02.2022 4:54',\n text: 'Подключилась быстро, как подала заявку, на второй день уже пришли. Мастер возился недолго, мусора после себя не оставил. Скорость нормальная, для работы хватает.',\n grade: 5,\n autor: 'Иван Пронин',\n source: yandex,\n },\n {\n date: '20.02.2022 18:43',\n text: 'Пользуемся их услугами уже много лет. В целом все устраивает, все удобно. Все вопросы решают оперативно',\n grade: 5,\n autor: 'Никита Даниленко',\n source: yandex,\n },\n {\n date: '21.02.2022 3:34',\n text: `Оплачивает интернет фирма, так что пользуемся услугами дом ру, наверное лет 6-7, он у всех сотрудников. Оперативно реагирует поддержка, поэтому из-за связи не было\n проблем с нашей клиентурой. Все вовремя. Вне рабочее время качаю фильмы, пользуюсь свободно всеми нужными приложениями, соц сетями, за стабильность поручусь.`,\n grade: 5,\n autor: 'Иван С',\n source: yandex,\n },\n {\n date: '15.02.2022 23:18',\n text: `В родительской квартире интернет и тв уже около 3 лет. Самый недорогой тариф, на все хватает. Каналов много, их любимый Мосфильм есть и все основные.\n По интернету мама звонила всего 1 раз с «не работает». Посоветовали вытащить роутер из розетки, вытащить провод из роутера и подключить все обратно.\n Помогло. Проблем сложнее не было.`,\n grade: 4,\n autor: 'Виктория Д.',\n source: yandex,\n },\n {\n date: '14.02.2022 3:47',\n text: `Неплохой провайдер. Как по мне, то один из самых серьезных в городе, руководство ответственно относится к своей работе. Поломок практически нет.\n Я, правда, дома только по вечерам, но качество и скорость хорошее. А вот с прошлым провайдером скорость вечером так падала, что ничего делать было не возможно.`,\n grade: 5,\n autor: 'Ник',\n source: yandex,\n },\n {\n date: '13.02.2022 19:47',\n text: 'Обожаю дом ру всегда пойдут на встречу интерне работает здорово пользуюсь услугами данной организации лет 10',\n grade: 5,\n autor: 'Дмитрий М.',\n source: yandex,\n },\n {\n date: '10.02.2022 17:10',\n text: `Пользуюсь с 2012 года, подключение пропадало за эти годы всего 1 раз. Может мне просто повезло :) Стабильно и уверенно!\n Купили роутер у дом ру хотим увеличить скорость`,\n grade: 5,\n autor: 'Елена Г.',\n source: yandex,\n },\n {\n date: '10.02.2022 4:47',\n text: `Думала, в частном доме будет сложность провести интернет. Увидела объявление Дом.ру, позвонила, сказали без проблем, прислали мастера, все оборудование\n подключили. Быстренько и оперативненько. Киношку смотрю какую хочу, скорость стабильная, не виснет.`,\n grade: 5,\n autor: 'Олег А.',\n source: yandex,\n },\n {\n date: '12.02.2022 3:55',\n text: `Киноманю постоянно, поэтому и перешла на Дом.ру недавно, они обещали больше возможностей в этом плане. Не обманули, все работает как надо, связь лучше\n чем с предыдущим оператором. Свои деньги, считаю, отрабатывает.`,\n grade: 5,\n autor: 'Денис Тимонин',\n source: yandex,\n },\n {\n date: '03.02.2022 11:12',\n text: `Для тех кто ноет что интернет дом ру нехороший провайдер или недобросовестный перейдите на ростелеком и будет вам счастье.узнаете что такое шаманские\n танцы с бубном,по крайней мере касается твери.`,\n grade: 5,\n autor: 'Rainbow_lion',\n source: yandex,\n },\n {\n date: '01.02.2022 7:34',\n text: `Это не самый дорогой у нас интернет-провайдер, который за ту плату, которую берет, обеспечивает то, что и указано в договоре. По сравнению с предыдущим,\n с которым у меня были проблемы последние несколько лет, это вообще сказка. Можно выходить на стрим и не опасаться, что прервется связь.`,\n grade: 5,\n autor: 'Кристина Худорожкова',\n source: yandex,\n },\n {\n date: '07.02.2022 12:09',\n text: 'Отличный инет, нет вечером провалов в скорости как у другого популярного провайдера',\n grade: 5,\n autor: 'Наталья А.',\n source: yandex,\n },\n {\n date: '07.02.2022 13:35',\n text: `Проблем нет, как было с провайдером до этого. Пользуемся всей семьей, особенно дедушка с бабушкой телевидением))) Приставка у нас куплена тоже от них,\n мы сразу это сделали. Вовремя вносишь оплату и никаких проблем. Один раз просрочили,были в отпуске, но не пришлось ждать, пока все заработает. Мне по работе,\n детям поиграть. Дороговато, зато стабильно. А учитывая, что мы в частном доме, вообще круто.`,\n grade: 5,\n autor: 'Случайно переехала в Европу',\n source: yandex,\n },\n {\n date: '01.02.2022 3:00',\n text: `Был какой-то глюк поначалу с телевидением. Позвонили в техподдержку, на следующий день пришел мастер - все заработало. Больше (тьфу-тьфу-тьфу) вызывать\n не пришлось, все нужные каналы есть. Спасибо!`,\n grade: 5,\n autor: 'tiger009',\n source: yandex,\n },\n {\n date: '30.01.2022 21:22',\n text: `Очень нравится интернет вместе с телевидением от дом ру. Много разных каналов в отличном качестве. На ютубе можно посмотреть все от мультфильмов до музыки.\n Можно скачивать любые приложения и общаться и смотреть видео. Правда они немного подняли цену за пакет безлимитный интернет + тв.`,\n grade: 5,\n autor: 'Дима Г.',\n source: yandex,\n },\n {\n date: '29.01.2022 21:49',\n text: `Пользуемся данным провайдером уже много лет. Никаких проблем серьезных с ним не имели, все удобно и понятно в личном кабинете. Интернет работает без перебоев,\n телевидение( мы им пользуемся редко) также вполне устраивает.`,\n grade: 5,\n autor: 'Любовь Непогода',\n source: yandex,\n },\n {\n date: '29.01.2022 5:57',\n text: `Нареканий ни каких нет. На связи круглосуточно, чуть какая поломка или ещё что то, сразу принимают меры для устранения. Работают в выходные и праздничные дни.\n Очень часто предлагают какие то промо акции, скидки.`,\n grade: 5,\n autor: 'Danil K.',\n source: yandex,\n },\n];\n","import { LazyLoadImage } from 'react-lazy-load-image-component';\nimport styled from 'styled-components';\n\nimport Button from '@r1-frontend/ui-react/components/buttons/button';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { Paragraph4 } from '@r1-frontend/ui-react/components/typography/paragraph';\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 width: 100%;\n display: flex;\n flex-direction: column;\n background-color: ${COLORS.BgLight};\n border-radius: ${BorderRadius.OuterBlockRadius};\n padding: 32px 32px 24px;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n padding: 24px 24px 16px;\n }\n`;\n\nexport const User = styled.div`\n margin-bottom: 16px;\n justify-content: space-between;\n`;\n\nexport const UserInfo = styled.div`\n column-gap: 12px;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n column-gap: 8px;\n }\n`;\n\nexport const Avatar = styled(LazyLoadImage)<{ src: string }>`\n width: 44px;\n height: 41.5px;\n`;\n\nexport const UserDetail = styled.div`\n flex-direction: column;\n margin: auto;\n`;\n\nexport const Grades = styled.div`\n column-gap: 2px;\n`;\n\nexport const Star = styled(LazyLoadImage)<{ src: string }>`\n width: 24px;\n height: 24px;\n padding: 2px;\n`;\n\nexport const Text = styled(Paragraph4)<{ isShowAllLines: boolean, linesNumber: number, overflow: string }>`\n display: -webkit-box;\n -webkit-line-clamp: ${({ isShowAllLines, linesNumber }) => isShowAllLines ? 'inherit' : linesNumber};\n -webkit-box-orient: vertical;\n overflow: ${({ overflow }) => overflow ? overflow : 'hidden'};\n word-break: break-word;\n margin-bottom: 8px;\n`;\n\nexport const ShowLinesBtn = styled(Button)`\n display: flex;\n flex-direction: row;\n align-items: center;\n width: fit-content;\n height: 36px;\n ${FONTS.MediumXS};\n padding: 0;\n`;\n","import React, { useMemo, useRef, useState } from 'react';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { SingleArrowDown, SingleArrowUp } from '@r1-frontend/ui-react/components/svg/arrows';\nimport { Paragraph4, Paragraph5 } from '@r1-frontend/ui-react/components/typography/paragraph';\nimport WebpImage from '@r1-frontend/ui-react/components/WebpImage';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\nimport { useResizeObserver } from '@r1-frontend/shared/hooks/useResizeObserver';\n\nimport { IReviewData } from '~/src/features/reviews';\n\nimport * as ST from './styled';\n\nconst avatar = '/static/images/grades/avatar_';\nconst starFull = '/static/images/grades/star-full';\nconst starEmpty = '/static/images/grades/star-empty';\n\nexport interface IReview {\n data: IReviewData,\n order: number,\n}\n\nconst Review = ({ data, order }: IReview) => {\n const { date, text, grade, autor, source } = data;\n const avatarIndex = order % 16;\n const [isShowAllLines, setIsShowAllLines] = useState(false);\n const isMobile = useMatchMedia(wideBreakpoints.mobile);\n const linesNumber = isMobile ? 4 : 3;\n const lineHeight = isMobile ? 20 : 24;\n const ref = useRef(null);\n const { width } = useResizeObserver(ref);\n const [overflow, setOverflow] = useState('hidden');\n\n const isOverflowing = useMemo((): boolean => {\n const el: HTMLDivElement | null = ref.current;\n if (el) {\n const curOverf = el.style.overflow;\n if (!curOverf || curOverf === 'visible') {\n setOverflow('hidden');\n }\n const isOverflowing = el.clientWidth < el.scrollWidth || el.clientHeight < el.scrollHeight;\n setOverflow(curOverf);\n const divHeight = el.offsetHeight;\n const lines = divHeight / lineHeight;\n return isOverflowing || lines > linesNumber;\n }\n return true;\n }, [width, linesNumber, lineHeight]);\n\n\n return (\n \n \n \n \n \n \n \n \n {autor}\n \n \n {`${date} (${source})`}\n \n \n \n \n {\n [...Array(5)].map((_, index) => {\n return (\n \n );\n })\n }\n \n \n \n {text}\n \n {isOverflowing &&\n setIsShowAllLines(prev => !prev)}\n >\n {isShowAllLines ? : }\n {isShowAllLines ? 'Свернуть' : 'Читать полностью'}\n \n }\n \n );\n};\n\nexport default Review;\n","import styled from 'styled-components';\n\nimport Button from '@r1-frontend/ui-react/components/buttons/button';\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 ContentWrapper = styled.div`\n grid-area: list;\n display: flex;\n flex-direction: column;\n padding-top: 24px;\n row-gap: 16px;\n`;\n\nexport const Text = styled.div`\n color: ${COLORS.TextHint};\n ${FONTS.S};\n justify-content: flex-end;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n justify-content: flex-start;\n }\n`;\n\nexport const Reviews = styled.div`\n width: 100%;\n row-gap: 16px;\n margin-top: 12px;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n margin-top: 0;\n }\n`;\n\nexport const ShowMoreBtn = styled(Button)`\n width: fit-content;\n padding: 12px 24px;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n margin-bottom: 24px;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n padding-top: 12px;\n padding-bottom: 12px;\n width: 100%;\n }\n`;\n","import React, { useMemo, useState } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { getPluralize } from '@r1-frontend/shared/helpers/pluralize';\n\nimport { data } from '~/src/features/reviews/components/GradesList/data';\nimport Review from '~/src/features/reviews/components/Review';\nimport { parseRusDate } from '~/src/helpers/date';\nimport { TState } from '~/src/store';\n\nimport * as ST from './styled';\n\nexport const SHOW_LINES_STEP = 7;\nexport const reviewText = getPluralize(['отзыв', 'отзыва', 'отзывов']);\n\nconst GradesList = () => {\n const [showLines, setShowLines] = useState(SHOW_LINES_STEP);\n const { cityIn } = useSelector((state: TState) => state.city.currentCity);\n const sortedData = useMemo(() => {\n return data.sort((a, b) => parseRusDate(b.date).getTime() - parseRusDate(a.date).getTime());\n }, []);\n\n return (\n \n {`${sortedData.length} ${reviewText(sortedData.length)} в ${cityIn}`}\n \n {\n sortedData.map((item, index) => {\n if (index + 1 > showLines) {\n return null;\n }\n return ();\n })\n }\n \n {sortedData.length > showLines &&\n setShowLines(prev => prev + SHOW_LINES_STEP)}\n >\n {'Показать больше отзывов'}\n \n }\n \n );\n};\n\nexport default GradesList;\n","import styled from 'styled-components';\n\nimport GridContainer from '@r1-frontend/ui-react/components/layouts/gridContainer';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nexport const Container = styled.div`\n width: 100%;\n margin: 0 auto -50px;\n background-color: ${COLORS.BgMain};\n`;\n\nexport const ReviewsGridContainer = styled(GridContainer)`\n display: flex;\n flex-direction: column;\n width: 1570px;\n padding-top: 48px;\n padding-bottom: 48px;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n width: 1280px;\n padding-top: 32px;\n padding-bottom: 32px;\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n padding: 32px 16px;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n padding: 24px 16px;\n }\n`;\n\nexport const ReviewsGridLocations = styled.div`\n display: grid;\n width: 100%;\n grid-template-areas: 'average list'\n 'help list';\n grid-template-rows: 432px auto;\n grid-template-columns: 480px auto;\n column-gap: 32px;\n row-gap: 16px;\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n grid-template-rows: 480px auto;\n grid-template-columns: 376px auto;\n column-gap: 24px;\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n grid-template-areas: 'average'\n 'list'\n 'help';\n grid-template-rows: 1fr auto auto;\n grid-template-columns: 100%;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n row-gap: 8px;\n }\n`;\n","import React from 'react';\n\nimport AverageGrade from '~/src/features/reviews/components/AverageGrade';\nimport GradeHelp from '~/src/features/reviews/components/GradeHelp';\nimport GradesList from '~/src/features/reviews/components/GradesList';\n\nimport * as ST from './styled';\n\nexport interface IReviewData {\n date: string,\n text: string,\n grade: number,\n autor: string,\n source: string,\n}\n\nconst Reviews = () => {\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default Reviews;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { NextPage } from 'next';\n\nimport Layout from '~/src/features/_layout';\nimport Reviews from '~/src/features/reviews';\nimport { initialProps } from '~/src/helpers/basePageFunc';\nimport { getCurrentCity, selectCompanyName } from '~/src/store/selectors/city';\n\nconst ReviewsPage: NextPage = () => {\n const { cityIn } = useSelector(getCurrentCity);\n const companyName = useSelector(selectCompanyName);\n\n return (\n \n \n \n );\n};\n\nReviewsPage.getInitialProps = async(options) => {\n await initialProps(options);\n return {};\n};\n\nexport default ReviewsPage;\n","import dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\ndayjs.extend(customParseFormat);\n\nconst months = [\n 'января',\n 'февраля',\n 'марта',\n 'апреля',\n 'мая',\n 'июня',\n 'июля',\n 'августа',\n 'сентября',\n 'октября',\n 'ноября',\n 'декабря',\n];\n\nexport const hhmm = date => {\n const hh = String(date.getHours()).padStart(2, '0');\n const mm = String(date.getMinutes()).padStart(2, '0');\n\n return `${hh}:${mm}`;\n};\n\n/**\n * Дата, месяц\n * @param {Date} date\n * @returns {string} '01.09'\n */\nexport const dateWithoutYear = date => date.toLocaleString('ru-RU', { day: 'numeric', month: 'numeric' });\n\n/** Дата, месяц, год строкой месяц\n * @param {Date | number} date - дата\n * @return {string} '01.09.2021'\n */\nexport const ddmmyyyy = date => {\n const dd = String(date.getDate()).padStart(2, '0');\n const mm = String(date.getMonth() + 1).padStart(2, '0');\n const yyyy = date.getFullYear();\n\n return dd + '.' + mm + '.' + yyyy;\n};\n\n/**\n * Дата, месяц, год строкой месяц в родительном падеже\n * @param {Date} date - дата\n * @param {boolean} isGenitive - в родительном\n * @return {string} дата вида '10 января 2020'\n */\nexport function ddmmmmyyyy(date, isGenitive = true, withUTC = false) {\n if (date instanceof Date) {\n let dd;\n if (withUTC) {\n dd = String(date.getUTCDate()).padStart(2, '0');\n } else {\n dd = String(date.getDate()).padStart(2, '0');\n }\n const mmmm = monthString(date, !isGenitive);\n const yyyy = date.getFullYear();\n\n return dd + ' ' + mmmm + ' ' + yyyy;\n }\n throw Error('аргумент date должен быть экземплятором класса Date');\n}\n\n/**\n * День месяца, числом\n * @param {string} date - дата строкой '03.09.2021'\n * @return {number} день вида 3\n */\nexport const dd = date => {\n const dateArr = date.split('.');\n return parseInt(dateArr[0], 10);\n};\n\n/**\n * Дата, месяц строкой\n * @param {string} date - дата строкой '03.09.2021'\n * @return {string} дата вида '3 сентября'\n */\nexport const ddmm = date => {\n const dateArr = date.split('.');\n const dd = parseInt(dateArr[0], 10);\n const mm = months[parseInt(dateArr[1] - 1)];\n\n return dd + ' ' + mm;\n};\n\n/**\n * @param {Date} date\n * @param {Boolean} padStart\n * @return {string} '03 сентября'\n */\nexport function ddmmm(date, padStart = true) {\n let dd = date.getDate().toString();\n if (padStart) {\n dd = dd.padStart(2, '0');\n }\n const mmm = months[date.getMonth()];\n return `${dd} ${mmm}`;\n}\n\n/**\n * get month string from date\n * @param {Date} date\n * @param {boolean} plain\n * @returns {string}\n */\nexport const monthString = (date, plain = true) => {\n switch (date.getMonth()) {\n case 0:\n return plain ? 'январь' : 'января';\n case 1:\n return plain ? 'февраль' : 'февраля';\n case 2:\n return plain ? 'март' : 'марта';\n case 3:\n return plain ? 'апрель' : 'апреля';\n case 4:\n return plain ? 'май' : 'мая';\n case 5:\n return plain ? 'июнь' : 'июня';\n case 6:\n return plain ? 'июль' : 'июля';\n case 7:\n return plain ? 'август' : 'августа';\n case 8:\n return plain ? 'сентябрь' : 'сентября';\n case 9:\n return plain ? 'октябрь' : 'октября';\n case 10:\n return plain ? 'ноябрь' : 'ноября';\n case 11:\n return plain ? 'декабрь' : 'декабря';\n }\n};\n\n/**\n * @param {Date} date\n * @param {Number} nextMonthCount\n * @param {Boolean} isPlain\n * @returns {string}\n */\nexport function getMonthName(date, nextMonthCount = 0, isPlain = true) {\n const innerDate = new Date(date);\n if (nextMonthCount > 0) {\n innerDate.setMonth(innerDate.getMonth() + nextMonthCount);\n }\n return monthString(innerDate, isPlain);\n}\n\n/**\n * Месяц в Родительном падеже\n * @param {Number} num - номер месяца начиная с 0\n * @return {string}\n */\nexport const getNameMonth = num => {\n return months[num];\n};\n\n/**\n * Преобразование даты формата 11.12.2019 в формат 2019-12-11 или наоборот\n * @param {string} date - дата в формате 11.12.2019 или 2019-12-11\n * @return {string}\n */\nexport const formatDate = (date) => {\n // разделитель - тире или точка\n return date.indexOf('-') !== -1\n ? date.split('-').reverse().join('.')\n : date.split('.').reverse().join('-');\n};\n\n/**\n * Парсим дату вида \"25.06.2020 12:38:30\", \"25.06.2020 4:38\" или \"25.06.2020\"\n * @param {string} string\n * @return {Date}\n */\nexport function parseRusDate(string) {\n // 1 2 3 4 5 6 7\n const regExp = /^(\\d{2})\\.(\\d{2})\\.(\\d{4})(\\s(\\d{1,2}):(\\d{2}):?(\\d{2})?)?$/g;\n const matched = regExp.exec(string.trim());\n\n if (matched == null) {\n throw Error('Некорректная строка c датой');\n }\n\n if (matched[4] == null) {\n return new Date(Date.UTC(matched[3], +matched[2] - 1, matched[1], 0, 0, 0));\n } else {\n return new Date(Date.UTC(matched[3], +matched[2] - 1, matched[1], matched[5], matched[6], matched[7] || 0));\n }\n}\n\n/**\n * @param {Date} date\n * @return {string} \"2020-12-20\"\n */\nexport function toISODateString(date) {\n return dayjs(date).format('YYYY-MM-DD');\n}\n\n\n/** TODO - аналог addDays убрать дубль, ps:addDays - более понятное название, оставить его\n * Новая дата + count дней\n * @deprecated use addDays\n * @param {number} count\n * @param {Date} date\n * @return {Date}\n */\nexport function dateNextDay(count, date = new Date()) {\n const now = new Date(date);\n now.setDate(now.getDate() + count);\n return now;\n}\n\n/** TODO - аналог dateNextDay убрать дубль\n * Добавляет к дате указанное кол-во дней\n * @param {Date} date\n * @param {number} days\n * @returns {Date}\n */\nexport const addDays = (date, days) => {\n const dateTo = new Date(date);\n dateTo.setDate(dateTo.getDate() + days);\n return dateTo;\n};\n\nexport const generateArrayOfYears = (threshold = 9) => {\n const max = new Date().getFullYear();\n const min = max - threshold;\n const years = [];\n\n for (let i = max; i >= min; i--) {\n years.push(i);\n }\n\n return years;\n};\n\n/** Вычисление даты с прибавлением нескольких месяцев\n * @param {number | string | Date} dateValue - дата\n * @param {number} amount - количество месяцев\n * @return {Date}\n */\nexport const addMonths = (dateValue, amount) => {\n const date = new Date(dateValue);\n const dayOfMonth = date.getDate();\n\n const endOfDesiredMonth = new Date(dateValue);\n endOfDesiredMonth.setTime(date.getTime());\n endOfDesiredMonth.setMonth(date.getMonth() + amount + 1, 0);\n const daysInMonth = endOfDesiredMonth.getDate();\n\n if (dayOfMonth >= daysInMonth) {\n return endOfDesiredMonth;\n } else {\n date.setFullYear(\n endOfDesiredMonth.getFullYear(),\n endOfDesiredMonth.getMonth(),\n dayOfMonth,\n );\n return date;\n }\n};\n\n/** Приведение даты к формату 'ru-RU'\n * @param {number | string | Date} date - дата\n * @return {string} '22.30.15'\n */\nexport const dateToLocaleRu = (date) => new Date(date).toLocaleDateString('ru-RU');\n\nexport const daysDifinition = {\n yesterday: 'вчера',\n today: 'сегодня',\n tomorrow: 'завтра',\n afterTomorrow: 'послезавтра',\n};\n\n/**\n * Возвращает Сегодня/Завтра/Послезавтра/Вчера\n * @param {number} diffDay - разница в днях между датами (\"11.10.2020\" - \"10.10.2020\" равна 1 день)\n * @return {string} 'Сегодня' || ''\n */\nexport const getDateDefinition = (diffDay) => {\n switch (true) {\n case (diffDay === -1):\n return daysDifinition.yesterday;\n case (diffDay === 0):\n return daysDifinition.today;\n case (diffDay === 1):\n return daysDifinition.tomorrow;\n case (diffDay === 2):\n return daysDifinition.afterTomorrow;\n default:\n return '';\n }\n};\n","export type TArrayOfThree = [string, string, string];\n\n/**\n * @link https://docs.translatehouse.org/projects/localization-guide/en/latest/l10n/pluralforms.html\n */\nconst getVariant = (value: number, variants: TArrayOfThree) => {\n const abs = Math.abs(value);\n\n return variants[\n abs % 10 == 1 && abs % 100 != 11\n ? 0\n : abs % 10 >= 2 && abs % 10 <= 4 && (abs % 100 < 10 || abs % 100 >= 20)\n ? 1\n : 2\n ];\n};\n\n/**\n * Cклоняет число\n * @param value Число\n * @param variants Варианты слов для склонения\n * @returns Один из вариантов в зависимости от переданного значения {value}\n * @example\n * pluralize(3, ['идея', 'идеи', 'идей']); // идеи\n */\nexport const pluralize = (value: number, variants: TArrayOfThree) =>\n getVariant(value, variants);\n\n/**\n * Получает функцию для склонения числа\n * @param variants Варианты слов для склонения\n * @example\n * const pluralize = getPluralize(['идея', 'идеи', 'идей']);\n */\nexport const getPluralize = (variants: TArrayOfThree) => (value: number) =>\n pluralize(value, variants);\n","import { RefObject, useCallback, useState } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '@r1-frontend/shared/hooks/useIsomorphicLayoutEffect';\n\ninterface IResult {\n height: number | undefined,\n width: number | undefined,\n}\n\nexport const useResizeObserver = (\n ref: RefObject,\n callback?: (entry: DOMRectReadOnly) => void,\n): IResult => {\n const [width, setWidth] = useState();\n const [height, setHeight] = useState();\n\n const handleResize = useCallback(\n (entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n\n const entry = entries[0];\n setWidth(entry.contentRect.width);\n setHeight(entry.contentRect.height);\n\n if (callback) {\n callback(entry.contentRect);\n }\n },\n [callback],\n );\n\n useIsomorphicLayoutEffect(() => {\n if (!ref.current) {\n return;\n }\n\n let RO: ResizeObserver | null = new ResizeObserver((entries) => window.requestAnimationFrame(() => handleResize(entries)));\n RO.observe(ref.current);\n\n return () => {\n RO?.disconnect();\n RO = null;\n };\n }, [ref]);\n\n return { width, height };\n};\n","import { createSvg } from '@r1-frontend/ui-react/components/svg/createSvg';\n\nconst SingleArrowUp = (\n {\n strokeWidth = 1.5,\n },\n): JSX.Element => {\n return (\n \n \n \n );\n};\n\nexport default createSvg(\n SingleArrowUp,\n 'single-arrow-up',\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';\n\nexport type RoundedBlockProps = {\n $radius?: BorderRadius,\n $bgColor?: COLORS,\n $indent?: string,\n}\n\n/**\n * @deprecated use '@r1-frontend/ui-react/experimental/containers/BlockContainer'\n */\nconst RoundedBlock = styled.div`\n display: block;\n border-radius: ${({ $radius = BorderRadius.componentRadius }) => $radius};\n background-color: ${({ $bgColor = COLORS.BgSurface }) => $bgColor};\n padding: ${({ $indent = '16px' }) => $indent};\n\n @media (min-width: ${wideBreakpoints.mobile}) {\n border-radius: ${({ $radius = BorderRadius.InnerBlockRadius }) => $radius};\n padding: ${({ $indent = '24px' }) => $indent};\n }\n`;\n\nexport default RoundedBlock;\n"],"names":["window","__NEXT_P","push","Wrapper","styled","ContentWrapper","COLORS","BorderRadius","wideBreakpoints","Label","H2","GradeBlock","GradeNumber","H1","Stars","Star","LazyLoadImage","starFull","starHalf","ST","data-test","$withIndent","$inline","as","Array","map","_","index","WebpImage","urlWebp","src","RoundedBlock","$radius","$bgColor","Paragraph4","TextWrapper","TextLink","FONTS","ImageGirl","gradeHelpGirl","SUPPORT_MAIL","H3","Link","href","prefetch","passHref","otzovik","yandex","data","date","text","grade","autor","source","User","UserInfo","Avatar","UserDetail","Grades","Text","isShowAllLines","linesNumber","overflow","ShowLinesBtn","Button","avatar","starEmpty","order","avatarIndex","useState","setIsShowAllLines","isMobile","useMatchMedia","lineHeight","ref","useRef","useResizeObserver","width","setOverflow","isOverflowing","useMemo","el","current","curOverf","style","clientWidth","scrollWidth","clientHeight","scrollHeight","divHeight","offsetHeight","Paragraph5","$color","size","bType","onClick","prev","SingleArrowUp","SingleArrowDown","Reviews","ShowMoreBtn","reviewText","getPluralize","showLines","setShowLines","useSelector","state","city","currentCity","cityIn","sortedData","sort","a","b","parseRusDate","getTime","length","item","Review","Container","ReviewsGridContainer","GridContainer","ReviewsGridLocations","AverageGrade","GradesList","GradeHelp","ReviewsPage","getCurrentCity","companyName","selectCompanyName","Layout","title","description","withMenu","withFooter","withChat","getInitialProps","options","initialProps","dayjs","customParseFormat","months","hhmm","hh","String","getHours","padStart","mm","getMinutes","dateWithoutYear","toLocaleString","day","month","ddmmyyyy","getDate","getMonth","getFullYear","ddmmmmyyyy","isGenitive","withUTC","Date","dd","getUTCDate","mmmm","monthString","yyyy","Error","dateArr","split","parseInt","ddmm","ddmmm","toString","mmm","plain","getNameMonth","num","formatDate","indexOf","reverse","join","string","matched","exec","trim","UTC","toISODateString","format","dateNextDay","count","now","setDate","addDays","days","dateTo","generateArrayOfYears","threshold","max","min","years","i","addMonths","dateValue","amount","dayOfMonth","endOfDesiredMonth","setTime","setMonth","setFullYear","dateToLocaleRu","toLocaleDateString","daysDifinition","getDateDefinition","diffDay","pluralize","value","variants","abs","Math","getVariant","callback","setWidth","height","setHeight","handleResize","useCallback","entries","isArray","entry","contentRect","useIsomorphicLayoutEffect","RO","ResizeObserver","requestAnimationFrame","observe","disconnect","createSvg","strokeWidth","g","id","path","d","strokeMiterlimit","strokeLinecap","strokeLinejoin","$indent"],"sourceRoot":""}