"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[611],{770:function(e,t,n){n.d(t,{t:function(){return i}});var r=n(467),c=n(7764);function o(e){return{...e,type:c.qG.Bank}}let i={fetchCities:async e=>(0,r.Z)("/api/v1/currencies/city",{params:{currency:e}}),fetchCurrencies:async()=>(0,r.Z)("/api/v1/currencies"),async fetchServicePointsForMap(e){let{data:t}=await (0,r.Z)("/api/v2/currencies/bank-service-points/filter/bank",{method:"POST",body:{filter:e,pagination:{page:0,pageSize:1e3}}});return t},async fetchBankList(e){let{banks:t}=await (0,r.Z)("/api/v1/currencies/bank/filter",{method:"POST",body:e});return{banks:t.map(o)}},fetchServicePointDetails:async(e,t)=>(0,r.Z)("/api/v1/currencies/bank-service-point/".concat(e,"/details"),{query:{currency:t}}),async fetchBankServicePoints(e,t){let{filter:n,pagination:c}=t,{data:o,...i}=await (0,r.Z)("/api/v2/currencies/bank-service-points/filter/bank",{method:"POST",body:{filter:{...n,bankId:e},pagination:c}});return{data:o,...i}}}},8083:function(e,t,n){n.r(t),n.d(t,{CatalogContext:function(){return l},CatalogContextProvider:function(){return s}});var r=n(7437),c=n(2265),o=n(770),i=n(965),a=n(2217),u=n(1883);let l=(0,c.createContext)([u.P,()=>null]);function s(e){let{children:t,initialState:n}=e,[s,f]=(0,c.useState)({...u.P,...n}),d=e=>{f(t=>({...t,...e}))},{cities:v}=(0,c.useContext)(a.ServiceDataContext),[{city:p,amount:h,metro:m,currency:S,showBanks:b,showAtms:y,orderType:P,mapView:C,newUsd:k,zeroFee:w,bank:B}]=(0,c.useContext)(i.FilterContext),g=async e=>{let{banks:t}=await o.t.fetchBankList(e);f(n=>({...n,banks:t,filter:e}))},E=async e=>{let t=await o.t.fetchServicePointsForMap(e);f(n=>({...n,mapServicePoints:t,filter:e}))},U=async(e,t)=>{try{f(e=>({...e,isLoading:!0})),t(e)}catch(e){console.error(e),f(e=>({...e,rootServicePoints:[],banks:[]}))}finally{f(e=>({...e,isLoading:!1}))}};(0,c.useEffect)(()=>{U(function(){let{cityName:e=p,metroName:t=m,amountLowerLimit:n=h,currencyCode:r=S,includeAtm:c=y,includeBranch:o=b,operationType:i=P,newUsd:a=k,zeroFee:u=w,bankId:l=B}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{cityId:s,metroId:f}=function(e,t){var n;let r=v.find(t=>{let{name:n}=t;return n===e}),c=null===(n=r.metro.find(e=>{let{name:n}=e;return n===t}))||void 0===n?void 0:n.id;return{cityId:r.id,metroId:c}}(e,t);return{amountLowerLimit:n,cityId:s,currency:r,includeAtm:c,includeBranch:o,operationType:i,newUsd:a,zeroFee:u,bankId:l,...f&&{metroId:f}}}({cityName:p,metroName:m,currencyCode:S,includeAtm:y,includeBranch:b,operationType:P,newUsd:k,zeroFee:w,bankId:B}),C?E:g)},[p,m,S,b,y,P,C,k,w,B]);let x=(0,c.useMemo)(()=>[s,d],[s]);return(0,r.jsx)(l.Provider,{value:x,children:t})}},1883:function(e,t,n){n.d(t,{P:function(){return o}});var r=n(3669),c=n(4655);let o={banks:[],mapServicePoints:[],selectedMapServicePoint:void 0,selectedServicePointDetails:void 0,isLoading:!1,filter:{amountLowerLimit:c.E.amount,currency:r.a7,includeAtm:c.E.showAtms,includeBranch:c.E.showBanks,operationType:c.E.orderType}}},965:function(e,t,n){n.r(t),n.d(t,{FilterContext:function(){return i},FilterContextProvider:function(){return a}});var r=n(7437),c=n(2265),o=n(4655);let i=(0,c.createContext)([o.E,()=>null]);function a(e){let{children:t,initialState:n}=e,[a,u]=(0,c.useState)({...o.E,...n}),l=e=>{u(t=>({...t,...e}))};return(0,c.useEffect)(()=>{a.mapView||l({bank:void 0})},[a.mapView]),(0,r.jsx)(i.Provider,{value:[a,l],children:t})}},4655:function(e,t,n){n.d(t,{E:function(){return o}});var r=n(7764),c=n(3669);let o={city:c.c3,metro:void 0,currency:c.a7,currencyPair:[c.a7,c.K5.code],amount:100,amountCurrency:c.a7,showBanks:!0,showAtms:!0,mapView:!1,orderType:r.mr.Buy,newUsd:!1,zeroFee:!1,bank:void 0}},2217:function(e,t,n){n.r(t),n.d(t,{ServiceDataContext:function(){return i},ServiceDataContextProvider:function(){return a}});var r=n(7437),c=n(2265),o=n(770);let i=(0,c.createContext)({cities:[],currencies:[],updateCityList:()=>Promise.resolve()});function a(e){let{children:t,initialState:n}=e,[a,u]=(0,c.useState)(n.cities),l=async e=>{u(await o.t.fetchCities(e))},s=(0,c.useMemo)(()=>({currencies:n.currencies,cities:a,updateCityList:l}),[a,n]);return(0,r.jsx)(i.Provider,{value:s,children:t})}},6962:function(e,t,n){n.r(t),n.d(t,{useGeolocation:function(){return c}});var r=n(2265);function c(e){let[t,n]=(0,r.useState)();return(0,r.useEffect)(()=>{let t=e=>{n(e.coords)};navigator.geolocation.getCurrentPosition(t,void 0,e);let r=navigator.geolocation.watchPosition(t,void 0,e);return()=>navigator.geolocation.clearWatch(r)},[e]),t}},9389:function(e,t,n){n.r(t),n.d(t,{usePrevious:function(){return c}});var r=n(2265);function c(e){let t=(0,r.useRef)(e);return(0,r.useEffect)(()=>{t.current=e},[e]),t.current}},467:function(e,t,n){var r=n(7203);let c=n(1763).Wg.create({baseURL:(0,r.SJ)("NEXT_PUBLIC_MP_SC_INVESTMENT_API_URL"),next:{revalidate:300}});t.Z=c},7764:function(e,t,n){var r,c,o,i,a,u,l,s,f;n.d(t,{xJ:function(){return r},qG:function(){return o},mr:function(){return a},T4:function(){return i},VF:function(){return c}}),(u=r||(r={})).Banner="banner",u.Block="block",u.Breadcrumbs="breadcrumbs",u.Button="button",u.Caption="caption",u.Chart="chart",u.Checkbox="checkbox",u.Chips="chips",u.Collapse="collapse",u.Dropdown="dropdown",u.Form="form",u.Header="header",u.Icon="icon",u.Image="image",u.Input="input",u.Link="link",u.List="list",u.Modal="modal",u.Radiobutton="radiobutton",u.Select="select",u.Slider="slider",u.Switcher="switcher",u.Table="table",u.Tabs="tabs",u.Text="text",u.Tile="tile",u.Toggle="toggle",(l=c||(c={})).Atm="ATM",l.Branch="BRANCH",(s=o||(o={}))[s.ServicePoint=0]="ServicePoint",s[s.Bank=1]="Bank",(i||(i={})).Service="service",(f=a||(a={})).Buy="BUY",f.Sell="SELL"},3669:function(e,t,n){n.d(t,{c3:function(){return c},a7:function(){return i},_H:function(){return o},K5:function(){return u},EE:function(){return l},D7:function(){return a},Ui:function(){return s}});var r=n(7764);let c="Москва",o={page:0,pageSize:10,total:0},i="USD",a={[r.VF.Atm]:"Банкомат",[r.VF.Branch]:"Отделение"},u={code:"RUB",label:"Рубль",symbol:"₽"},l=1e4,s={MONDAY:"Пн",TUESDAY:"Вт",WEDNESDAY:"Ср",THURSDAY:"Чт",FRIDAY:"Пт",SATURDAY:"Сб",SUNDAY:"Вс"};n(8449)},8449:function(){function e(e,t,n){return 0===n?[]:Array.from({length:Math.ceil((t-e)/n)},(t,r)=>e+r*n)}e(1,1e3,1).concat(e(1e3,2e3,5)).concat(e(2e3,5e3,10)).concat(e(5e3,1e4,100)).concat(e(1e4,2e4,500)).concat(e(2e4,1e5,1e3)).concat(e(1e5,1e6,1e4)).concat(1e6).concat(e(5e7,1e9,5e7)).concat(1e9),e(1,100,1).concat(e(100,1e3,10)).concat(e(1e3,1e4,100)).concat(e(1e4,15e4,5e3)).concat(15e4).concat(e(2e5,1e6,5e4)).concat(e(1e6,1e7,1e6)).concat(1e7).concat(1e8)},7203:function(e,t,n){n.d(t,{ik:function(){return l},p6:function(){return o},pR:function(){return S},SJ:function(){return a}});var r=n(8947),c=n(309);function o(e,t){let{format:n="dd.MM.yy"}=null!=t?t:{};return"string"==typeof e?(0,r.Z)(new Date(e),n,{locale:c.Z}):(0,r.Z)(e,n,{locale:c.Z})}var i=n(564);function a(e){let t=(0,i.env)(e);if(void 0===t&&window.__ENV&&Object.keys(window.__ENV).length>0)throw Error("".concat(e," is undefined"));return t}var u=n(6731);function l(e,t){return e<.01?"< ".concat((0,u.lb)(.01,t)):(0,u.lb)(e,t)}let s={USD:["доллар","доллара","долларов"],EUR:["евро","евро","евро"],CNY:["юань","юаня","юаней"],JPY:["иена","иены","иен"],GBP:["фунт","фунта","фунтов"],RUB:["рубль","рубля","рублей"]};function f(e,t){return t in s?(0,u._6)(e,s[t],!0):t}let d={USD:"доллары",EUR:"евро",CNY:"юани",JPY:"иены",GBP:"фунты",RUB:"рубли"},v={USD:"долларах",EUR:"евро",CNY:"юанях",JPY:"иенах",GBP:"фунтах",RUB:"рублях"};function p(e){var t;return null!==(t=d[e])&&void 0!==t?t:e}var h=n(9788),m=n.n(h);function S(e,t){let{currency:n,amount:r,amountCurrency:c,newUsd:o,zeroFee:i}=t,a=m()(n),u=m()(c);if(r){if(c){var l;return"".concat(r," ").concat(f(r,u)," в ").concat(null!==(l=v[a])&&void 0!==l?l:a," по выгодному курсу на сегодня - купить, обменять ").concat(u," на ").concat(a)}return"".concat(r," ").concat(f(r,a)," в рублях по выгодному курсу на сегодня — купить, обменять ").concat(a," на RUB")}return i?"Купить ".concat(o?"новые ":"").concat(p(a)," без комиссии — курс ").concat(a," в ").concat(e.caseName):o?"Купить новые доллары в ".concat(e.caseName,". USD доллары нового образца"):"Купить ".concat(p(a)," в ").concat(e.caseName," — выгодный курс и удобный обмен")}n(3669),n(8449),n(5355);var b=n(3472);(0,b.$)("afebe79bebd9353a6de054a03cbe330a8c4d731a"),(0,b.$)("10a02e2c1d2a92590d7607bc262091fce1e266dd")}}]);