{"version":3,"file":"static/chunks/489-48134a10996bc31e.js","mappings":"uLAOO,EAMA,EAkBkD,E,sDAxB7CA,GAAAA,EACK,cAAG,SADRA,EAEO,gBAAG,OAFVA,EAGL,IAAG,M,CAHEA,IAAAA,EAAY,K,SAMZC,GAAAA,EACK,cAAG,SADRA,EAEO,gBAAG,OAFVA,EAGY,qBAAG,gBAHfA,EAIiB,0BAAG,qB,CAJpBA,IAAAA,EAAU,KAkBtB,IAAMC,GAAmD,EASxD,IARG,OADqD,EACpDD,EAAWE,eAAgB,SAACC,G,OAAYA,EAAQC,QAAOC,SAAAA,G,MAA0B,YAAhBA,EAAOC,YACzE,OAFqD,EAEpDN,EAAWO,iBAAkB,SAACJ,G,OAAYA,EAAQC,QAAOC,SAAAA,G,MAA0B,aAAhBA,EAAOC,YAC3E,OAHqD,EAGpDN,EAAWQ,sBAAuBL,SAAAA,G,OAAWA,EAAQC,QAClDC,SAAAA,G,OAAUA,EAAOI,cAAcC,MAC3BC,SAAAA,G,OAAQA,EAAKC,YAAcC,EAAAA,EAAAA,SAA4BF,EAAKC,gBAC3DP,EAAOS,MAAMC,WAAW,qGAEjC,OARqD,EAQpDf,EAAWgB,2BAA4B,SAACb,G,OAAYA,EAAQC,QAAOC,SAAAA,G,OAAUA,EAAOS,MAAMC,WAAW,+CAAcV,EAAOS,MAAMC,WAAW,oGARvF,GA8C5CE,EAAwB,SAACC,EAA0BC,GAC5D,IAAMC,EApC0C,CAChD,CACIC,GAAIrB,EAAWE,cACfoB,SAAS,EACTC,UAAU,EACVC,MAAO,kFACPC,aAAa,EACbC,OAAQzB,EAAcD,EAAWE,gBAErC,CACImB,GAAIrB,EAAWO,gBACfe,SAAS,EACTC,UAAU,EACVC,MAAO,wFACPC,aAAa,EACbC,OAAQzB,EAAcD,EAAWO,kBAErC,CACIc,GAAIrB,EAAWQ,qBACfc,SAAS,EACTC,UAAU,EACVC,MAAO,oGACPC,aAAa,EACbC,OAAQzB,EAAcD,EAAWQ,uBAErC,CACIa,GAAIrB,EAAWgB,0BACfM,SAAS,EACTC,UAAU,EACVC,MAAO,8HACPC,aAAa,EACbC,OAAQzB,EAAcD,EAAWgB,6BAQrC,OAFiC,CAAC,YAAa,0BAGjBW,SAAqB,OAAZR,QAAY,IAAZA,EAAAA,EAAgB,IAAMC,EAAUQ,MAAM,EAAG,GAAKR,GAAWS,KAAIlB,SAAAA,G,OAAS,kBAClGA,GAAI,CACPW,QAASX,EAAKU,KAAOH,S,uJCpF1B,IAAMY,EAAW,sEACXC,EAAc,+FAEdC,EAAyB,WACzBC,EAA4B,mBAC5BC,EAA0B,a,0UCuB1BrB,EAAqB,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,QAGnE,EA4TG,a,sCA5TGsB,EACUC,G,oCACFA,IA+KVC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAAA,GAAAA,yBAAwB,SAAClC,G,IAGAmC,EACUA,EACfA,EAJV,EAAc,EAAKC,MAAjBD,QAEFE,EAAoF,QAArEF,EAAAA,EAAQG,MAAKrC,SAAAA,G,OAAUA,EAAOiB,KAAOrB,EAAAA,GAAAA,+BAAgC,IAArEsC,OAAAA,EAAAA,EAAuEhB,QACtFoB,EAAmG,QAA1EJ,EAAAA,EAAQG,MAAKrC,SAAAA,G,OAAUA,EAAOiB,KAAOrB,EAAAA,GAAAA,oCAAqC,IAA1EsC,OAAAA,EAAAA,EAA4EhB,QACrGqB,EAAwE,QAA9DL,EAAAA,EAAQG,MAAKrC,SAAAA,G,OAAUA,EAAOiB,KAAOrB,EAAAA,GAAAA,wBAAyB,IAA9DsC,OAAAA,EAAAA,EAAgEhB,QAC1EsB,EAA2BzC,EAAQC,QAAOO,SAAAA,G,MAAuB,gBAAfA,EAAKkC,OAAyC,YAAdlC,EAAKL,QACvFwC,EAA4B3C,EAAQC,QAAOO,SAAAA,G,MAAuB,gBAAfA,EAAKkC,OAAyC,aAAdlC,EAAKL,QAC1FyC,GAAmB,OAAG5C,GAG1B,GAAIqC,EAAc,CACd,IAAMQ,EAAeD,EAAgB3C,QAAO,SAACC,G,OAH1B,SAACA,G,OAAWA,EAAOI,cAAcC,MAAK,SAACC,G,OAASE,EAAmBc,SAAShB,EAAKC,eAG5CqC,CAAe5C,IAAWA,EAAOS,MAAMC,WAAW,iGAC1GgC,EAAkBJ,GAAS,OAAIC,GAAAA,QAA0B,OAAGI,KAAgB,OAAIF,GAAAA,QAA2B,OAAGE,IAGlH,GAAIN,EAAwB,CACxB,IAAMQ,EAAeH,EAAgB3C,QAAO,SAACC,G,OAAWA,EAAOS,MAAMC,WAAW,+CAAcV,EAAOS,MAAMC,WAAW,iGACtHgC,EAAkBJ,GAAS,OAAIC,GAAAA,QAA0B,OAAGM,KAAgB,OAAIJ,GAAAA,QAA2B,OAAGI,IAGlH,OAAOH,MAsDXI,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAAA,GAAAA,kBAAiB,SAAC9B,GACd,IAAM+B,GAAiB,OAAG,EAAKb,MAAMD,SAC/Be,EAAgBD,EAAcX,MAAKrC,SAAAA,G,OAAUA,EAAOiB,KAAOA,KAEjE,GAAIgC,EAAe,CACf,IAAMC,EAAaD,EAAc5B,aAAe2B,EAAcX,MAAKc,SAAAA,G,OAAMA,EAAG9B,aAAe8B,EAAGjC,WAC1FgC,GAAcA,EAAWjC,KAAOgC,EAAchC,KAC9CiC,EAAWhC,SAAU,GACrBkC,EAAAA,EAAAA,IAAc,CACVC,MAAOC,EAAAA,GAAAA,QACPC,SAAUC,EAAAA,GAAAA,YACVlC,OAAQ,iBAA+B,OAAd4B,EAAWjC,IACpCG,MAAO,GAAoB,OAAjB8B,EAAW9B,UAG7B,IAAMqC,GAAYR,EAAc/B,QAChC+B,EAAc/B,QAAUuC,GAExBL,EAAAA,EAAAA,IAAc,CACVC,MAAOC,EAAAA,GAAAA,QACPC,SAAUC,EAAAA,GAAAA,YACVlC,OAAQ,GAAyC2B,OAAtCQ,EAAW,MAAQ,SAAS,YAA2B,OAAjBR,EAAchC,IAC/DG,MAAO,GAAuB,OAApB6B,EAAc7B,SAIhC,EAAKsC,SAAS,CAAExB,QAASc,QAG7BW,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAAA,GAAAA,yBAAwB,YACpBP,EAAAA,EAAAA,IAAc,CACVC,MAAOC,EAAAA,GAAAA,QACPC,SAAUC,EAAAA,GAAAA,YACVlC,OAAQsC,EAAAA,GAAAA,mBAIhBC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAAA,GAAAA,0BAAyB5D,SAAAA,GACrB,EAAKyD,SAAS,CACVI,oBAAoB,EACpBC,eAAgB9D,KAGpBmD,EAAAA,EAAAA,IAAc,CACVC,MAAOC,EAAAA,GAAAA,QACPC,SAAU,+BACVjC,OAAQ,gBACRF,MAAO,SASf4C,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAAA,GAAAA,wBAAuB,WACnB,EAAKN,SAAS,CACVI,oBAAoB,EACpBC,eAAgB,UAnTpB,IAAuE,IAAKE,qBAApEC,EAA+D,EAA/DA,YAAaC,EAAkD,EAAlDA,eAAgBC,EAAkC,EAAlCA,aAAcC,EAAoB,EAApBA,gBAE7CC,KAA8B,OAAXJ,QAAW,IAAXA,OAAAA,EAAAA,EAAaK,YAAwB,OAAZH,QAAY,IAAZA,OAAAA,EAAAA,EAAcG,QAC1DC,KAAoC,OAAdL,QAAc,IAAdA,OAAAA,EAAAA,EAAgBI,YAA2B,OAAfF,QAAe,IAAfA,OAAAA,EAAAA,EAAiBE,QAEnExE,EAAU,CACZ0E,sBAAkC,OAAZL,QAAY,IAAZA,OAAAA,EAAAA,EAAcG,QACpCG,yBAAwC,OAAfL,QAAe,IAAfA,OAAAA,EAAAA,EAAiBE,QAC1CI,yBAAoC,OAAXT,QAAW,IAAXA,OAAAA,EAAAA,EAAaK,QACtCK,4BAA0C,OAAdT,QAAc,IAAdA,OAAAA,EAAAA,EAAgBI,S,OAGhD,EAAKpC,MAAQ,CACT0C,aAAcL,IAAsBF,EAAiB,UAAY,OACjEQ,uBAAwBN,IAAsBF,EAAiB,EAAI,EACnEE,kBAAAA,EACAF,eAAAA,EACAvE,QAAAA,EACAmC,SAASrB,EAAAA,EAAAA,KAA2B,OAALmB,QAAK,IAALA,OAAAA,EAAAA,EAAO+C,kBAAmBpF,EAAAA,GAAAA,eACzDgD,gBAAiB,CACbuB,YAAAA,EACAC,eAAAA,EACAC,aAAAA,EACAC,gBAAAA,GAEJW,MAAO,CACHC,QAAQ,EACRC,MAAO,IAEXpB,oBAAoB,EACpBC,eAAgB,M,oBAIxBoB,IAAAA,qB,MAAAA,SAAmBC,GACXA,EAAUC,gBAAgBnB,YAAYK,SAAWe,KAAKtD,MAAMqD,gBAAgBnB,YAAYK,QACxFa,EAAUC,gBAAgBlB,eAAeI,SAAWe,KAAKtD,MAAMqD,gBAAgBlB,eAAeI,QAC9Fa,EAAUC,gBAAgBjB,aAAaG,SAAWe,KAAKtD,MAAMqD,gBAAgBjB,aAAaG,QAC1Fa,EAAUC,gBAAgBhB,gBAAgBE,SAAWe,KAAKtD,MAAMqD,gBAAgBhB,gBAAgBE,QAEhGe,KAAK5B,SAAS,CACVf,gBAAiB2C,KAAKrB,yB,CAKlCsB,IAAAA,S,MAAAA,W,IA+BmBrD,EACMA,EAvBjB,EAAAoD,KAPAE,EAOA,EAPAA,eACAvD,EAMA,EANAA,sBACAc,EAKA,EALAA,eACAY,EAIA,EAJAA,sBACAE,EAGA,EAHAA,uBACA4B,EAEA,EAFAA,uBACAzB,EACA,EADAA,qBAGqC,EAAAsB,KAAKtD,MAAtC0D,EAAiC,EAAjCA,KAAMC,EAA2B,EAA3BA,UAAWC,EAAgB,EAAhBA,YAiBrB,EAAAN,KAAKnD,MAdL2C,EAcA,EAdAA,uBACAD,EAaA,EAbAA,aACAP,EAYA,EAZAA,eACAE,EAWA,EAXAA,kBACAzE,EAUA,EAVAA,QACAmC,EASA,EATAA,QAAO,EASP,EARAS,gBACIuB,EAAW,EAAXA,YACAC,EAAc,EAAdA,eACAC,EAAY,EAAZA,aACAC,EAAe,EAAfA,gBAEJP,EAEA,EAFAA,mBACAC,EACA,EADAA,eAGErD,EAAQiF,GAAa,0DAA8BD,OAAjBE,EAAY,YAAiB,OAAZF,EAAKG,QACxDC,EAAuE,QAA9D5D,EAAAA,EAAQG,MAAKrC,SAAAA,G,OAAUA,EAAOiB,KAAOrB,EAAAA,GAAAA,wBAAyB,IAA9DsC,OAAAA,EAAAA,EAAgEhB,QACzE6E,EAA+E,QAAhE7D,EAAAA,EAAQG,MAAKrC,SAAAA,G,OAAUA,EAAOiB,KAAOrB,EAAAA,GAAAA,0BAA2B,IAAhEsC,OAAAA,EAAAA,EAAkEhB,QACjF8E,EAAiBF,EAASlE,EAAAA,GAAyBE,EAAAA,GAEnDmE,EAA6B,YAAjBpB,EACZqB,EAAY,CACd,CACIC,KAAMzE,EAAAA,GACNJ,OAAQkE,EAAeY,KAAKd,KAAM,OAAQ,IAE9C,CACIa,KAAMxE,EAAAA,GACNL,OAAQkE,EAAeY,KAAKd,KAAM,UAAW,KAQ/Ce,EAAc,GAActG,EAAQ6E,yBACpCT,EACAD,EAEAoC,EAAe,GAAcvG,EAAQ2E,sBACrCL,EACAD,EAGAmC,EAAgBd,EAAuBtB,EAAgBE,GACvDmC,EAAatC,GAAeuB,EAAuBvB,EAAaE,GAChEqC,EAAaR,EAAYM,EAAgBC,EAUzCE,EAAyBzE,EAR3B6D,EACiBO,EAAYrG,QAAOO,SAAAA,G,QAAyB,gBAAfA,EAAKkC,OAAyC,aAAdlC,EAAKL,OAAsC,YAAdK,EAAKL,QACzG6F,EACUO,EAEAG,EAAWzG,QAAOO,SAAAA,G,QAAyB,gBAAfA,EAAKkC,OAAyC,YAAdlC,EAAKL,UAKtF,OAAO,UAACyG,OAAG,kBAAKrB,KAAKtD,OAAK,C,WACtB,SAAC4E,EAAAA,GAAc,C,SAAElG,IAChB4D,IACG,SAACuC,EAAAA,EAAiB,CACdC,WAAYhC,EACZR,eAAgBA,EAChBE,kBAAmBA,EACnBuC,mBAAoBb,EACpBc,kBAAmB9E,EACnBa,eAAgBA,KAIxB,UAACkE,EAAAA,cAAa,CAACC,MAAON,EAAAA,G,UACjBF,EAAuBnC,QAClB,SAACqC,EAAAA,GAAc,CACbO,YAAaT,EACbU,UAAWvD,KAEb,SAACwD,EAAAA,EAAc,KAErB,SAACT,EAAAA,GAAe,CACZ1G,KAAMoH,EAAAA,GAAAA,QACNnB,KAAM,2GACNoB,KAAMvB,EACNwB,QAAS7D,QAGjB,SAAC8D,EAAAA,EAAgB,CACbC,OAAQ5D,EACR6D,QAAS3D,EACT4D,YAA2B,OAAd7D,QAAc,IAAdA,OAAAA,EAAAA,EAAgB6D,oB,CAKzC3D,IAAAA,qB,MAAAA,WACI,IAAuE,EAAAqB,KAAKtD,MAAMqD,gBAA1EnB,EAA+D,EAA/DA,YAAaC,EAAkD,EAAlDA,eAAgBC,EAAkC,EAAlCA,aAAcC,EAAoB,EAApBA,gBAE7CwD,EAAyB9H,SAAAA,G,OAAWA,EAAQC,QAAOC,SAAAA,G,OAAUA,EAAO6H,wBACpEC,EAAuBF,EAAuB3D,GAC9C8D,EAA0BH,EAAuB1D,GACjD8D,EAAwBJ,EAAuBzD,GAC/C8D,EAA2BL,EAAuBxD,GAExD,MAAO,CACHH,aAAiC,OAApB6D,QAAoB,IAApBA,OAAAA,EAAAA,EAAsBxD,QAASwD,EAAuB,GACnE5D,gBAAuC,OAAvB6D,QAAuB,IAAvBA,OAAAA,EAAAA,EAAyBzD,QAASyD,EAA0B,GAC5E5D,cAAmC,OAArB6D,QAAqB,IAArBA,OAAAA,EAAAA,EAAuB1D,QAAS0D,EAAwB,GACtE5D,iBAAyC,OAAxB6D,QAAwB,IAAxBA,OAAAA,EAAAA,EAA0B3D,QAAS2D,EAA2B,M,CA4BvF1C,IAAAA,iB,MAAAA,SAAeX,EAAcC,G,WACzBQ,KAAK5B,SAAS,CAAEmB,aAAAA,EAAcC,uBAAAA,IAA0B,WACpDqD,aAAaC,QACTC,EAAAA,GACAC,KAAKC,UAAU,CACXC,iBAAkB,EAAKrG,MAAM2C,uBAC7BD,aAAAA,QAKZ,IAAM4D,EAA8B,SAAjB5D,EAA0B,YAAcA,GAE3DzB,EAAAA,EAAAA,IAAc,CACVC,MAAOC,EAAAA,GAAAA,QACPC,SAAUC,EAAAA,GAAAA,YACVlC,OAAQ,GAAoBmH,OAAjB7E,EAAAA,GAAAA,MAAc,KAAc,OAAX6E,KAGhC,IAA6B,EAAAnD,KAAKnD,MAA1BpC,EAAqB,EAArBA,QAASmC,EAAY,EAAZA,QAEXc,GAAiB,OAAGd,GACpBwG,EAAW1F,EAAcX,MAAKrC,SAAAA,G,OAAUA,EAAOiB,KAAOrB,EAAAA,GAAAA,iBACtD+I,GAAuBD,EAASxH,QAEjB,SAAjB2D,GACI8D,IAAwB5I,EAAQ0E,oBAChCiE,EAASxH,SAAU,EACnBwH,EAASvH,UAAW,IAEpBuH,EAASxH,SAAU,EACnBwH,EAASvH,UAAW,GAEnBwH,GAAwB5I,EAAQ4E,wBACjC+D,EAASxH,SAAU,EACnBwH,EAASvH,UAAW,KAGpBwH,IAAwB5I,EAAQ2E,wBAChCgE,EAASxH,SAAU,EACnBwH,EAASvH,UAAW,GAEnBwH,GAAwB5I,EAAQ6E,2BACjC8D,EAASxH,SAAU,EACnBwH,EAASvH,UAAW,IAI5BmE,KAAK5B,SAAS,CAAExB,QAASc,M,CAuD7ByC,IAAAA,yB,MAAAA,SAAuBmD,EAAMC,GACzB,OAAQ,OAAG,IAAIC,KAAI,OAAIF,GAAAA,QAAM,OAAGC,IAAMpH,KAAIlB,SAAAA,G,MAAQ,CAACA,EAAKwI,UAAWxI,OAAQyI,c,EAWhF,CA5TmBC,EAAAA,WAkUtB,KAAeC,EAAAA,EAAAA,KANS,SAAC/G,G,MAAW,CAChCuD,KAAMvD,EAAMuD,KAAKyD,YACjB9D,iBAAiB+D,EAAAA,EAAAA,IAAoBjH,GACrCyD,aAAayD,EAAAA,EAAAA,IAAkBlH,MAGnC,CAAwCJ,I,kwBC1VjC,IAAMmF,EAAQ,CACjBoC,YAAa,CACTC,YAAa,CACTC,GAAI,EACJC,GAAI,GACJC,GAAI,GACJC,GAAI,OAKHC,EAAcC,EAAAA,QAAAA,GAAAA,WAAS,C,6BAATA,C,IAIrBC,EAAAA,EAAAA,GACOC,EAAAA,EAAAA,YAKHD,EAAAA,EAAAA,IAKAA,EAAAA,EAAAA,IAIGE,GAAcH,EAAAA,EAAAA,SAAOI,EAAAA,SAAW,Y,6BAAlBJ,C,KAMdK,GAAeL,EAAAA,EAAAA,SAAOM,EAAAA,IAAW,Y,6BAAlBN,C,4DCxCrB,IAAMO,EAAe,SAACjI,GACzB,OAAOA,EAAMkI,KAAKC","sources":["webpack://_N_E/./src/components/TariffsFilters/filterConstants.ts","webpack://_N_E/./src/features/index/Tariffs/constants.js","webpack://_N_E/./src/features/index/Tariffs/index.js","webpack://_N_E/./src/features/index/Tariffs/styled.js","webpack://_N_E/./src/store/selectors/auth/selectIsAuth.ts"],"sourcesContent":["import { NextRouter } from 'next/router';\n\nimport { isSomeEnum } from '@r1-frontend/shared/guards/isSomeEnum';\n\nimport { ITariff } from '~/src/entities/formattedTariff';\nimport { CINEMA_CONTENT_IDS } from '~/src/features/index/Tariffs';\n\nexport enum ETariffTypes {\n FILTER_BUNDLE = 'bundle',\n FILTER_INTERNET = 'mono',\n ALL = 'all',\n}\n\nexport enum EFilterIds {\n FILTER_BUNDLE = 'bundle',\n FILTER_INTERNET = 'mono',\n FILTER_ONLINE_CINEMA = 'online-cinema',\n FILTER_GAMES_AND_SERVICES = 'games-and-services',\n}\n\ntype TTariffAction = (tariffs: ITariff[]) => ITariff[];\n\ninterface IFilterItem {\n id: string,\n checked: boolean,\n disabled: boolean,\n label: string,\n alternative: boolean,\n action: TTariffAction,\n}\n\nconst filterActions: Record = {\n [EFilterIds.FILTER_BUNDLE]: (tariffs) => tariffs.filter(tariff => tariff.type === 'bundles'),\n [EFilterIds.FILTER_INTERNET]: (tariffs) => tariffs.filter(tariff => tariff.type === 'internet'),\n [EFilterIds.FILTER_ONLINE_CINEMA]: tariffs => tariffs.filter(\n tariff => tariff.offerContents.some(\n item => item.service_id && CINEMA_CONTENT_IDS.includes(item.service_id),\n ) || tariff.title.startsWith('Развлекательный'),\n ),\n [EFilterIds.FILTER_GAMES_AND_SERVICES]: (tariffs) => tariffs.filter(tariff => tariff.title.startsWith('Гейминг') || tariff.title.startsWith('Развлекательный')),\n};\n\nexport const getFilterItems = (): IFilterItem[] => ([\n {\n id: EFilterIds.FILTER_BUNDLE,\n checked: false,\n disabled: false,\n label: 'С телевидением',\n alternative: true,\n action: filterActions[EFilterIds.FILTER_BUNDLE],\n },\n {\n id: EFilterIds.FILTER_INTERNET,\n checked: false,\n disabled: false,\n label: 'Только интернет',\n alternative: true,\n action: filterActions[EFilterIds.FILTER_INTERNET],\n },\n {\n id: EFilterIds.FILTER_ONLINE_CINEMA,\n checked: false,\n disabled: false,\n label: 'Онлайн-кинотеатры',\n alternative: false,\n action: filterActions[EFilterIds.FILTER_ONLINE_CINEMA],\n },\n {\n id: EFilterIds.FILTER_GAMES_AND_SERVICES,\n checked: false,\n disabled: false,\n label: 'Игры и полезные сервисы',\n alternative: false,\n action: filterActions[EFilterIds.FILTER_GAMES_AND_SERVICES],\n },\n]);\n\nexport const getInitialFilterItems = (checkedId?: ETariffTypes, currentRoute?: string): IFilterItem[] => {\n const initItems = getFilterItems();\n const routesWithLimitedFilters = ['/internet', '/internet/mono-village'];\n\n return (\n (routesWithLimitedFilters.includes(currentRoute ?? '') ? initItems.slice(0, 2) : initItems).map(item => ({\n ...item,\n checked: item.id === checkedId,\n }))\n );\n};\n\n/* Оставляет только значения которые соответствуют перечислению ETariffTypes */\nexport const returnOnlyEnumValues = (values?: string | string[]): ETariffTypes[] => {\n if (!values) {\n return [];\n }\n\n const isMyEnum = isSomeEnum(ETariffTypes);\n\n if (Array.isArray(values)) {\n return values.reduce((acc: ETariffTypes[], curr) => {\n\n if (isMyEnum(curr)) {\n acc.push(curr);\n }\n\n return acc;\n }, []);\n }\n\n if (isMyEnum(values)) {\n return [values];\n }\n\n return [];\n};\n\ninterface ITariffQueryParams {\n tariffType?: ETariffTypes,\n}\n\nexport const getTariffTypeParam = (params: NextRouter['query']): ITariffQueryParams => {\n if (!params) {\n return {};\n }\n\n const [firstValue] = returnOnlyEnumValues(params.tariffType);\n\n return {\n tariffType: firstValue,\n };\n};\n","export const TAB_FLAT = 'Для квартиры';\nexport const TAB_VILLAGE = 'Для частного дома';\n\nexport const PATH_BUNDLES_LINK_CITY = '/bundles';\nexport const PATH_BUNDLES_LINK_VILLAGE = '/bundles/village';\nexport const PATH_INTERNET_LINK_CITY = '/internet';\n","import { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\nimport { ACTIONS, CATEGORIES, EVENTS } from '@r1-frontend/shared/constants/analytics';\nimport { btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { ThemeProvider } from 'styled-components';\n\nimport ChannelListPopup from '~/src/components/Bundles/ChannelListPopup';\nimport { FiltersForTariffs } from '~/src/components/FiltersForTariffs';\nimport { TariffCardPlug } from '~/src/components/TariffCardPlug';\nimport {\n EFilterIds,\n ETariffTypes,\n getInitialFilterItems,\n} from '~/src/components/TariffsFilters/filterConstants';\nimport { LS_TARRIFFS_ACTIVE } from '~/src/constants';\nimport {\n PATH_BUNDLES_LINK_CITY,\n PATH_INTERNET_LINK_CITY,\n TAB_FLAT,\n TAB_VILLAGE,\n} from '~/src/features/index/Tariffs/constants';\nimport { selectCompanyName } from '~/src/store/selectors/city';\nimport { selectTariffsByType } from '~/src/store/selectors/filteredBundles';\n\nimport * as ST from './styled';\n\n// TODO удалить при решении https://ticket.ertelecom.ru/browse/WEB-48188\nexport const CINEMA_CONTENT_IDS = [102277, 104106, 104317, 101261, 100576];\n\n// Компонент требует существенного рефакторинга. Временно перенес всю логику как есть\nclass Tariffs extends Component {\n constructor(props) {\n super(props);\n\n const { cityBundles, villageBundles, cityInternet, villageInternet } = this.getFilteredTariffs();\n\n const hasCityTariffs = !!cityBundles?.length || !!cityInternet?.length;\n const hasVillageTariffs = !!villageBundles?.length || !!villageInternet?.length;\n\n const tariffs = {\n hasMonoCityTariffs: !!cityInternet?.length,\n hasMonoVillageTariffs: !!villageInternet?.length,\n hasBundlesCityTariffs: !!cityBundles?.length,\n hasBundlesVillageTariffs: !!villageBundles?.length,\n };\n\n this.state = {\n tariffFilter: hasVillageTariffs && !hasCityTariffs ? 'village' : 'city',\n activeTariffFilterItem: hasVillageTariffs && !hasCityTariffs ? 1 : 0,\n hasVillageTariffs,\n hasCityTariffs,\n tariffs,\n filters: getInitialFilterItems(props?.filterForTariff || ETariffTypes.FILTER_BUNDLE),\n filteredTariffs: {\n cityBundles,\n villageBundles,\n cityInternet,\n villageInternet,\n },\n popup: {\n active: false,\n texts: {},\n },\n isChannelPopupOpen: false,\n selectedTariff: null,\n };\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.preparedTariffs.cityBundles.length !== this.props.preparedTariffs.cityBundles.length ||\n prevProps.preparedTariffs.villageBundles.length !== this.props.preparedTariffs.villageBundles.length ||\n prevProps.preparedTariffs.cityInternet.length !== this.props.preparedTariffs.cityInternet.length ||\n prevProps.preparedTariffs.villageInternet.length !== this.props.preparedTariffs.villageInternet.length\n ) {\n this.setState({\n filteredTariffs: this.getFilteredTariffs(),\n });\n }\n }\n\n render() {\n const {\n onMenuTabClick,\n getTariffsWithFilters,\n onToggleFilter,\n onClickViewAllHandler,\n onChannelsClickHandler,\n getCombinedUniqueArray,\n onCloseChannelsPopup,\n } = this;\n\n const { city, pageTitle, companyName } = this.props;\n\n const {\n activeTariffFilterItem,\n tariffFilter,\n hasCityTariffs,\n hasVillageTariffs,\n tariffs,\n filters,\n filteredTariffs: {\n cityBundles,\n villageBundles,\n cityInternet,\n villageInternet,\n },\n isChannelPopupOpen,\n selectedTariff,\n } = this.state;\n\n const title = pageTitle || `Провайдер ${companyName} в ${city.cityIn}`;\n const showTV = filters.find(filter => filter.id === EFilterIds.FILTER_BUNDLE)?.checked;\n const showInternet = filters.find(filter => filter.id === EFilterIds.FILTER_INTERNET)?.checked;\n const currButtonLink = showTV ? PATH_BUNDLES_LINK_CITY : PATH_INTERNET_LINK_CITY;\n\n const isVillage = tariffFilter === 'village';\n const menuItems = [\n {\n text: TAB_FLAT,\n action: onMenuTabClick.bind(this, 'city', 0),\n },\n {\n text: TAB_VILLAGE,\n action: onMenuTabClick.bind(this, 'village', 1),\n },\n ];\n\n // TODO при рефакторинге страницы логику currentTariffs нужно вынести в селектор редакса\n\n let currentTariffs;\n\n const currBundles = (isVillage && tariffs.hasBundlesVillageTariffs)\n ? villageBundles\n : cityBundles;\n\n const currInternet = (isVillage && tariffs.hasMonoVillageTariffs)\n ? villageInternet\n : cityInternet;\n\n\n const villageUnique = getCombinedUniqueArray(villageBundles, villageInternet);\n const cityUnique = cityBundles || getCombinedUniqueArray(cityBundles, cityInternet);\n const allTariffs = isVillage ? villageUnique : cityUnique;\n\n if (showTV) {\n currentTariffs = currBundles.filter(item => !(item.alias === 'constructor' && item.type === 'internet') && item.type === 'bundles');\n } else if (showInternet) {\n currentTariffs = currInternet;\n } else {\n currentTariffs = allTariffs.filter(item => !(item.alias === 'constructor' && item.type === 'bundles'));\n }\n\n const currentFilteredTariffs = getTariffsWithFilters(currentTariffs);\n\n return
\n {title}\n {hasCityTariffs && (\n \n )}\n\n \n {currentFilteredTariffs.length\n ? \n : \n }\n \n \n \n
;\n }\n\n getFilteredTariffs() {\n const { cityBundles, villageBundles, cityInternet, villageInternet } = this.props.preparedTariffs;\n\n const getAvailableOnMainPage = tariffs => tariffs.filter(tariff => tariff.availableOnMainPage);\n const cityBundlesAvailable = getAvailableOnMainPage(cityBundles);\n const villageBundlesAvailable = getAvailableOnMainPage(villageBundles);\n const cityInternetAvailable = getAvailableOnMainPage(cityInternet);\n const villageInternetAvailable = getAvailableOnMainPage(villageInternet);\n\n return {\n cityBundles: cityBundlesAvailable?.length ? cityBundlesAvailable : [],\n villageBundles: villageBundlesAvailable?.length ? villageBundlesAvailable : [],\n cityInternet: cityInternetAvailable?.length ? cityInternetAvailable : [],\n villageInternet: villageInternetAvailable?.length ? villageInternetAvailable : [],\n };\n }\n\n getTariffsWithFilters = (tariffs) => {\n const { filters } = this.state;\n\n const cinemaFilter = filters.find(filter => filter.id === EFilterIds.FILTER_ONLINE_CINEMA)?.checked;\n const gamesAndServicesFilter = filters.find(filter => filter.id === EFilterIds.FILTER_GAMES_AND_SERVICES)?.checked;\n const showTv = filters.find(filter => filter.id === EFilterIds.FILTER_BUNDLE)?.checked;\n const tariffConstructorBundles = tariffs.filter(item => item.alias === 'constructor' && item.type === 'bundles');\n const tariffConstructorInternet = tariffs.filter(item => item.alias === 'constructor' && item.type === 'internet');\n let filteredTariffs = [...tariffs];\n const isCinemaTariff = (tariff) => tariff.offerContents.some((item) => CINEMA_CONTENT_IDS.includes(item.service_id));\n\n if (cinemaFilter) {\n const cinemaTariff = filteredTariffs.filter((tariff) => isCinemaTariff(tariff) || tariff.title.startsWith('Развлекательный'));\n filteredTariffs = showTv ? [...tariffConstructorBundles, ...cinemaTariff] : [...tariffConstructorInternet, ...cinemaTariff];\n }\n\n if (gamesAndServicesFilter) {\n const gamingTariff = filteredTariffs.filter((tariff) => tariff.title.startsWith('Гейминг') || tariff.title.startsWith('Развлекательный'));\n filteredTariffs = showTv ? [...tariffConstructorBundles, ...gamingTariff] : [...tariffConstructorInternet, ...gamingTariff];\n }\n\n return filteredTariffs;\n };\n\n onMenuTabClick(tariffFilter, activeTariffFilterItem) {\n this.setState({ tariffFilter, activeTariffFilterItem }, () => {\n localStorage.setItem(\n LS_TARRIFFS_ACTIVE,\n JSON.stringify({\n tariffFilterItem: this.state.activeTariffFilterItem,\n tariffFilter,\n }),\n );\n });\n\n const filteredBy = tariffFilter === 'city' ? 'apartment' : tariffFilter;\n\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.tariffCards,\n action: `${ACTIONS.click} ${filteredBy}`,\n });\n\n const { tariffs, filters } = this.state;\n\n const filtersBuffer = [...filters];\n const tvFilter = filtersBuffer.find(filter => filter.id === EFilterIds.FILTER_BUNDLE);\n const isOnlyInternetRadio = !tvFilter.checked;\n\n if (tariffFilter === 'city') {\n if (isOnlyInternetRadio && !tariffs.hasMonoCityTariffs) {\n tvFilter.checked = true;\n tvFilter.disabled = true;\n } else {\n tvFilter.checked = true;\n tvFilter.disabled = false;\n }\n if (!isOnlyInternetRadio && !tariffs.hasBundlesCityTariffs) {\n tvFilter.checked = false;\n tvFilter.disabled = true;\n }\n } else {\n if (isOnlyInternetRadio && !tariffs.hasMonoVillageTariffs) {\n tvFilter.checked = true;\n tvFilter.disabled = true;\n }\n if (!isOnlyInternetRadio && !tariffs.hasBundlesVillageTariffs) {\n tvFilter.checked = false;\n tvFilter.disabled = true;\n }\n }\n\n this.setState({ filters: filtersBuffer });\n }\n\n onToggleFilter = (id) => {\n const filtersBuffer = [...this.state.filters];\n const currentFilter = filtersBuffer.find(filter => filter.id === id);\n\n if (currentFilter) {\n const prevFilter = currentFilter.alternative && filtersBuffer.find(el => el.alternative && el.checked);\n if (prevFilter && prevFilter.id !== currentFilter.id) {\n prevFilter.checked = false;\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.tariffCards,\n action: `remove filter ${prevFilter.id}`,\n label: `${prevFilter.label}`,\n });\n }\n const newState = !currentFilter.checked;\n currentFilter.checked = newState;\n\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.tariffCards,\n action: `${newState ? 'add' : 'remove'} filter ${currentFilter.id}`,\n label: `${currentFilter.label}`,\n });\n }\n\n this.setState({ filters: filtersBuffer });\n };\n\n onClickViewAllHandler = () => {\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.tariffCards,\n action: ACTIONS.clickViewAll,\n });\n };\n\n onChannelsClickHandler = tariff => {\n this.setState({\n isChannelPopupOpen: true,\n selectedTariff: tariff,\n });\n\n dataLayerPush({\n event: EVENTS.UAevent,\n category: 'Click Bundles on the channel',\n action: 'view channels',\n label: '',\n });\n };\n\n\n getCombinedUniqueArray(arr1, arr2) {\n return [...new Map([...arr1, ...arr2].map(item => [item.productId, item])).values()];\n }\n\n onCloseChannelsPopup = () => {\n this.setState({\n isChannelPopupOpen: false,\n selectedTariff: null,\n });\n };\n}\n\nconst mapStateToProps = (state) => ({\n city: state.city.currentCity,\n preparedTariffs: selectTariffsByType(state),\n companyName: selectCompanyName(state),\n});\n\nexport default connect(mapStateToProps)(Tariffs);\n","import { BaseButton } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\nimport styled from 'styled-components';\n\nimport TariffLine from '~/src/components/TariffLine';\n\nexport const theme = {\n flexboxgrid: {\n breakpoints: {\n xs: 0,\n sm: 48,\n md: 80,\n lg: 100,\n },\n },\n};\n\nexport const TariffTitle = styled.h1`\n width: 100%;\n margin: 16px 0;\n margin-top: 48px;\n ${FONTS.H1};\n color: ${COLORS.TextPrimary};\n \n span {\n display:inline-block;\n width: 100%;\n ${FONTS.XXL};\n margin-top: 10px;\n }\n \n @media (max-width: 530px) {\n ${FONTS.H3};\n }\n`;\n\nexport const STariffLine = styled(TariffLine)`\n padding-left: 0;\n padding-right: 0;\n width: 100%;\n`;\n\nexport const StyledButton = styled(BaseButton)`\n max-width: 220px;\n margin: 0 auto;\n`;\n","\nimport { TState } from '~/src/store';\n\nexport const selectIsAuth = (state: TState) => {\n return state.auth.isAuth;\n};\n"],"names":["ETariffTypes","EFilterIds","filterActions","FILTER_BUNDLE","tariffs","filter","tariff","type","FILTER_INTERNET","FILTER_ONLINE_CINEMA","offerContents","some","item","service_id","CINEMA_CONTENT_IDS","title","startsWith","FILTER_GAMES_AND_SERVICES","getInitialFilterItems","checkedId","currentRoute","initItems","id","checked","disabled","label","alternative","action","includes","slice","map","TAB_FLAT","TAB_VILLAGE","PATH_BUNDLES_LINK_CITY","PATH_BUNDLES_LINK_VILLAGE","PATH_INTERNET_LINK_CITY","Tariffs","props","getTariffsWithFilters","filters","state","cinemaFilter","find","gamesAndServicesFilter","showTv","tariffConstructorBundles","alias","tariffConstructorInternet","filteredTariffs","cinemaTariff","isCinemaTariff","gamingTariff","onToggleFilter","filtersBuffer","currentFilter","prevFilter","el","dataLayerPush","event","EVENTS","category","CATEGORIES","newState","setState","onClickViewAllHandler","ACTIONS","onChannelsClickHandler","isChannelPopupOpen","selectedTariff","onCloseChannelsPopup","getFilteredTariffs","cityBundles","villageBundles","cityInternet","villageInternet","hasCityTariffs","length","hasVillageTariffs","hasMonoCityTariffs","hasMonoVillageTariffs","hasBundlesCityTariffs","hasBundlesVillageTariffs","tariffFilter","activeTariffFilterItem","filterForTariff","popup","active","texts","componentDidUpdate","prevProps","preparedTariffs","this","render","onMenuTabClick","getCombinedUniqueArray","city","pageTitle","companyName","cityIn","showTV","showInternet","currButtonLink","isVillage","menuItems","text","bind","currBundles","currInternet","villageUnique","cityUnique","allTariffs","currentFilteredTariffs","div","ST","FiltersForTariffs","activeItem","tariffSwitcherData","tariffFiltersData","ThemeProvider","theme","baseTariffs","openPopup","TariffCardPlug","btnTypes","href","onClick","ChannelListPopup","isOpen","onClose","freePackets","getAvailableOnMainPage","availableOnMainPage","cityBundlesAvailable","villageBundlesAvailable","cityInternetAvailable","villageInternetAvailable","localStorage","setItem","LS_TARRIFFS_ACTIVE","JSON","stringify","tariffFilterItem","filteredBy","tvFilter","isOnlyInternetRadio","arr1","arr2","Map","productId","values","Component","connect","currentCity","selectTariffsByType","selectCompanyName","flexboxgrid","breakpoints","xs","sm","md","lg","TariffTitle","styled","FONTS","COLORS","STariffLine","TariffLine","StyledButton","BaseButton","selectIsAuth","auth","isAuth"],"sourceRoot":""}