PageSourceSearch

https://platform.recplace.ru/_next/static/chunks/2040-61d30ac234816971.js

js recplace.ru collected 2026-09-28 09:00:54 UTC 86,289 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2040],{936:(e,t,a)=>{"use strict";a.d(t,{C:()=>u,t:()=>_});var n=a(95155),l=a(20170),s=a(67633),i=a(6439),r=a(82002),c=a(53012),o=a(12899),d=a.n(o);let u="central-point-map-modal",_=e=>{let{coordinates:t,isInteractive:a,radiusKm:o,resetKey:_,address:p,title:h="Своя точка",onPointMove:m}=e,v=(0,i.j)();return(0,n.jsx)(s.a,{modalID:u,hideHeader:!0,hideButtons:!0,maxWidth:"764px",modalClassName:d().modal,contentClassName:d().content,children:(0,n.jsxs)("div",{className:d().root,children:[(0,n.jsxs)("div",{className:d().header,children:[(0,n.jsx)("h2",{className:d().title,children:h}),(0,n.jsx)("button",{type:"button",className:d().closeButton,"aria-label":"Закрыть",onClick:()=>v((0,r.Oo)()),children:(0,n.jsx)(l.USm,{})})]}),(0,n.jsx)("div",{className:d().map,children:(0,n.jsx)(c.X,{coordinates:t,isInteractive:a,radiusKm:o,resetKey:_,onPointMove:m})}),(0,n.jsx)("div",{className:d().address,children:p})]})})}},7543:e=>{e.exports={columns:"NewCheck_columns__kEx6G",pageState:"NewCheck_pageState__z_EIT",buttonUpscale:"NewCheck_buttonUpscale__6_9BI",tokens:"NewCheck_tokens__hEXNy",footerShadow:"NewCheck_footerShadow__2x3kL",column:"NewCheck_column__wTk2o",requestsColumn:"NewCheck_requestsColumn__ihJUy",centralColumn:"NewCheck_centralColumn__f43T5",top:"NewCheck_top__Y_LFH",title:"NewCheck_title__FqF88",checkbox:"NewCheck_checkbox__UCA_a",counter:"NewCheck_counter__TBHIi",titleMain:"NewCheck_titleMain__HbCup",desc:"NewCheck_desc__GRHOv",requests:"NewCheck_requests__QpdQB",requestsTop:"NewCheck_requestsTop__0edRj",inputButtons:"NewCheck_inputButtons____StL",requestsItems:"NewCheck_requestsItems__AHlF6",item:"NewCheck_item__aTX4r",generationNotice:"NewCheck_generationNotice__kxcO4",generationNoticeHeader:"NewCheck_generationNoticeHeader__BQc44",generationNoticeProgress:"NewCheck_generationNoticeProgress__umwn_",generationNoticeTitle:"NewCheck_generationNoticeTitle__KrFsP",generationNoticeChip:"NewCheck_generationNoticeChip__jOCIS",generationNoticeSpinner:"NewCheck_generationNoticeSpinner__gMLH2",generationNoticeStop:"NewCheck_generationNoticeStop__W6lbq",generationNoticeText:"NewCheck_generationNoticeText__dVToL",generationError:"NewCheck_generationError__zdRK8",requestsWarning:"NewCheck_requestsWarning__dhIQv",itemText:"NewCheck_itemText__32MzV",requestsState:"NewCheck_requestsState__agazZ",centralPoint:"NewCheck_centralPoint__MTkOy",centralPointTitle:"NewCheck_centralPointTitle__kotuK",centralPointContent:"NewCheck_centralPointContent__S5Gms",centralPointChips:"NewCheck_centralPointChips__1L9Yd",centralPointChip:"NewCheck_centralPointChip__OMRqq",centralPointChipActive:"NewCheck_centralPointChipActive__ix04O",centralPointDesc:"NewCheck_centralPointDesc__H7QLE",centralPointMap:"NewCheck_centralPointMap__gN037",centralPointPin:"NewCheck_centralPointPin__bGQ4E",centralPointAddress:"NewCheck_centralPointAddress__m0WQa",radiusSection:"NewCheck_radiusSection__TLvyq",radiusHeader:"NewCheck_radiusHeader__wY1cc",radiusTitle:"NewCheck_radiusTitle__NS1ZH",radiusDivider:"NewCheck_radiusDivider__CexIn",radiusValue:"NewCheck_radiusValue__l_IaG",radiusValueControls:"NewCheck_radiusValueControls__Wptg0",radiusValueArrowUp:"NewCheck_radiusValueArrowUp__XSBN3",radiusValueArrowDown:"NewCheck_radiusValueArrowDown__kx9Ey",radiusSlider:"NewCheck_radiusSlider__I_t8N",radiusSliderControl:"NewCheck_radiusSliderControl__6s8nQ",radiusSliderLane:"NewCheck_radiusSliderLane__Sx4hl",radiusSliderTrack:"NewCheck_radiusSliderTrack__Qmtb0",radiusSliderProgress:"NewCheck_radiusSliderProgress__7ShQ6",radiusSliderDots:"NewCheck_radiusSliderDots__aNDEu",radiusSliderThumb:"NewCheck_radiusSliderThumb__oJkUs",radiusSliderDotCovered:"NewCheck_radiusSliderDotCovered__jhLpP",radiusSliderLabels:"NewCheck_radiusSliderLabels__Mr8X0",radiusSliderLabelActive:"NewCheck_radiusSliderLabelActive__S3mpL",devicesSection:"NewCheck_devicesSection__1jUTb",devicesInfo:"NewCheck_devicesInfo__mVgDq",devicesTitle:"NewCheck_devicesTitle__OYHxk",devicesDesc:"NewCheck_devicesDesc__vlMjF",devicesChips:"NewCheck_devicesChips__J0vLL",devicesChip:"NewCheck_devicesChip__X9JcD",devicesChipActive:"NewCheck_devicesChipActive__j9O9y",competitorsSection:"NewCheck_competitorsSection__SQTI8",competitorsTop:"NewCheck_competitorsTop__xgmmi",competitorsHeader:"NewCheck_competitorsHeader__BY_4_",competitorsTitleWrap:"NewCheck_competitorsTitleWrap__ox4YO",competitorsTitle:"NewCheck_competitorsTitle__Mz71L",competitorsCounter:"NewCheck_competitorsCounter__cOGC4",competitorsDesc:"NewCheck_competitorsDesc__P_bo3",competitorsContent:"NewCheck_competitorsContent__uBB0i",competitorsDropdownRoot:"NewCheck_competitorsDropdownRoot__M0Ssv",competitorsDropdownContainer:"NewCheck_competitorsDropdownContainer__O7g9C",competitorsDropdownMenu:"NewCheck_competitorsDropdownMenu__wzgGb",competitorsDropdownOption:"NewCheck_competitorsDropdownOption__WKAsU",competitorsTitleLoader:"NewCheck_competitorsTitleLoader__Y273O",competitorsInputLoa
1der:"NewCheck_competitorsInputLoader__77Rnz",spin:"NewCheck_spin__X5VLJ",competitorsWarning:"NewCheck_competitorsWarning__XTVgW",competitorsList:"NewCheck_competitorsList__38ioM",competitorCard:"NewCheck_competitorCard__hLQth",competitorInfo:"NewCheck_competitorInfo__sE3dY",competitorName:"NewCheck_competitorName__4LE7s",competitorAddress:"NewCheck_competitorAddress__T7yoB",autoCheckSection:"NewCheck_autoCheckSection__ef1Kd",autoCheckContent:"NewCheck_autoCheckContent__m1EKk",autoCheckInfo:"NewCheck_autoCheckInfo__BcjIY",autoCheckTitle:"NewCheck_autoCheckTitle___Ysn0",autoCheckPrice:"NewCheck_autoCheckPrice__Ztfsz",autoCheckDesc:"NewCheck_autoCheckDesc___v2gv",autoCheckSettings:"NewCheck_autoCheckSettings__It_Jr",autoCheckField:"NewCheck_autoCheckField__vLtEl",autoCheckFieldTitle:"NewCheck_autoCheckFieldTitle__WCfui",autoCheckDays:"NewCheck_autoCheckDays__a7fTj",autoCheckDay:"NewCheck_autoCheckDay__w3XJf",autoCheckDayActive:"NewCheck_autoCheckDayActive__dgGit",commentSection:"NewCheck_commentSection__h2Sr6",commentContent:"NewCheck_commentContent__A8l4S",commentTitle:"NewCheck_commentTitle__HdtB7",requestsInput:"NewCheck_requestsInput__6_eFz"}},10486:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MspAnalytics:()=>ee});var n=a(95155),l=a(33228),s=a(21147),i=a(9974),r=a(27043),c=a(92548),o=a(6696),d=a(6439),u=a(91189),_=a(20063),p=a(12115),h=a(80549),m=a(65386),v=a(99776),x=a(53455),C=a(23549),g=a(93414),j=a(16513);let N={mode:"branch_address"},b={pointMode:"branch_address",point:N,nicheOverride:null};var y=a(75903);let w=(e,t,a)=>null!=e&&e<.5?a:t,k=["Высокий доход","Средний доход","Ниже среднего","Низкий доход"],M=(e,t)=>e.filter(e=>!!e).join(t);var f=a(79563),R=a(48412),S=a(81868),T=a.n(S),A=a(85203),L=a.n(A);let F=e=>{let{catalog:t,selectedNicheId:a,disabled:l=!1,onPick:s}=e,{query:i,setQuery:r,groups:c}=(e=>{let[t,a]=(0,p.useState)(""),n=(0,p.useMemo)(()=>(0,j.MO)((0,j.gx)((0,j.yh)(e),t)),[e,t]);return{query:t,setQuery:a,groups:n}})(t);return(0,n.jsxs)("div",{className:T().catalog,children:[(0,n.jsx)("input",{className:T().searchInput,type:"search",placeholder:"Поиск ниши…",value:i,onChange:e=>r(e.target.value)}),c.length?c.map(e=>{let{sphere:t,niches:i}=e;return(0,n.jsxs)("div",{className:T().catalogGroup,children:[(0,n.jsx)("div",{className:T().catalogGroupTitle,children:t.name}),(0,n.jsx)("div",{className:T().catalogGrid,children:i.map(e=>(0,n.jsx)("button",{type:"button",className:L()(T().catalogItem,e.id===a&&T().catalogItemActive),disabled:l,onClick:()=>s(e),children:e.name},e.id))})]},t.id)}):(0,n.jsx)("p",{className:T().hint,children:"Ничего не нашлось — попробуйте другое слово."})]})},I=e=>{let{catalog:t,companyTitle:a,isSaving:l,onPick:s}=e;return(0,n.jsxs)("section",{className:T().card,children:[(0,n.jsxs)("div",{className:T().cardHead,children:[(0,n.jsx)("h2",{className:T().cardTitle,children:"Выберите нишу"}),(0,n.jsxs)("p",{className:T().hint,children:["Для филиала \xab",a,"\xbb ниша ещё не выбрана. По ней считается спрос, конкуренты и инвестиции. Выбор сохранится в карточке филиала."]})]}),(0,n.jsx)(F,{catalog:t,selectedNicheId:null,disabled:l,onPick:s})]})};var D=a(71314),P=a(9707),B=a(70593),O=a(74179),V=a(87111),E=a(82002),W=a(67633);let z="msp-niche-modal",H=e=>{let{catalog:t,selectedNicheId:a,onPick:l}=e,s=(0,d.j)();return(0,n.jsx)(W.a,{modalID:z,title:"Сменить нишу для этого отчёта",hideButtons:!0,maxWidth:"640px",children:(0,n.jsxs)("div",{className:T().modalBody,children:[(0,n.jsx)("p",{className:T().hint,children:"Меняется только этот отчёт — ниша филиала в карточке не трогается."}),(0,n.jsx)(F,{catalog:t,selectedNicheId:a,onPick:e=>{s((0,E.Oo)()),l(e)}})]})})};var Z=a(57698);let q=e=>{var t;let{branchCoordinates:a,branchAddress:l,committedPoint:s,serviceRadiusM:c,isCommitting:o,onCommit:d}=e,u=s?[s.latitude,s.longitude]:a,[_,v]=(0,p.useState)(u),[x,C]=(0,p.useState)(null!=(t=null==s?void 0:s.address)?t:l),[g,j]=(0,p.useState)(""),[N,b]=(0,p.useState)(0);(0,p.useEffect)(()=>{var e;v(u),C(null!=(e=null==s?void 0:s.address)?e:l),b(e=>e+1)},[l,a[0],a[1]]);let y=(e=>{let{onSuccess:t}=e;return(0,h.useMutation)({mutationFn:async e=>await m.G.geocode(e.trim()),onSuccess:t,onError:()=>(0,r.showAppToast)("Адрес не найден. Уточните город, улицу и дом.","error")})})({onSuccess:e=>{v([e.latitude,e.longitude]),C(e.address),b(e=>e+1)}}),w=(0,p.useCallback)((e,t)=>{v(e),C(null!=t?t:"")},[]),k=((e,t)=>{let[a,n]=e;return{latitude:a,longitude:n,address:t||null}})(_,x),M=((e,t)=>!!(e&&e.latitude===t.latitude&&e.longitude===t.longitude))(s,k),f=g.trim().length>0&&!y.isPending,R=()=>y.mutate(g);return(0,n.jsxs)("div",{className:T().ownPoint,children:[(0,n.jsxs)("div",{className:T().ownPointSearch,children:[(0,n.jsx)("input",{className:T().searchInput,type:"text",placeholder:"Город, улица, дом",value:g,onChange:e=>j(e.target.value),onKeyDown:e=>{"Enter"===e.key&&f&&R()}}),(0,n.jsx)(i.$,{type:"button",variant:"outlined",disabled:!f,loading:y.isPending,onClick:R,children:"Найти"})]}),(0,n.jsx)("div",{className:T().ownPointMap,children:(0,n.jsx)(Z.k,{address:x,coordinates:_,isInteractive:!0,radiusKm:c?c/1e3:1,resetKey:N,onPointMove:w})}),(0,n.jsxs)("div",{className:T().ownPointFooter,children:[(0,n.jsx)("div",{className:T().ownPointAddress,children:x||"Переместите карту, чтобы поставить точку"}),(0,n.jsx)(i.$,{type:"button",disabled:M||o,loading:o,onClick:()=>d(k),children:"Обновить"})]})]})},U={branch_address:"Филиал",custom_point:"Своя точка"},G=["branch_address","custom_point"],Q={walking:"Для \xabПешеходной\xbb источник прогноз по Ð
1½Ð¾Ð²Ð¾ÑÑ‚ройкам не считает — переключитесь на \xabРадиус\xbb.",buffer:"Прогноз по новостройкам для этой зоны не получен от источника"},K=e=>({value:e.id,label:e.address||e.label,description:e.address?e.label:void 0,hideDescriptionInValue:!0}),Y=e=>{var t,a,l;let{companyId:s,branches:i,branchCoordinates:r,branchAddress:c,catalog:o,nicheLabel:u,selectedNicheId:_,pointMode:p,committedCustomPoint:h,report:m,zone:v,withForecast:x,isRefreshing:C,onPointModeChange:N,onBranchChange:b,onCustomPointCommit:w,onNicheChange:k,onZoneChange:M,onForecastChange:f}=e,R=(0,d.j)(),S=v&&null!=(a=null==m?void 0:m.variants[v])?a:null,A=(0,j.Nk)(m),F=(0,j.Fd)(S),I=i.map(K),W=I.find(e=>e.value===s);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("h2",{className:T().blockTitle,children:"Параметры анализа"}),(0,n.jsxs)("section",{className:T().card,children:[(0,n.jsxs)("div",{className:T().paramRow,children:[(0,n.jsx)("div",{className:T().paramLabel,children:"Точка анализа"}),(0,n.jsxs)("div",{className:T().paramControls,children:[(0,n.jsx)("div",{className:T().segTabs,children:G.map(e=>(0,n.jsx)("button",{type:"button",className:L()(T().segTab,p===e&&T().segTabActive),onClick:()=>N(e),children:U[e]},e))}),"branch_address"===p?(0,n.jsx)("div",{className:T().branchSelect,children:(0,n.jsx)(B.ms,{ariaLabel:"Филиал",items:I,value:null!=W?W:null,variant:"surface",classNames:{control:T().branchControl},placeholder:"Выберите филиал",onChange:e=>{let t=null==e?void 0:e.value,a=i.find(e=>e.id===t);a&&a.id!==s&&b(a)}})}):null]}),"custom_point"===p?(0,n.jsx)(q,{branchCoordinates:r,branchAddress:c,committedPoint:h,serviceRadiusM:null!=(l=null==S?void 0:S.zone_service_m)?l:null,isCommitting:C,onCommit:w}):null]}),(0,n.jsxs)("div",{className:T().paramRow,children:[(0,n.jsxs)("div",{className:T().paramLabel,children:["Ниша ",(0,n.jsx)("span",{className:T().required,children:"Обязательно"})]}),(0,n.jsxs)("button",{type:"button",className:T().nichePicker,disabled:!o,onClick:()=>R((0,E.qf)(z)),children:[(0,n.jsx)("b",{children:u}),(0,n.jsx)(V.A,{className:T().chevron,"aria-hidden":!0})]})]}),(0,n.jsxs)("div",{className:T().paramRow,children:[(0,n.jsx)("div",{className:T().paramLabel,children:"Доступность"}),(0,n.jsx)("div",{className:T().segTabs,children:g.Xu.map(e=>(0,n.jsx)("button",{type:"button",className:L()(T().segTab,v===e&&T().segTabActive),disabled:!A.includes(e),onClick:()=>M(e),children:g.pv[e]},e))}),v?(0,n.jsx)("p",{className:T().hint,children:g.uv[v]}):null]}),(0,n.jsxs)("div",{className:T().paramRow,children:[(0,n.jsxs)("label",{className:L()(T().switchRow,"walking"===v&&!F&&T().switchRowTop),children:[(0,n.jsx)(P.S,{variant:"switcher",checked:x&&F,disabled:!F,onChange:e=>f(e.target.checked)}),(0,n.jsxs)("span",{className:T().switchText,children:[(0,n.jsx)("span",{className:T().switchLabel,children:(e=>null!=e?"Учесть будущие новостройки (".concat(e," домов), горизонт 3 года"):"Учесть будущие новостройки")(null==S||null==(t=S.forecast)?void 0:t.dev_count)}),"walking"!==v||F?null:(0,n.jsx)("span",{className:T().hintMuted,children:Q.walking})]})]}),"buffer"!==v||F?null:(0,n.jsx)(D.F,{severity:"error",inline:!0,icon:(0,n.jsx)(O.A,{}),text:Q.buffer})]}),S?(0,n.jsxs)("div",{className:T().zoneNote,children:["Зона спроса"," ",(0,n.jsx)("b",{children:"walking"===v?"пешеходная доступность":(0,y.BO)(S.zone_service_m)})," ","\xb7 зона конкуренции"," ",(0,n.jsx)("b",{children:(0,y.BO)(S.zone_competition_m)})]}):null,o?(0,n.jsx)(H,{catalog:o,selectedNicheId:_,onPick:k}):null]})]})},X="Считаем отчёт — обычно до 45 секунд",J="Не удалось снять скриншот. Попробуйте ещё раз.",$=[{key:"simple",label:"Простой"},{key:"full",label:"Расширенный"}],ee=()=>{let{setPageFooter:e,setPageReady:t}=(0,l.h)(),a=(0,_.useRouter)(),S=(0,_.useSearchParams)(),A=(0,d.j)(),L=(0,s.Cj)(),F=(0,s.bq)(),[D,P]=(0,p.useState)("full"),B=(0,s._g)(),O=(0,d.G)(e=>e.userStateReducer.currentCompanyID),V=S.get("companyId"),E=null!=V?V:O,W=(e=>
1{let[t,a]=(0,p.useState)(b),[n,l]=(0,p.useState)(null),[s,i]=(0,p.useState)(!1);(0,p.useEffect)(()=>{a(b)},[e]);let r=(0,p.useCallback)(e=>{a(t=>({...t,pointMode:e,point:"branch_address"===e?N:t.point}))},[]),c=(0,p.useCallback)(e=>{a(t=>({...t,point:{mode:"custom_point",...e}}))},[]),o=(0,p.useCallback)(e=>{a(t=>({...t,nicheOverride:e}))},[]);return{pointMode:t.pointMode,point:t.point,nicheOverride:t.nicheOverride,committedCustomPoint:(e=>"custom_point"===e.mode?{latitude:e.latitude,longitude:e.longitude,address:e.address}:null)(t.point),preferredZone:n,withForecast:s,setPointMode:r,commitCustomPoint:c,overrideNiche:o,setPreferredZone:l,setWithForecast:i}})(E),{catalog:z,company:H,nicheId:Z,nicheLabel:q,report:U,zone:G,variant:Q,forecastEnabled:K,isBootstrapping:ee,hasBootstrapError:et,isReportPending:ea,isReportFetching:en,reportError:el,refetchReport:es,saveNiche:ei,share:er}=(e=>{var t,a,n,l,s,i,c;let{companyId:o,nicheOverride:d,point:u,preferredZone:_,withForecast:p}=e,N=(0,v.useQueryClient)(),b=(0,x.useQuery)({queryKey:C.d.catalog(),queryFn:async()=>await m.G.getCatalog(),staleTime:864e5}),y=(0,x.useQuery)({queryKey:C.d.company(o),queryFn:async()=>await m.G.getCompany(o),enabled:!!o,staleTime:6e4}),w=null!=(t=y.data)?t:null,k=null!=(a=null==w?void 0:w.msp_niche)?a:null,M=null!=(l=null!=(n=null==d?void 0:d.id)?n:null==k?void 0:k.niche_id)?l:null,f=(0,x.useQuery)({queryKey:C.d.report(o,M,u),queryFn:async()=>await m.G.createReport({company_id:o,niche_id:null!=M?M:void 0,point:u}),enabled:!!o&&null!=M,staleTime:3e5,retry:!1,refetchOnWindowFocus:!1}),R=null!=(s=f.data)?s:null,S=(0,j.VY)(R,_),T=S&&null!=(i=null==R?void 0:R.variants[S])?i:null,A=p&&(0,j.Fd)(T),L=(0,h.useMutation)({mutationFn:async e=>{var t;return await m.G.updateCompanyNiche(o,{msp_niche_id:e.id,msp_format_id:null==(t=(0,j.n6)(e))?void 0:t.id})},onSuccess:e=>{N.setQueryData(C.d.company(o),e)},onError:e=>(0,r.showAppToast)((0,g.e4)(e,"Не удалось сохранить нишу. Попробуйте ещё раз."),"error")}),F=(0,h.useMutation)({mutationFn:async()=>{if(!R||!S)throw Error("report is not ready");return await m.G.createShare(R.id,{zone:S,dev_enable:A})},onError:()=>(0,r.showAppToast)("Не удалось создать ссылку. Попробуйте ещё раз.","error")});return{catalog:null!=(c=b.data)?c:null,company:w,nicheId:M,nicheLabel:(0,j.Im)(d,k),report:R,zone:S,variant:T,forecastEnabled:A,isBootstrapping:y.isPending||b.isPending,hasBootstrapError:y.isError||b.isError,isReportPending:f.isPending,isReportFetching:f.isFetching,reportError:f.isError?f.error:null,refetchReport:f.refetch,saveNiche:L,share:F}})({companyId:E,nicheOverride:W.nicheOverride,point:W.point,preferredZone:W.preferredZone,withForecast:W.withForecast}),{branches:ec}=(0,s.UC)(),eo=(0,p.useCallback)(()=>a.push("/onboarding"),[a]),ed=(0,p.useCallback)(e=>{A((0,u._I)(e.chainId)),A((0,u.hb)(e.id)),V&&a.replace("/msp-analytics")},[V,A,a]),{mutate:eu,isPending:e_}=er,ep=(0,p.useCallback)(()=>{eu(void 0,{onSuccess:async e=>{let{url:t}=e,a=await L(t);(0,r.showAppToast)(a?"Ссылка на отчёт скопирована":"".concat("Ссылка на отчёт готова:"," ").concat(t),"success")}})},[L,eu]),eh=!!(U&&G&&(0,j.mD)(Q)),em=(0,p.useMemo)(()=>{var e,t;return U&&G&&Q&&H&&(0,j.mD)(Q)?(e=>{var t,a,n,l,s,i,r,c,o,d,u,_,p;let{variant:h,zone:m,withForecast:v,point:x,niche:C,companyTitle:N,address:b,createdAt:M}=e,f=(0,j.rM)(h,v),R=(0,j.kt)(h.competition),S=null!=(n=null==(t=h.audience)?void 0:t.house)?n:null,T=null!=(l=null==(a=h.audience)?void 0:a.bc)?l:null,A=(e=>{let t=[...null!=e?e:[]].reverse(),a=t.reduce((e,t)=>e+t,0);return a?t.map(e=>e/a):[]})(null==S?void 0:S.groups).map((e,t)=>{var a,n;return{label:null!=(n=null!=(a=k[t])?a:g.$L[t])?n:"Группа ".concat(t+1),share:e,isAffluent:t<2}}),L=(e=>e.length?e.filter(e=>e.isAffluent).reduce((e,t)=>e+t.share,0):null)(A);return{companyTitle:N,address:b,nicheLabel:C.niche_name?"".concat(C.niche_name).concat(C.format_name?" \xb7 ".concat(C.format_name):""):null,zoneLabel:g.pv[m],calculatedAt:(0,y.r6)(M),verdict:(e=>{let{money:t,competitors:a,affluentShare:n}=e,l=(e=>{let t=e%100,a=e%10;return t>=11&&t<=19?"".concat(e," прямых конкурентов"):1===a?"".concat(e," прямой конкурент"):a>=2&&a<=4?"".concat(e," прямых конкурента"):"".concat(e," прямых конкурентов")})(a.direct);if(!t||!t.demand_rub)return{tone:"neutral",title:"Ёмкость рынка для этой точки источник не дал.",detail:"Аудитория и конкуренты посчитаны: рядом ".concat(l,"."),advice:"Оцените спрос по соседней зоне или другой точке."};let s=t.supply_realized_rub/t.demand_rub,i=(0,y.m_)(t.supply_available_rub),r=(0,y.m_)(t.demand_rub);return 0===a.direct?{tone:"success",title:"Прямых конкурентов рядом нет.",detail:"Спрос в зоне — ".concat(r," в год, и его пока никто не забирает напрямую."),advice:"Локация под открытие: первый игрок собирает спрос без борьбы за клиента."}:s<.6?{tone:"success",title:"Свободная локация: спрос заметно выше предложения.",detail:"Из ".concat(r," в год конкуренты забирают меньше ").concat(Math.round(100*s),"%, свободно ").concat(i,". Рядом ").concat(l,"."),advice:w(n,"Локация под открытие: спрос не покрыт, аудитория платёжеспособная.","Спрос не покрыт, но аудитория экономит — считайте окупаемость на низком чеке.")}:s<.85?{tone:"warning",title:"Хорошая локация с живой конкуренцией.",detail:"Конкуренты забирают ".concat(Math.round(100*s),"% из ").concat(r," в год, свободно ").concat(i,". Рядом ").concat(l,"."),advice:w(n,"Аудитория платёжеспособная: конкурировать стоит сервисом и средним чеком, а не ценой.","Аудитория экономит: выигрывает цена и удобство, считайте окупаемость отдельно.")}:s<.95?{tone:"warning",title:"Хорошая локация, но плотно занята конкурентами.",detail:"Людей и денег вокруг много, но почти всё уже собирают ".concat(l,". Свободно ").concat(i," в год."),advice:w(n,"Заходить сюда стоит с сильным отличием от соседей — аудитория готова платить за него.","Заходить сюда стоит только с сильным отличием от соседей: аудитория чувствительна к цене.")}:{tone:"danger",title:"Рынок в этой зоне разобран.",detail:"Из ".concat(r," в год свободно ").concat(i,": спрос уже делят ").concat(l,"."),advice:"Рассмотрите соседнюю точку или другой формат — здесь новому игроку почти не осталось денег."}})({money:f,competitors:R,affluentShare:L}),money:((e,t)=>e&&e.demand_rub?{demand:e.demand_rub,occupied:e.supply_realized_rub,free:e.supply_available_rub,occupiedShare:e.supply_realized_rub/e.demand_rub,withForecast:t}:null)(f,v),audience:{living:null!=(s=null==S?void 0:S.people)?s:null,households:null!=(i=null==S?void 0:S.households)?i:null,working:null!=(r=null==T?void 0:T.people)?r:null,businessCenters:null!=(c=null==T?void 0:T.count)?c:null,livingPenetration:null!=(o=null==S?void 0:S.penetration)?o:null,workingPenetration:null!=(d=null==T?void 0:T.penetration)?d:null,avgCheckLiving:null!=(u=null==S?void 0:S.avg_check)?u:null,avgCheckWorking:null!=(_=null==T?void 0:T.avg_check)?_:null,incomeRows:A,affluentShare:L},competitors:{...R,radiusM:null!=(p=h.zone_competition_m)?p:2e3},point:x,serviceRadiusM:h.zone_service_m}}
1)({variant:Q,zone:G,withForecast:K,point:U.point,niche:U.niche,companyTitle:(0,j.Q2)(H),address:null!=(t=null!=(e=U.point.address)?e:H.address)?t:null,createdAt:U.created_at}):null},[H,K,U,Q,G]),{capture:ev,isCapturing:ex}=B,eC=(0,p.useCallback)(async()=>{try{let e=await ev();if(!e)return void(0,r.showAppToast)(J,"error");if(await F(e))return void(0,r.showAppToast)("Скриншот в буфере — вставляйте в чат","success");window.open(URL.createObjectURL(e),"_blank","noopener"),(0,r.showAppToast)("Буфер недоступен — скриншот открыт в новой вкладке, сохраните его оттуда","success")}catch(e){(0,r.showAppToast)(J,"error")}},[ev,F]),eg=(0,p.useCallback)(async()=>{if(!em)return;let e=await L((e=>{let{money:t,audience:a,competitors:n,verdict:l}=e,s=M([e.companyTitle,e.address,"".concat(e.zoneLabel.toLowerCase()," доступность")]," \xb7 "),i=t?"• Деньги: рынок ".concat((0,y.m_)(t.demand)," в год, конкуренты уже забирают ").concat((0,y.m_)(t.occupied),", свободно около ").concat((0,y.m_)(t.free)," в год."):"• Деньги: ёмкость рынка для этой точки источник не дал.",r=M([null!=a.living?"живут ".concat((0,y.ZV)(a.living)," человек"):null,null!=a.working?"работают ".concat((0,y.ZV)(a.working)):null,null!=a.livingPenetration?"".concat((0,y.l9)(a.livingPenetration)," жителей пользуются услугой"):null,null!=a.avgCheckLiving?"средний чек ".concat((0,y.Fj)(a.avgCheckLiving)):null,null!=a.affluentShare?"".concat((0,y.l9)(a.affluentShare,0)," — средний и высокий доход"):null],"; "),c=M(["".concat(n.total," в зоне ").concat((0,y.ZV)(n.radiusM)," м"),"".concat(n.direct," прямых"),n.nearest?"ближайший в ".concat((0,y.ZV)(n.nearest.dist_m)," м"):null],", ");return[s,"Вывод: ".concat(l.title," ").concat(l.advice),i,r?"• Аудитория: ".concat(r,"."):null,"• Конкуренты: ".concat(c,"."),"Источник: Бизнес-навигатор МСП, расчёт ".concat(e.calculatedAt,".")].filter(Boolean).join("\n")})(em));(0,r.showAppToast)(e?"Текст для чата скопирован":"Не удалось скопировать текст.",e?"success":"error")},[L,em]);(0,p.useEffect)(()=>(t(!0),"simple"===D?e({onBack:eo,secondaryButtonLabel:"Текст для чата",onSecondaryButtonClick:eg,isSecondaryButtonDisabled:!em,primaryButtonLabel:"Скопировать скриншот",isPrimaryButtonDisabled:!em||ex,isPrimaryButtonLoading:ex,onPrimaryButtonClick:eC}):e({onBack:eo,primaryButtonLabel:"Поделиться",isPrimaryButtonDisabled:!eh||e_,isPrimaryButtonLoading:e_,onPrimaryButtonClick:ep}),()=>e(null)),[eh,eo,eC,eg,ep,ex,e_,e,t,em,D]);let ej=(0,p.useMemo)(()=>{var e,t;return[null!=(e=null==H?void 0:H.latitude)?e:0,null!=(t=null==H?void 0:H.longitude)?t:0]},[null==H?void 0:H.latitude,null==H?void 0:H.longitude]);return(0,n.jsx)(o.LN,{footerAware:!0,header:(0,n.jsx)(o.zY,{title:"Аналитика МСП",metaItems:H?[(0,j.Q2)(H)]:[],tabs:null!=Z?{activeKey:D,items:$,onChange:P}:void 0,onClose:eo}),children:(0,n.jsx)("div",{className:T().page,children:(()=>{var e;return E?ee?(0,n.jsx)("div",{className:T().reportState,children:(0,n.jsx)(c.a,{})}):!et&&H&&z?null==Z?(0,n.jsx)(I,{catalog:z,companyTitle:(0,j.Q2)(H),isSaving:ei.isPending,onPick:e=>ei.mutate(e)}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(Y,{companyId:H.id,branches:ec,branchCoordinates:ej,branchAddress:null!=(e=H.address)?e:"",catalog:z,nicheLabel:q,selectedNicheId:Z,pointMode:W.pointMode,committedCustomPoint:W.committedCustomPoint,report:U,zone:G,withForecast:K,isRefreshing:en,onPointModeChange:W.setPointMode,onBranchChange:ed,onCustomPointCommit:W.commitCustomPoint,onNicheChange:W.overrideNiche,onZoneChange:W.setPreferredZone,onForecastChange:W.setWithForecast}),(0,n.jsx)("div",{className:T().reportHead,children:"Отчёт"}),(()=>{if(ea)return(0,n.jsx)("div",{className:T().reportState,children:(0,n.jsx)(c.a,{description:X})});if(el)return(0,n.jsxs)("div",{className:T().reportState,children:[(0,n.jsx)("p",{children:(0,g.e4)(el)}),(0,n.jsx)(i.$,{type:"button",variant:"outlined",onClick:()=>es(),children:"Повторить"})]});if(!U||!Q||!G){let e=(0,j.Cn)(U);return(0,n.jsxs)("div",{className:T().reportState,children:[(0,n.jsx)("p",{children:(null==U?void 0:U.no_data_reason)?g.hI[U.no_data_reason]:"Данных для этой точки нет."}),e?(0,n.jsx)("p",{className:T().reportStateMeta,children:e}):null]})}return(0,n.jsxs)("div",{className:T().reportWrap,children:[en?(0,n.jsx)("div",{className:T().reportOverlay,children:(0,n.jsx)(c.a,{description:X})}
1):null,"simple"===D&&em?(0,n.jsx)(R.MspSimpleReport,{ref:B.ref,model:em}):(0,n.jsx)(f.z,{variant:Q,zone:G,withForecast:K,point:U.point,niche:U.niche,investment:U.investment,createdAt:U.created_at})]})})()]}):(0,n.jsx)("div",{className:T().reportState,children:(0,n.jsx)("p",{children:"Не удалось загрузить данные филиала. Попробуйте обновить страницу."})}):(0,n.jsxs)("div",{className:T().reportState,children:[(0,n.jsx)("p",{children:"Не выбран филиал для анализа."}),(0,n.jsx)(i.$,{type:"button",variant:"text",onClick:eo,children:"Вернуться"})]})})()})})}},12899:e=>{e.exports={modal:"CentralPointMapModal_modal__esvFW",content:"CentralPointMapModal_content__Mt0Yw",root:"CentralPointMapModal_root__C7c9F",header:"CentralPointMapModal_header__mZjy3",title:"CentralPointMapModal_title__jUORa",closeButton:"CentralPointMapModal_closeButton__1Lmes",map:"CentralPointMapModal_map__6oxwX",address:"CentralPointMapModal_address__xlucC"}},14312:(e,t,a)=>{"use strict";a.d(t,{Ay:()=>i,vG:()=>s});var n=a(80587),l=a.n(n);a(23353),l().locale("ru"),l().tz.setDefault(l().tz.guess());let s=e=>l().utc(e).local(),i=l()},16513:(e,t,a)=>{"use strict";a.d(t,{Cn:()=>g,Fd:()=>d,Im:()=>j,MO:()=>r,Nk:()=>c,Q2:()=>x,SD:()=>m,U1:()=>v,VY:()=>o,ds:()=>b,gx:()=>i,kt:()=>p,mD:()=>u,n6:()=>l,rM:()=>_,yh:()=>s});var n=a(93414);let l=e=>{var t,a;return null!=(a=null!=(t=e.formats.find(e=>e.is_default))?t:e.formats[0])?a:null},s=e=>{var t;return(null!=(t=null==e?void 0:e.spheres)?t:[]).flatMap(e=>e.niches.map(t=>({niche:t,sphere:e})))},i=(e,t)=>{let a=t.trim().toLowerCase();return a?e.filter(e=>{let{niche:t,sphere:n}=e;return t.name.toLowerCase().includes(a)||n.name.toLowerCase().includes(a)}):e},r=e=>{let t=new Map;return e.forEach(e=>{var a;let{niche:n,sphere:l}=e,s=null!=(a=t.get(l.id))?a:{sphere:l,niches:[]};t.set(l.id,{...s,niches:[...s.niches,n]})}),Array.from(t.values())},c=e=>n.Xu.filter(t=>!!(null==e?void 0:e.variants[t])),o=(e,t)=>{var a;let n=c(e);if(t&&n.includes(t))return t;if((null==e?void 0:e.default_zone)&&n.includes(e.default_zone))return e.default_zone;let l=n.find(t=>u(null==e?void 0:e.variants[t]));return null!=(a=null!=l?l:n[0])?a:null},d=e=>{var t;return!!((null==e||null==(t=e.forecast)?void 0:t.available)&&e.forecast.money)},u=e=>(null==e?void 0:e.status)==="ready"||(null==e?void 0:e.status)==="no_data"&&"demand_no_data"===e.no_data_reason,_=(e,t)=>{var a,n;let l=null!=(n=null==(a=e.forecast)?void 0:a.money)?n:null;return t&&d(e)&&l?l:e.money},p=e=>{var t,a,n,l,s,i,r,c;let o=null==e?void 0:e.distribution,d=[...null!=(t=null==e?void 0:e.competitors)?t:[]].sort((e,t)=>e.dist_m-t.dist_m);return{total:null!=(a=null==e?void 0:e.total)?a:0,direct:(null!=(n=null==o?void 0:o.direct_single)?n:0)+(null!=(l=null==o?void 0:o.direct_chain)?l:0),chain:(null!=(s=null==o?void 0:o.direct_chain)?s:0)+(null!=(i=null==o?void 0:o.indirect_chain)?i:0),hidden:null!=(r=null==e?void 0:e.hidden)?r:0,nearest:null!=(c=d.find(e=>!e.is_hidden))?c:null,sorted:d}},h=e=>[...null!=e?e:[]].reverse(),m=e=>{var t,a;let l=h(null==e||null==(t=e.house)?void 0:t.groups),s=h(null==e||null==(a=e.bc)?void 0:a.groups);return n.$L.map((e,t)=>{var a,n;return{label:e,house:null!=(a=l[t])?a:0,business:null!=(n=s[t])?n:0}})},v=(e,t)=>{let a=Math.max(...t,1);return"".concat(Math.round(e/a*100),"%")},x=e=>{var t;return(null==(t=e.custom_title)?void 0:t.trim())||e.title},C=(e,t)=>t?"".concat(e," (").concat(t,")"):e,g=e=>{var t;let a=(null==e?void 0:e.niche.niche_name)?C(e.niche.niche_name,e.niche.format_name):null,n=[null!=(t=null==e?void 0:e.point.city_name)?t:null,a].filter(e=>!!(null==e?void 0:e.trim()));return n.length?n.join(" \xb7 "):null},j=(e,t)=>{if(e){var a,n;return C(e.name,null!=(n=null==(a=l(e))?void 0:a.name)?n:"формат по умолчанию")}return t?C(t.niche_name,t.format_name):"Ниша не выбрана"},N=e=>e.charAt(0).toUpperCase()+e.slice(1),b=e=>{let t=e.name.indexOf(",");if(-1===t){var a;let t=null==(a=e.rubrics[0])?void 0:a.trim();return{name:e.name.trim(),format:t?N(t):null}}let n=e.name.slice(t+1).trim();return{name:e.name.slice(0,t).trim(),format:n?N(n):null}}}
1,18280:(e,t,a)=>{"use strict";a.d(t,{_u:()=>i,lU:()=>s,li:()=>c,xC:()=>l});let n=e=>e*Math.PI/180,l=function(e,t,a){let{fallback:l=13,min:s=10,max:i=17}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!a||!a.width||!a.height)return l;let r=2*t*1.15/Math.min(a.width,a.height);return Math.min(Math.max(Math.log2(156543.03392*Math.cos(n(e))/r),s),i)},s=function(e,t,a){let{min:n=10,max:l=17,paddingPx:s=12}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=Math.min(a.width,a.height)-2*s;for(let a=l;a>=n;a-=1)if(2*t/i(e,a)<=r)return a;return n},i=(e,t)=>156543.03392*Math.cos(n(e))/2**t,r=(e,t)=>{let[a,l]=e,s=256*2**t,i=Math.sin(n(a));return{x:(l+180)/360*s,y:(.5-Math.log((1+i)/(1-i))/(4*Math.PI))*s}},c=(e,t,a)=>{let n=r(e,a),l=r(t,a);return{dx:l.x-n.x,dy:l.y-n.y}}},23549:(e,t,a)=>{"use strict";a.d(t,{d:()=>l});let n="msp-reports",l={catalog:()=>[n,"catalog"],company:e=>[n,"company",e],report:(e,t,a)=>[n,"report",e,t,a],shared:e=>[n,"shared",e]}},25474:e=>{e.exports={card:"MspSimpleReport_card__XuckD",head:"MspSimpleReport_head__HHnPL",brand:"MspSimpleReport_brand__Dtmmc",title:"MspSimpleReport_title__lHwcH",addr:"MspSimpleReport_addr__2W102",chips:"MspSimpleReport_chips__9z2Ej",chip:"MspSimpleReport_chip__07BCV",chip_accent:"MspSimpleReport_chip_accent__oZjJq",verdict:"MspSimpleReport_verdict__Iwfwh",verdictDot:"MspSimpleReport_verdictDot__jL3Nc",verdictTitle:"MspSimpleReport_verdictTitle__k2FjS",verdictText:"MspSimpleReport_verdictText__5s1uy",verdict_success:"MspSimpleReport_verdict_success__QYSlD",verdict_warning:"MspSimpleReport_verdict_warning__le_Jm",verdict_danger:"MspSimpleReport_verdict_danger__YyaKU",verdict_neutral:"MspSimpleReport_verdict_neutral__OEwMf",section:"MspSimpleReport_section__H6bpu",sectionHead:"MspSimpleReport_sectionHead__gOmM3",sectionTitle:"MspSimpleReport_sectionTitle__ogx6c",money:"MspSimpleReport_money__5BkqV",big:"MspSimpleReport_big__yqObX",cap:"MspSimpleReport_cap__bwQFS",barTrack:"MspSimpleReport_barTrack__ol8hb",barOccupied:"MspSimpleReport_barOccupied__PSW2M",barFree:"MspSimpleReport_barFree___vh6a",legend:"MspSimpleReport_legend__pLpoX",dotOccupied:"MspSimpleReport_dotOccupied__IVdm8",dotFree:"MspSimpleReport_dotFree__YMdkZ",dotCenter:"MspSimpleReport_dotCenter__eewwv",dotDirect:"MspSimpleReport_dotDirect__elBQn",dotIndirect:"MspSimpleReport_dotIndirect__5fGTc",ringZone:"MspSimpleReport_ringZone__DWLBD",free:"MspSimpleReport_free__ZE9FE",freeValue:"MspSimpleReport_freeValue__HDJIv",freeLabel:"MspSimpleReport_freeLabel__zaLb_",freeNote:"MspSimpleReport_freeNote__efkKt",plain:"MspSimpleReport_plain__bEoRm",figure:"MspSimpleReport_figure__aImLC",figureIcon:"MspSimpleReport_figureIcon__TylTJ",f
1igureValue:"MspSimpleReport_figureValue__w66jk",figure_accent:"MspSimpleReport_figure_accent__tcVZt",figureLabel:"MspSimpleReport_figureLabel__LoBEL",figureHint:"MspSimpleReport_figureHint__p7bxA",audience:"MspSimpleReport_audience__IHjoD",audienceColumn:"MspSimpleReport_audienceColumn__dgx_M",income:"MspSimpleReport_income__pbDJu",incomeTitle:"MspSimpleReport_incomeTitle__9cWXN",incomeRow:"MspSimpleReport_incomeRow__qwWNZ",incomeRow_affluent:"MspSimpleReport_incomeRow_affluent__hvUuQ",incomeFill:"MspSimpleReport_incomeFill__iD_A_",incomeTrack:"MspSimpleReport_incomeTrack__okTN4",incomeValue:"MspSimpleReport_incomeValue__fNg6K",incomeNote:"MspSimpleReport_incomeNote__FlMdT",competitors:"MspSimpleReport_competitors__8nYpN",map:"MspSimpleReport_map__AMT61",competitorFigures:"MspSimpleReport_competitorFigures__Nlmyo",foot:"MspSimpleReport_foot__SNsrR"}},27043:(e,t,a)=>{"use strict";a.d(t,{o:()=>c,showAppToast:()=>r});var n=a(12115),l=a(74744),s=a(80718),i=a.n(s);let r=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"error",a=arguments.length>2?arguments[2]:void 0,n="string"==typeof e?e.trim():e;if(!n)return;let s=null!=a?a:"string"==typeof n?"".concat(t,":").concat(n):void 0;s&&l.oR.isActive(s)||(0,l.oR)(n,{toastId:s,type:t})},c=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"error",s=arguments.length>3?arguments[3]:void 0,r=e.trim(),c=t.trim();if(!r||!c)return;let o=null!=s?s:"".concat(a,":").concat(r,":").concat(c);l.oR.isActive(o)||(0,l.oR)((0,n.createElement)("div",{className:i().message},(0,n.createElement)("strong",{className:i().messageTitle},r),(0,n.createElement)("span",{className:i().messageDescription},c)),{toastId:o,type:a,className:e=>{var t;return[null==e?void 0:e.defaultClassName,i().toast,"success"===(t=null==e?void 0:e.type)?i().toastSuccess:"info"===t?i().toastInfo:"warning"===t?i().toastWarning:"error"===t?i().toastError:"",i().toastDetails].filter(Boolean).join(" ")}})}},37291:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MspReport:()=>V});var n=a(95155),l=a(75903),s=a(93414),i=a(16513),r=a(46094),c=a.n(r),o=a(85203),d=a.n(o);let u=e=>{let{title:t,aside:a,children:l,className:s}=e;return(0,n.jsxs)("section",{className:d()(c().card,s),children:[(0,n.jsxs)("div",{className:c().sectionHead,children:[(0,n.jsx)("h2",{className:c().sectionTitle,children:t}),a?(0,n.jsx)("div",{className:c().sectionAside,children:a}):null]}),l]})},_=/^(.*?)(₽)$/,p=e=>{let{value:t,size:a="inline"}=e,l=t.match(_);return l?(0,n.jsxs)(n.Fragment,{children:[l[1],(0,n.jsx)("span",{className:d()(c().currency,"large"===a&&c().currency_large),children:l[2]})]}):(0,n.jsx)(n.Fragment,{children:t})},h=e=>{let{value:t,label:a,hint:l,tone:s="default",labelFirst:i=!1,highlight:r=!1}=e;return(0,n.jsxs)("div",{className:d()(c().tile,c()["tile_".concat(s)],i&&c().tile_labelFirst,r&&c().tile_highlight),children:[i?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:c().tileLabel,children:a}),(0,n.jsx)("div",{className:c().tileValue,children:t})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:c().tileValue,children:t}),(0,n.jsx)("div",{className:c().tileLabel,children:a})]}),l?(0,n.jsx)("div",{className:c().tileHint,children:l}):null]})},m=e=>null==e?void 0:"охват ≈ ".concat((0,l.l9)(e)),v=e=>{let{title:t,group:a,peopleLabel:s,peopleHint:i}=e;return(0,n.jsxs)("div",{className:c().audienceCard,children:[(0,n.jsx)("div",{className:c().audienceTitle,children:t}),(0,n.jsxs)("div",{className:c().audienceRow,children:[(0,n.jsxs)("div",{className:c().audienceGroup,children:[(0,n.jsx)("div",{className:c().audienceCheck,children:(0,n.jsx)(p,{size:"large",value:(0,l.Fj)(null==a?void 0:a.avg_check)})}),(0,n.jsx)("div",{className:c().tileLabel,children:"средний чек"}),m(null==a?void 0:a.penetration)?(0,n.jsx)("div",{className:c().tileHint,children:m(null==a?void 0:a.penetration)}):null]}),(0,n.jsxs)("div",{className:c().audienceGroup,children:[(0,n.jsx)("div",{className:c().audienceCount,children:(0,l.ZV)(null==a?void 0:a.people)}),(0,n.jsx)("div",{className:c().tileLabel,children:s}),i?(0,n.jsx)("div",{className:c().tileHint,children:i}):null]})]})]})},x=e=>{let{audience:t}=e,a=t.house,s=t.bc;return(0,n.jsx)(u,{title:"Кто формирует спрос",children:(0,n.jsxs)("div",{className:c().twoColumns,children:[(0,n.jsx)(v,{title:"Житель",group:a,peopleLabel:"проживает в зоне",peopleHint:(null==a?void 0:a.households)!=null?"".concat((0,l.ZV)(a.households)," домохозяйств"):void 0}),(0,n.jsx)(v,{title:"Офисный",group:s,peopleLabel:"работает в зоне",peopleHint:(null==s?void 0:s.count)!=null?"в ".concat((e=>{let t=e%100;return t>=11&&t<=19?"".concat(e," бизнес-центрах"):1==e%10?"".concat(e," бизнес-центре"):"".concat(e," бизнес-центрах")})(s.count)):void 0})]})})};
1var C=a(88206),g=a(3630),j=a(81145),N=a(12115),b=a(51867),y=a(18280);let w="eb827bdd-7f9b-454a-be1e-30c173b250ce",k={...w?{apikey:w}:{},lang:"ru_RU",load:"Map,Circle"},M=["drag","dblClickZoom","multiTouch"],f="#513dd7",R={direct_single:"#fa6520",direct_chain:"#c24e13",indirect_single:"#b9bec7",indirect_chain:"#7c828e",hidden:"#d9dce1"},S=e=>{let{point:t,competitors:a,competitionRadiusM:l,serviceRadiusM:s,selectedIndex:i=null,onSelect:r}=e,c=[t.latitude,t.longitude],{ref:o,size:d}=(()=>{let e=(0,N.useRef)(null),[t,a]=(0,N.useState)(null);return(0,N.useEffect)(()=>{let t=e.current;if(!t)return;let n=new ResizeObserver(e=>{let[t]=e,{width:n,height:l}=t.contentRect;a({width:n,height:l})});return n.observe(t),()=>n.disconnect()},[]),{ref:e,size:t}})(),u=(0,y.xC)(t.latitude,l,d);return(0,n.jsx)("div",{ref:o,style:{width:"100%",height:"100%"},children:(0,n.jsx)(b.Xi,{query:k,children:(0,n.jsxs)(b.T5,{width:"100%",height:"100%",state:{center:c,zoom:u,behaviors:M},options:{avoidFractionalZoom:!1,suppressMapOpenBlock:!0,yandexMapDisablePoiInteractivity:!0},children:[(0,n.jsx)(b.pj,{options:{position:{left:10,top:10},size:"small"}}),(0,n.jsx)(b.jl,{geometry:[c,l],options:{fillColor:"rgba(81, 61, 215, 0.04)",strokeColor:f,strokeOpacity:.5,strokeStyle:"shortdash",strokeWidth:1,interactivityModel:"default#transparent"}}),s?(0,n.jsx)(b.jl,{geometry:[c,s],options:{fillColor:"rgba(81, 61, 215, 0.08)",strokeColor:f,strokeOpacity:.6,strokeWidth:1,interactivityModel:"default#transparent"}}):null,a.map((e,t)=>{var a;return(e=>Number.isFinite(e.lat)&&Number.isFinite(e.lon))(e)?(0,n.jsx)(b.Ro,{geometry:[e.lat,e.lon],properties:{hintContent:"".concat(e.name," \xb7 ").concat(e.address)},options:{preset:t===i?"islands#circleIcon":e.is_hidden?"islands#grayCircleDotIcon":"islands#circleDotIcon",iconColor:null!=(a=R[e.kind])?a:R.indirect_single,zIndex:t===i?900:void 0,cursor:r?"pointer":"grab"},onClick:r?()=>r(t):void 0},"".concat(t,"-").concat(e.lat,"-").concat(e.lon)):null}),(0,n.jsx)(b.Ro,{geometry:c,properties:{hintContent:"Точка анализа"},options:{preset:"islands#blackCircleIcon",zIndex:1e3}})]})})})},T="minmax(220px, 2fr) minmax(160px, 1fr) 120px 180px minmax(180px, 1fr)",A=[{kind:"direct_single",label:"прямые несетевые"},{kind:"direct_chain",label:"прямые сетевые"},{kind:"indirect_single",label:"непрямые"}],L=e=>{var t,a;let{competitor:r,index:o,isSelected:u,onSelect:_}=e,p=(e=>{var t,a;return null!=(a=null==(t=e.phone.split(",")[0])?void 0:t.trim())?a:""})(r),h=(0,i.ds)(r);return(0,n.jsxs)(C.W.Row,{gridTemplateColumns:T,variant:r.is_hidden?"muted":"body",className:d()(c().rowClickable,u&&c().rowSelected),"aria-selected":u,"data-competitor-index":o,onClick:_,children:[(0,n.jsx)(C.W.Cell,{align:"left",className:c().cellTop,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:c().competitorName,children:h.name}),(0,n.jsx)("div",{className:c().competitorAddress,children:r.address})]})}),(0,n.jsx)(C.W.Cell,{align:"left",className:c().cellTop,children:(0,n.jsx)("span",{className:c().competitorFormat,children:null!=(t=h.format)?t:l._6})}),(0,n.jsx)(C.W.Cell,{align:"left",className:d()(c().cellTop,c().distanceCell),children:(0,l.BO)(r.dist_m)}),(0,n.jsx)(C.W.Cell,{align:"left",className:c().cellTop,children:(0,n.jsx)("span",{className:c().kindBadge,children:null!=(a=s.wt[r.kind])?a:r.kind})}),(0,n.jsx)(C.W.Cell,{align:"left",className:c().cellTop,children:(0,n.jsxs)("div",{className:c().contacts,children:[p?(0,n.jsx)("a",{className:c().contactPhone,href:(0,l.W0)(p),children:(0,l.o$)(p)}):null,r.site?(0,n.jsx)("a",{className:c().contactLink,href:r.site,target:"_blank",rel:"noopener noreferrer",children:"Сайт"}):null,p||r.site?null:l._6]})})]})},F=e=>{var t,a;let{variant:s,point:i,stats:r}=e,o=null!=(a=s.zone_competition_m)?a:2e3,_=(0,N.useId)(),[p,m]=(0,N.useState)(null),v=(0,N.useCallback)(e=>{m(t=>t===e?null:e)},[]),x=(0,N.useRef)(null);return(0,N.useEffect)(()=>{m(null)},[r.sorted]),(0,N.useEffect)(()=>{var e,t;null!=p&&(null==(t=x.current)||null==(e=t.querySelector('[data-competitor-index="'.concat(p,'"]')))||e.scrollIntoView({block:"nearest",behavior:"smooth"}))},[p]),(0,n.jsxs)(u,{title:"Конкуренты рядом",aside:(0,n.jsxs)(n.Fragment,{children:[r.total," в зоне ",(0,l.BO)(o),r.hidden?" \xb7 скрытых ".concat(r.hidden):""]}),children:[(0,n.jsxs)("div",{className:c().tiles4,children:[(0,n.jsx)(h,{labelFirst:!0,highlight:!0,tone:"accent",value:r.direct,label:"Прямые"}),(0,n.jsx)(h,{labelFirst:!0,value:r.total,label:"Всего конкурентов"}),(0,n.jsx)(h,{labelFirst:!0,value:r.chain,label:"Сетевые"}),(0,n.jsx)(h,{labelFirst:!0,value:(0,l.BO)(null==(t=r.nearest)?void 0:t.dist_m),label:"До ближайшего"})]}
1),(0,n.jsxs)("div",{className:c().mapBlock,children:[(0,n.jsx)("div",{className:c().mapCaption,children:"Карта конкурентов"}),(0,n.jsx)("div",{className:c().mapCanvas,children:(0,n.jsx)(S,{point:i,competitors:r.sorted,competitionRadiusM:o,serviceRadiusM:s.zone_service_m,selectedIndex:p,onSelect:v})}),(0,n.jsxs)("div",{className:c().mapLegend,children:[(0,n.jsxs)("span",{className:c().legendItem,children:[(0,n.jsx)("i",{className:d()(c().legendDot,c().legendCenter)}),"точка анализа"]}),A.map(e=>{let{kind:t,label:a}=e;return(0,n.jsxs)("span",{className:c().legendItem,children:[(0,n.jsx)("i",{className:d()(c().legendDot,c()["legend_".concat(t)])}),a]},t)})]})]}),(0,n.jsx)(C.W,{children:(0,n.jsx)(C.W.Scroll,{ref:x,children:(0,n.jsxs)(C.W.Inner,{children:[(0,n.jsxs)(C.W.Row,{variant:"header",gridTemplateColumns:T,children:[(0,n.jsx)(C.W.Cell,{variant:"header",align:"left",children:"Компания"}),(0,n.jsx)(C.W.Cell,{variant:"header",align:"left",children:"Формат"}),(0,n.jsx)(C.W.Cell,{variant:"header",align:"left",children:"Расстояние"}),(0,n.jsx)(C.W.Cell,{variant:"header",align:"left",children:"Тип"}),(0,n.jsx)(C.W.Cell,{variant:"header",align:"left",children:(0,n.jsxs)("span",{className:c().headerWithHint,children:["Контакты",(0,n.jsx)("button",{type:"button",className:c().hintButton,"aria-label":"Как получены контакты","data-tooltip-id":_,children:(0,n.jsx)(j.A,{"aria-hidden":"true"})}),(0,n.jsx)(g.V,{id:_,place:"top",positionStrategy:"fixed",children:"Телефоны и сайты получены от источника и не проверялись — перед звонком сверьте контакты."})]})})]}),r.sorted.length?r.sorted.map((e,t)=>(0,n.jsx)(L,{competitor:e,index:t,isSelected:t===p,onSelect:()=>v(t)},"".concat(t,"-").concat(e.lat,"-").concat(e.lon))):(0,n.jsx)(C.W.Empty,{title:"Конкурентов в зоне не найдено"})]})})}),(0,n.jsxs)("div",{className:c().tableFoot,children:["Показано ",r.sorted.length," из ",r.total]})]})},I=e=>{var t,a;let{variant:s}=e,i=s.context,r=null==(t=s.audience)?void 0:t.house,o=null==(a=s.forecast)?void 0:a.dev_count;return(0,n.jsx)(u,{title:"Контекст локации",children:(0,n.jsxs)("div",{className:c().tiles4,children:[(0,n.jsx)(h,{value:(0,l.ZV)(null==i?void 0:i.salary),label:"Средняя зарплата, ₽"}),(0,n.jsx)(h,{value:(0,l.ZV)(null==i?void 0:i.density),label:"Плотность, чел/км\xb2"}),(0,n.jsx)(h,{value:null!=o?o:"—",label:"Строящихся новостроек"}),(0,n.jsx)(h,{value:(null==i?void 0:i.malls)!=null?i.malls:"—",label:"Торговых центров"}),(0,n.jsx)(h,{value:(null==r?void 0:r.housing_cost)?(0,l.ZV)(r.housing_cost):"—",label:"Стоимость жилья, ₽/м\xb2"}),(0,n.jsx)(h,{value:(null==r?void 0:r.apartments)!=null?r.apartments:"—",label:"Многоквартирных домов"}),(0,n.jsx)(h,{value:(0,l.ZV)(null==r?void 0:r.households),label:"Домохозяйств"}),(0,n.jsx)(h,{value:(null==i?void 0:i.tourists)!=null?i.tourists:"—",label:"Туристов"})]})})},D=(e,t)=>t?"".concat((e/t*100).toFixed(1),"%"):"0%",P=e=>{let{money:t,zone:a,withForecast:i,competitors:r}=e;if(!t)return(0,n.jsxs)("section",{className:d()(c().card,c().hero),children:[(0,n.jsxs)("div",{className:c().heroLabel,children:["Ёмкость рынка в зоне спроса (",s.Wf[a],")"]}),(0,n.jsx)("div",{className:d()(c().heroValue,c().heroEmpty),children:"Нет данных"}),(0,n.jsx)("p",{className:c().note,children:"Источник не дал данных по ёмкости рынка для этой точки. Занятость и свободную долю считать не от чего — аудитория, конкуренты и контекст ниже посчитаны."})]});let{demand_rub:o,supply_realized_rub:u}=t,_=t.supply_available_rub,m=r.direct?(0,l.m_)(u/r.direct):null;return(0,n.jsxs)("section",{className:d()(c().card,c().hero),children:[(0,n.jsxs)("div",{className:c().heroLabel,children:["Ёмкость рынка в зоне спроса (",s.Wf[a],"), ₽ в год"]}),(0,n.jsxs)("div",{className:c().heroValue,children:[(0,l.ZV)(o),(0,n.jsx)("span",{className:c().heroCurrency,children:"₽"})]}),i?(0,n.jsx)("div",{className:c().heroDelta,children:"▲ с учётом новостроек"}):null,(0,n.jsxs)("div",{className:c().shareBar,"aria-hidden":!0,
1children:[(0,n.jsx)("div",{className:c().shareOccupied,style:{width:D(u,o)}}),(0,n.jsx)("div",{className:c().shareFree,style:{width:D(_,o)}})]}),(0,n.jsxs)("div",{className:c().shareLegend,children:[(0,n.jsxs)("span",{children:[(0,n.jsx)("i",{className:d()(c().legendDot,c().legendOccupied)}),(0,n.jsx)("b",{children:(0,n.jsx)(p,{value:(0,l.Fj)(u)})})," ","(",(0,l.T1)(u,o),") — Занято конкурентами"]}),(0,n.jsxs)("span",{children:[(0,n.jsx)("i",{className:d()(c().legendDot,c().legendFree)}),(0,n.jsx)("b",{children:(0,n.jsx)(p,{value:(0,l.Fj)(_)})})," ","(",(0,l.T1)(_,o),") — Свободно"]})]}),(0,n.jsxs)("div",{className:d()(c().tiles3,c().heroTiles),children:[(0,n.jsx)(h,{tone:"accent",value:(0,n.jsx)(p,{size:"large",value:(0,l.m_)(_)}),label:"Свободная ёмкость в год"}),(0,n.jsx)(h,{value:(0,l.T1)(u,o),label:"Насыщенность рынка"}),(0,n.jsx)(h,{value:r.total,label:"Конкурентов в зоне"})]}),(0,n.jsxs)("p",{className:c().verdict,children:["Рынок занят на ",(0,n.jsx)("b",{children:(0,l.T1)(u,o)}),"."," ",m?(0,n.jsxs)(n.Fragment,{children:["Прямых конкурентов ",r.direct,", в среднем ≈"," ",(0,n.jsxs)("b",{children:[(0,n.jsx)(p,{value:m}),"/год"]})," ","оборота на игрока (выручка, не прибыль)."]}):"Прямых конкурентов нет."]})]})},B=e=>{let{investment:t,freeCapacityRub:a}=e,s=(null==t?void 0:t.status)==="ready";return(0,n.jsx)(u,{title:"Вход на рынок",children:s&&t?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:c().investmentLabel,children:[(0,n.jsx)("span",{children:"Инвестиции на открытие"}),(0,n.jsx)("i",{className:c().dotDivider,"aria-hidden":!0}),(0,n.jsx)("span",{children:t.city_name}),(0,n.jsx)("i",{className:c().dotDivider,"aria-hidden":!0}),(0,n.jsxs)("span",{children:["формат \xab",t.format_name,"\xbb"]})]}),(0,n.jsx)("div",{className:c().investmentValue,children:(0,n.jsx)(p,{size:"large",value:(e=>e.start_range_rub===e.stop_range_rub?"".concat((0,l.ZV)(e.start_range_rub)," ₽"):"".concat((0,l.ZV)(e.start_range_rub)," – ").concat((0,l.ZV)(e.stop_range_rub)," ₽"))(t)})}),(0,n.jsxs)("p",{className:c().note,children:[null!=a?(0,n.jsxs)(n.Fragment,{children:["Против свободной ёмкости"," ",(0,n.jsxs)("b",{children:[(0,n.jsx)(p,{value:(0,l.m_)(a)}),"/год"]}),"."," "]}):null,"Срок окупаемости не считаем — рентабельности ниши в данных нет."]})]}):(0,n.jsx)("p",{className:c().note,children:"Данных об инвестициях для этой ниши нет."})})},O=e=>{let{audience:t}=e,a=(0,i.SD)(t),s=a.map(e=>e.house),r=a.map(e=>e.business);return(0,n.jsxs)(u,{title:"Платёжеспособность аудитории",children:[(0,n.jsx)("div",{className:c().payRows,children:a.map(e=>(0,n.jsxs)("div",{className:c().payRow,children:[(0,n.jsx)("div",{className:c().payLabel,children:e.label}),(0,n.jsxs)("div",{className:c().payBars,children:[(0,n.jsxs)("div",{className:c().payBar,children:[(0,n.jsx)("div",{className:c().payTrack,children:(0,n.jsx)("div",{className:d()(c().payFill,c().pay
1FillHouse),style:{width:(0,i.U1)(e.house,s)}})}),(0,n.jsx)("span",{className:c().payValue,children:(0,l.ZV)(e.house)})]}),(0,n.jsxs)("div",{className:c().payBar,children:[(0,n.jsx)("div",{className:c().payTrack,children:(0,n.jsx)("div",{className:d()(c().payFill,c().payFillBusiness),style:{width:(0,i.U1)(e.business,r)}})}),(0,n.jsx)("span",{className:c().payValue,children:(0,l.ZV)(e.business)})]})]})]},e.label))}),(0,n.jsxs)("div",{className:c().payLegend,children:[(0,n.jsxs)("span",{className:c().legendItem,children:[(0,n.jsx)("i",{className:d()(c().legendDot,c().legendOccupied)}),"Население"]}),(0,n.jsxs)("span",{className:c().legendItem,children:[(0,n.jsx)("i",{className:d()(c().legendDot,c().legendFree)}),"Офисные"]})]})]})},V=e=>{var t;let{variant:a,zone:r,withForecast:o,point:d,niche:u,investment:_,createdAt:p,isPublic:h=!1}=e;if(!(0,i.mD)(a))return(0,n.jsx)("div",{className:c().stateNotice,children:s.cM["ready"===a.status?"failed":a.status]});let m=(0,i.rM)(a,o),v=o&&(0,i.Fd)(a),C=(0,i.kt)(a.competition);return(0,n.jsxs)("div",{className:c().report,children:[u.is_segment_approximated?(0,n.jsxs)("p",{className:c().softNote,children:["Ценовой формат \xab",u.format_name,"\xbb подобран автоматически по аудитории точки."]}):null,(0,n.jsx)(P,{money:m,zone:r,withForecast:v,competitors:C}),a.audience?(0,n.jsx)(x,{audience:a.audience}):null,(0,n.jsx)(F,{variant:a,point:d,stats:C}),(0,n.jsxs)("div",{className:c().twoColumns,children:[a.audience?(0,n.jsx)(O,{audience:a.audience}):null,(0,n.jsx)(B,{investment:_,freeCapacityRub:null!=(t=null==m?void 0:m.supply_available_rub)?t:null})]}),(0,n.jsx)(I,{variant:a}),(0,n.jsxs)("p",{className:c().footnote,children:["Источник: Бизнес-навигатор МСП. Параметры расчёта от"," ",(0,l.r6)(p),h?" \xb7 публичная ссылка":"",". Числа пересчитываются при открытии отчёта."]})]})}},37863:e=>{e.exports={root:"StaticCompetitorsMap_root__NQ73Y",tiles:"StaticCompetitorsMap_tiles__E9hwV",overlay:"StaticCompetitorsMap_overlay__LTMY2"}},46094:e=>{e.exports={report:"MspReport_report__fHE5x",card:"MspReport_card__ex6kh",twoColumns:"MspReport_twoColumns__O_cqn",sectionHead:"MspReport_sectionHead__Jyw55",sectionTitle:"MspReport_sectionTitle__Oh_Uw",sectionAside:"MspReport_sectionAside__k1sBI",hero:"MspReport_hero__DSboc",heroTiles:"MspReport_heroTiles__WzI0P",heroLabel:"MspReport_heroLabel__N7SzZ",heroValue:"MspReport_heroValue__7R2Q9",heroCurrency:"MspReport_heroCurrency__9JA5u",heroEmpty:"MspReport_heroEmpty___B6zn",heroDelta:"MspReport_heroDelta__keVZh",shareBar:"MspReport_shareBar__G9cTa",shareOccupied:"MspReport_shareOccupied__EjOn4",shareFree:"MspReport_shareFree__gEFiQ",currency:"MspReport_currency___lPVp",currency_large:"MspReport_currency_large__bxckL",legendItem:"MspReport_legendItem__Er2ZJ",shareLegend:"MspReport_shareLegend__TlZjU",payLegend:"MspReport_payLegend__P4DLQ",mapLegend:"MspReport_mapLegend__giuf_",legendDot:"MspReport_legendDot__931BE",legendOccupied:"MspReport_legendOccupied__G3OOV",legendFree:"MspReport_legendFree__wg5JE",legendCenter:"MspReport_legendCenter__kwOAn",legend_direct_single:"MspReport_legend_direct_single__M3E5T",legend_direct_chain:"MspReport_legend_direct_chain__SOIQ_",legend_indirect_single:"MspReport_legend_indirect_single__lKBiG",tiles3:"MspReport_tiles3__63gI5",tiles4:"MspReport_tiles4__YdHIL",tile:"MspReport_tile__MjBjk",tile_labelFirst:"MspReport_tile_labelFirst__11ck0",tile_highlight:"MspReport_tile_highlight__eC7r8",tile_accent:"MspReport_tile_accent__dslzc",tileValue:"MspReport_tileValue__BkESS",tile_success:"MspReport_tile_success__ssc2S",tileLabel:"MspReport_tileLabel__c8RGc",tileHint:"MspReport_tileHint__nuxWr",audienceCard:"MspReport_audienceCard__Nka05",audienceTitle:"MspReport_audienceTitle__0ljWT",audienceRow:"MspReport_audienceRow__lD5Cl",audienceGroup:"MspReport_audienceGroup__KtfFx",audienceCheck:"MspReport_audienceCheck__SNTbv",audienceCount:"MspReport_audienceCount__I11Pq",verdict:"MspReport_verdict__3fu_4",payRows:"Msp
1Report_payRows__f005m",payRow:"MspReport_payRow__7JkNd",payLabel:"MspReport_payLabel__q2NKp",payBars:"MspReport_payBars__O6sbL",payBar:"MspReport_payBar__5Yqka",payTrack:"MspReport_payTrack__YCmRe",payFill:"MspReport_payFill__Ju21s",payFillHouse:"MspReport_payFillHouse__2sY8E",payFillBusiness:"MspReport_payFillBusiness__zT4_D",payValue:"MspReport_payValue__cfaSo",mapBlock:"MspReport_mapBlock__hUwSe",mapCaption:"MspReport_mapCaption__DmMpn",mapCanvas:"MspReport_mapCanvas__cE0H6",note:"MspReport_note__hSmc_",softNote:"MspReport_softNote__XSdHt",footnote:"MspReport_footnote__6PC_r",stateNotice:"MspReport_stateNotice___mOLB",rowClickable:"MspReport_rowClickable__pITsN",rowSelected:"MspReport_rowSelected__SIw9m",cellTop:"MspReport_cellTop__CvQjk",competitorName:"MspReport_competitorName__U0dXz",competitorAddress:"MspReport_competitorAddress__8xK91",competitorFormat:"MspReport_competitorFormat__hFq5y",headerWithHint:"MspReport_headerWithHint___ZXdN",hintButton:"MspReport_hintButton__WIQcR",distanceCell:"MspReport_distanceCell__BTxIn",kindBadge:"MspReport_kindBadge__b05Qw",contacts:"MspReport_contacts__oryaX",contactPhone:"MspReport_contactPhone__MIO3Z",contactLink:"MspReport_contactLink__Y39hT",tableFoot:"MspReport_tableFoot__crxRs",investmentLabel:"MspReport_investmentLabel__Eq_ta",dotDivider:"MspReport_dotDivider__Jqab1",investmentValue:"MspReport_investmentValue__5yF3b"}},48412:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MspSimpleReport:()=>S});var n=a(95155),l=a(57279);let s=e=>(0,n.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,n.jsx)("path",{d:"M7.79004 14.3799C7.92129 14.3523 8.05666 14.3512 8.18848 14.376C8.32035 14.4008 8.44624 14.4511 8.55859 14.5244C8.67095 14.5978 8.76802 14.6929 8.84375 14.8037C8.91933 14.9144 8.97245 15.0388 9 15.1699C9.02756 15.3012 9.02864 15.4366 9.00391 15.5684C8.97913 15.7002 8.92881 15.8261 8.85547 15.9385C8.78217 16.0507 8.68781 16.1479 8.57715 16.2236C8.46638 16.2994 8.34128 16.3523 8.20996 16.3799C5.93997 16.8699 5 17.68 5 18C5 18.58 7.45 20 12 20C16.55 20 19 18.58 19 18C19 17.68 18.06 16.8699 15.79 16.4199C15.6587 16.3923 15.5336 16.3394 15.4229 16.2637C15.3122 16.188 15.2178 16.0908 15.1445 15.9785C15.0712 15.8662 15.0209 15.7403 14.9961 15.6084C14.9714 15.4766 14.9724 15.3412 15 15.21C15.0275 15.0788 15.0807 14.9544 15.1562 14.8438C15.232 14.733 15.3291 14.6378 15.4414 14.5645C15.5538 14.4911 15.6796 14.4408 15.8115 14.416C15.9433 14.3913 16.0787 14.3924 16.21 14.4199C19.25 15.0799 21 16.39 21 18C21 20.63 16.47 22 12 22C7.53 22 3 20.63 3 18C3 16.39 4.75004 15.0799 7.79004 14.3799ZM12 2.00098C13.2391 2.00098 14.4344 2.46103 15.3535 3.29199C16.2724 4.12285 16.85 5.26548 16.9746 6.49805C17.0991 7.73085 16.7617 8.96684 16.0273 9.96484C15.293 10.9627 14.214 11.6526 13 11.9004V17C13 17.2652 12.8946 17.5195 12.707 17.707C12.5195 17.8946 12.2652 18 12 18C11.7348 18 11.4805 17.8946 11.293 17.707C11.1054 17.5195 11 17.2652 11 17V11.9004C9.78604 11.6526 8.70703 10.9627 7.97266 9.96484C7.23828 8.96684 6.90085 7.73085 7.02539 6.49805C7.15001 5.26548 7.72755 4.12285 8.64648 3.29199C9.56562 2.46103 10.7609 2.00098 12 2.00098ZM12 4C11.2044 4 10.4415 4.3163 9.87891 4.87891C9.3163 5.44152 9 6.20435 9 7C9 7.59334 9.17622 8.17364 9.50586 8.66699C9.83542 9.16007 10.3037 9.54445 10.8516 9.77148C11.3996 9.99851 12.0031 10.0581 12.585 9.94238C13.1669 9.82663 13.7015 9.54065 14.1211 9.12109C14.5407 8.70154 14.8266 8.1669 14.9424 7.58496C15.0581 7.00311 14.9985 6.39965 14.7715 5.85156C14.5444 5.30367 14.1601 4.83542 13.667 4.50586C13.1736 4.17622 12.5933 4 12 4Z",fill:"#3D3C43",fillOpacity:"0.6"})});var i=a(88556),r=a(64730),c=a(54160),o=a(75903),d=a(85203),u=a.n(d),_=a(12115),p=a(25474),h=a.n(p),m=a(18280),v=a(37863),x=a.n(v);let C={width:650,height:340},g={x:325,y:170},j="#513dd7",N="#ffffff",b={direct_single:"#fa6520",direct_chain:"#c24e13",indirect_single:"#9a948e",indirect_chain:"#7c828e",hidden:"#d9dce1"},y=e=>"direct_single"===e.kind||"direct_chain"===e.kind,w=e=>Number.isFinite(e.lat)&&Number.isFinite(e.lon),k=e=>{let{point:t,competitors:a,competitionRadiusM:l,serviceRadiusM:s}=e,i=[t.latitude,t.longitude],r=(0,m.lU)(t.latitude,l,C),c=(0,m._u)(t.latitude,r),o=l/c,d=s?s/c:null,u=[...a].filter(w).sort((e,t)=>
1Number(y(e))-Number(y(t)));return(0,n.jsxs)("div",{className:x().root,children:[(0,n.jsx)("img",{className:x().tiles,src:((e,t)=>{let a=new URLSearchParams({ll:"".concat(e[1],",").concat(e[0]),z:String(t),size:"".concat(650,",").concat(340),l:"map",lang:"ru_RU"});return"".concat("https://static-maps.yandex.ru/1.x/","?").concat(a)})(i,r),crossOrigin:"anonymous",alt:"",width:650,height:340}),(0,n.jsxs)("svg",{className:x().overlay,viewBox:"0 0 ".concat(650," ").concat(340),preserveAspectRatio:"xMidYMid slice",role:"img","aria-label":"Карта: конкуренты вокруг точки анализа",children:[(0,n.jsx)("circle",{cx:g.x,cy:g.y,r:o,fill:"rgba(81, 61, 215, 0.05)",stroke:j,strokeWidth:1.5,strokeDasharray:"6 5",opacity:.8}),d?(0,n.jsx)("circle",{cx:g.x,cy:g.y,r:d,fill:"rgba(81, 61, 215, 0.1)",stroke:j,strokeWidth:1.5,opacity:.9}):null,u.map((e,t)=>{var a;let{dx:l,dy:s}=(0,m.li)(i,[e.lat,e.lon],r);return(0,n.jsx)("circle",{cx:g.x+l,cy:g.y+s,r:5,fill:null!=(a=b[e.kind])?a:b.indirect_single,fillOpacity:e.is_hidden?.5:.95,stroke:N,strokeWidth:1.5},"".concat(t,"-").concat(e.lat,"-").concat(e.lon))}),(0,n.jsx)("circle",{cx:g.x,cy:g.y,r:7,fill:"#1d1d1f",stroke:N,strokeWidth:3})]})]})},M={success:h().verdict_success,warning:h().verdict_warning,danger:h().verdict_danger,neutral:h().verdict_neutral},f=e=>"".concat((100*e).toFixed(1),"%"),R=e=>{let{icon:t,value:a,label:l,hint:s,tone:i="default"}=e;return(0,n.jsxs)("div",{className:u()(h().figure,"accent"===i&&h().figure_accent),children:[t?(0,n.jsx)("span",{className:h().figureIcon,children:t}):null,(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:h().figureValue,children:a}),(0,n.jsx)("div",{className:h().figureLabel,children:l}),s?(0,n.jsx)("div",{className:h().figureHint,children:s}):null]})]})},S=(0,_.forwardRef)((e,t)=>{let{model:a}=e,{verdict:d,money:_,audience:p,competitors:m}=a,v=Math.max(...p.incomeRows.map(e=>e.share),.01),x=!!(_&&_.occupiedShare>=.85);return(0,n.jsxs)("div",{ref:t,className:h().card,children:[(0,n.jsxs)("header",{className:h().head,children:[(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:h().brand,children:[(0,n.jsx)("i",{"aria-hidden":!0}),"Аналитика МСП \xb7 RecPlace"]}),(0,n.jsx)("h2",{className:h().title,children:a.companyTitle}),a.address?(0,n.jsx)("p",{className:h().addr,children:a.address}):null]}),(0,n.jsxs)("div",{className:h().chips,children:[a.nicheLabel?(0,n.jsx)("span",{className:u()(h().chip,h().chip_accent),children:a.nicheLabel}):null,(0,n.jsxs)("span",{className:h().chip,children:[a.zoneLabel," доступность"]}),(0,n.jsx)("span",{className:h().chip,children:a.calculatedAt})]})]}),(0,n.jsxs)("div",{className:u()(h().verdict,M[d.tone]),children:[(0,n.jsx)("span",{className:h().verdictDot,"aria-hidden":!0}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:h().verdictTitle,children:d.title}),(0,n.jsxs)("p",{className:h().verdictText,children:[d.detail," ",d.advice]})]})]}),(0,n.jsxs)("section",{className:h().section,children:[(0,n.jsx)("h3",{className:h().sectionTitle,children:"Сколько здесь денег"}),_?(0,n.jsxs)("div",{className:h().money,children:[(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:h().big,children:[(0,o.m_)(_.demand).replace(" млн ₽",""),(0,n.jsxs)("small",{children:["млн ₽ в год",_.withForecast?" \xb7 с новостройками":""]})]}),(0,n.jsx)("div",{className:h().cap,children:"столько жители и работающие в этой зоне тратят на услуги ниши"}),(0,n.jsxs)("div",{className:h().barTrack,"aria-hidden":!0,children:[(0,n.jsx)("div",{className:h().barOccupied,style:{width:f(_.occupiedShare)}}),(0,n.jsx)("div",{className:h().barFree,style:{width:f(1-_.occupiedShare)}})]}),(0,n.jsxs)("div",{className:h().legend,children:[(0,n.jsxs)("span",{children:[(0,n.jsx)("i",{className:h().dotOccupied}),"Уже забирают конкуренты —"," ",(0,n.jsx)("b",{children:(0,o.m_)(_.occupied)})]}),(0,n.jsxs)("span",{children:[(0,n.jsx)("i",{className:h().dotFree}),"Свободно — ",(0,n.jsx)("b",{children:(0,o.m_)(_.free)})]})]})]}),(0,n.jsxs)("div",{className:h().free,children:[(0,n.jsxs)("div",{className:h().freeValue,children:[(0,o.m_)(_.free)," ",(0,n.jsx)("small",{children:"в год"})]}),(0,n.jsx)("div",{className:h().freeLabel,children:"остаётся новому игроку"}),(0,n.jsxs)("p",{className:h().freeNote,children:["Спрос ",x?"большой, но":"есть, и"," на новую точку остаётся ",(0,n.jsxs)("b",{children:["около ",(0,o.m_)(_.free)," в год"]}),":"," ",x?"остальное уже разобрали те, кто работает рядом.":"конкуренты покрывают его Ð
1½Ðµ полностью."]})]})]}):(0,n.jsx)("p",{className:h().plain,children:"Ёмкость рынка для этой точки источник не дал — ориентируйтесь на аудиторию и конкурентов ниже."})]}),(0,n.jsxs)("section",{className:h().section,children:[(0,n.jsx)("h3",{className:h().sectionTitle,children:"Кто здесь ваша аудитория"}),(0,n.jsxs)("div",{className:h().audience,children:[(0,n.jsxs)("div",{className:h().audienceColumn,children:[(0,n.jsx)(R,{icon:(0,n.jsx)(i.A,{}),value:(0,o.ZV)(p.living),label:"человек живут рядом",hint:null!=p.households?"".concat((0,o.ZV)(p.households)," домохозяйств"):void 0}),(0,n.jsx)(R,{tone:"accent",value:(0,o.l9)(p.livingPenetration),label:"жителей пользуются услугой",hint:null!=p.workingPenetration?"и ".concat((0,o.l9)(p.workingPenetration)," работающих"):void 0}),(0,n.jsx)(R,{icon:(0,n.jsx)(c.A,{}),value:(0,o.Fj)(p.avgCheckLiving),label:"средний чек жителя за визит",hint:null!=p.avgCheckWorking?"офисные тратят ".concat((0,o.Fj)(p.avgCheckWorking)):void 0})]}),(0,n.jsxs)("div",{className:h().audienceColumn,children:[(0,n.jsx)(R,{icon:(0,n.jsx)(r.A,{}),value:(0,o.ZV)(p.working),label:"человек работают рядом",hint:null!=p.businessCenters?(e=>{let t=e%100;return t>=11&&t<=19?"в ".concat(e," бизнес-центрах"):1==e%10?"в ".concat(e," бизнес-центре"):"в ".concat(e," бизнес-центрах")})(p.businessCenters):void 0}),p.incomeRows.length?(0,n.jsxs)("div",{className:h().income,children:[(0,n.jsxs)("div",{className:h().incomeTitle,children:[(0,n.jsx)(l.A,{}),"Распределение жителей по доходу"]}),p.incomeRows.map(e=>(0,n.jsxs)("div",{className:u()(h().incomeRow,e.isAffluent&&h().incomeRow_affluent),children:[(0,n.jsx)("span",{children:e.label}),(0,n.jsx)("div",{className:h().incomeTrack,children:(0,n.jsx)("div",{className:h().incomeFill,style:{width:f(e.share/v)}})}),(0,n.jsx)("span",{className:h().incomeValue,children:(0,o.l9)(e.share,0)})]},e.label)),null!=p.affluentShare?(0,n.jsxs)("p",{className:h().incomeNote,children:[(0,n.jsxs)("b",{children:[(0,o.l9)(p.affluentShare,0)," жителей"]})," ","— со средним и высоким доходом. На них и стоит строить предложение."]}):null]}):null]})]})]}),(0,n.jsxs)("section",{className:h().section,children:[(0,n.jsxs)("div",{className:h().sectionHead,children:[(0,n.jsx)("h3",{className:h().sectionTitle,children:"Конкуренты рядом"}),(0,n.jsxs)("span",{children:["в зоне ",(0,o.ZV)(m.radiusM)," м от точки"]})]}),(0,n.jsxs)("div",{className:h().competitors,children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:h().map,children:(0,n.jsx)(k,{point:a.point,competitors:m.sorted,competitionRadiusM:m.radiusM,serviceRadiusM:a.serviceRadiusM})}),(0,n.jsxs)("div",{className:h().legend,children:[(0,n.jsxs)("span",{children:[(0,n.jsx)("i",{className:h().dotCenter}),"ваша точка"]}),(0,n.jsxs)("span",{children:[(0,n.jsx)("i",{className:h().dotDirect}),"прямые конкуренты — те же услуги"]}),(0,n.jsxs)("span",{children:[(0,n.jsx)("i",{className:h().dotIndirect}),"смежные услуги"]}),(0,n.jsxs)("span",{children:[(0,n.jsx)("i",{className:h().ringZone}),a.zoneLabel.toLowerCase()," доступность"]})]})]}),(0,n.jsxs)("div",{className:h().competitorFigures,children:[(0,n.jsx)(R,{value:m.total,label:"в зоне"}),(0,n.jsx)(R,{tone:"accent",value:m.direct,label:"прямых конкурентов"}),(0,n.jsx)(R,{icon:(0,n.jsx)(s,{}),value:m.nearest?"".concat((0,o.ZV)(m.nearest.dist_m)," м"):"—",label:"до ближайшего"})]})]})]}),(0,n.jsxs)("footer",{className:h().foot,children:[(0,n.jsxs)("span",{children:[(0,n.jsx)("b",{children:"Источник:"})," Бизнес-навигатор МСП \xb7 расчёт ",a.calculatedAt]}),(0,n.jsx)("span",{children:"Полный отчёт со списком конкурентов — platform.recplace.ru"})]})]})});S.displayName="MspSimpleReport"},53012:(e,t,a)=>{"use strict";a.d(t,{X:()=>_});var n=a(95155),l=a(51867),s=a(12115),i=a(7543),r=a.n(i);let c="eb827bdd-7f9b-454a-be1e-30c173b250ce",o=[59.93863,30.31413],d=["drag","scrollZoom","dblClickZoom","multiTouch"],u=async e=>{var t,a,n,l,s,i;let[r,o]=e;if(!c)return;let d=new URLSearchParams({apikey:c,format:"json",geocode:"".concat(o,",").concat(r),kind:"house",lang:"ru_RU",results:"1"}
1),u=await fetch("".concat("https://geocode-maps.yandex.ru/v1/","?").concat(d));if(!u.ok)throw Error("Yandex geocoder failed with ".concat(u.status));let _=null==(l=(await u.json()).response)||null==(n=l.GeoObjectCollection)||null==(a=n.featureMember)||null==(t=a[0])?void 0:t.GeoObject,p=null==_||null==(i=_.metaDataProperty)||null==(s=i.GeocoderMetaData)?void 0:s.text;return p||[null==_?void 0:_.description,null==_?void 0:_.name].filter(Boolean).join(", ")},_=e=>{let{coordinates:t,isInteractive:a,radiusKm:i,resetKey:c,onPointMove:_}=e,p=(0,s.useRef)(null),h=(0,s.useRef)(0),m=(0,s.useRef)(!0),v=(0,s.useRef)(!1),x=(0,s.useRef)(!1),C=(0,s.useRef)(!1),[g,j]=(0,s.useState)(!1),N=1e3*i,b=(0,s.useRef)({center:null!=t?t:o,zoom:12,behaviors:a?d:[]}),[y,w]=(0,s.useState)(t);(0,s.useEffect)(()=>()=>{m.current=!1},[]),(0,s.useEffect)(()=>{var e,t;if(p.current&&g){if(a){null==(t=p.current.behaviors)||t.enable(d);return}v.current=!1,null==(e=p.current.behaviors)||e.disable(d)}},[a,g]),(0,s.useEffect)(()=>{if(!p.current||!g)return;if(C.current){C.current=!1;return}v.current=!1,x.current=!0,w(t);let e=p.current.setBounds(((e,t)=>{let[a,n]=e,l=1.25*t/111320,s=l/Math.max(Math.cos(a*Math.PI/180),.01);return[[a-l,n-s],[a+l,n+s]]})(t,N),{checkZoomRange:!0,duration:0});if(null==e?void 0:e.then)return void e.then(()=>{x.current=!1},()=>{x.current=!1});let a=window.setTimeout(()=>{x.current=!1},0);return()=>{window.clearTimeout(a)}},[g,t,N,c]);let k=(0,s.useCallback)(e=>{p.current=e,j(!!e)},[]),M=(0,s.useCallback)(async e=>{if(!(e=>{let[t,a]=e;return Number.isFinite(t)&&Number.isFinite(a)})(e))return;let t=h.current+1;h.current=t,_(e);try{let a=await u(e);if(!m.current||t!==h.current)return;_(e,"string"==typeof a&&a?a:void 0)}catch(a){if(!m.current||t!==h.current)return;_(e)}},[_]),f=(0,s.useCallback)(e=>{if(!a||!v.current||x.current)return;let t=e.get("newCenter");if(Array.isArray(t))return void w(t);let n=e.get("target");!Array.isArray(n)&&(null==n?void 0:n.getCenter)&&w(n.getCenter())},[a]),R=(0,s.useCallback)(e=>{if(!a||x.current){x.current=!1,v.current=!1;return}if(!v.current)return;let t=e.get("target").getCenter();w(t),v.current=!1,C.current=!0,M(t)},[a,M]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(l.T5,{width:"100%",height:"100%",defaultState:b.current,options:{suppressMapOpenBlock:!0,yandexMapDisablePoiInteractivity:!0},instanceRef:k,onActionBegin:()=>{a&&!x.current&&(v.current=!0)},onActionEnd:R,onActionTick:f,children:[(0,n.jsx)(l.pj,{options:{position:{left:10,top:10},size:"small"}}),(0,n.jsx)(l.jl,{geometry:[y,N],options:{fillColor:"rgba(72, 51, 213, 0.12)",strokeColor:"#4833d5",strokeOpacity:.45,strokeWidth:2}})]}),(0,n.jsx)("div",{className:r().centralPointPin})]})}},57698:(e,t,a)=>{"use strict";a.d(t,{k:()=>h});var n=a(95155),l=a(51867);let s=e=>(0,n.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:(0,n.jsx)("path",{d:"M9.79 12.79L4 18.59V17C4 16.7348 3.89464 16.4804 3.70711 16.2929C3.51957 16.1054 3.26522 16 3 16C2.73478 16 2.48043 16.1054 2.29289 16.2929C2.10536 16.4804 2 16.7348 2 17V21C2.00158 21.1307 2.02876 21.2598 2.08 21.38C2.18147 21.6243 2.37565 21.8185 2.62 21.92C2.74022 21.9712 2.86932 21.9984 3 22H7C7.26522 22 7.51957 21.8946 7.70711 21.7071C7.89464 21.5196 8 21.2652 8 21C8 20.7348 7.89464 20.4804 7.70711 20.2929C7.51957 20.1054 7.26522 20 7 20H5.41L11.21 14.21C11.3983 14.0217 11.5041 13.7663 11.5041 13.5C11.5041 13.2337 11.3983 12.9783 11.21 12.79C11.0217 12.6017 10.7663 12.4959 10.5 12.4959C10.2337 12.4959 9.9783 12.6017 9.79 12.79ZM21.92 2.62C21.8185 2.37565 21.6243 2.18147 21.38 2.08C21.2598 2.02876 21.1307 2.00158 21 2H17C16.7348 2 16.4804 2.10536 16.2929 2.29289C16.1054 2.48043 16 2.73478 16 3C16 3.26522 16.1054 3.51957 16.2929 3.70711C16.4804 3.89464 16.7348 4 17 4H18.59L12.79 9.79C12.6963 9.88296 12.6219 9.99356 12.5711 10.1154C12.5203 10.2373 12.4942 10.368 12.4942 10.5C12.4942 10.632 12.5203 10.7627 12.5711 10.8846C12.6219 11.0064 12.6963 11.117 12.79 11.21C12.883 11.3037 12.9936 11.3781 13.1154 11.4289C13.2373 11.4797 13.368 11.5058 13.5 11.5058C13.632 11.5058 13.7627 11.4797 13.8846 11.4289C14.0064 11.3781 14.117 11.3037 14.21 11.21L20 5.41V7C20 7.26522 20.1054 7.51957 20.2929 7.70711C20.4804 7.89464 20.7348 8 21 8C21.2652 8 21.5196 7.89464 21.7071 7.70711C21.8946 7.51957 22 7.26522 22 7V3C21.9984 2.86932 21.9712 2.74022 21.92 2.62Z",fill:"#3D3C43",fillOpacity:"0.6"})});var i=a(6439),r=a(82002),c=a(936),o=a(53012),d=a(7543),u=a.n(d);let _="eb827bdd-7f9b-454a-be1e-30c173b250ce",p={..._?{apikey:_}:{},lang:"ru_RU",load:"Map,Circle"},h=e=>{let{coordinates:t,isInteractive:a,radiusKm:d,resetKey:_,address:h,onPointMove:m}=e,v=(0,i.j)();return(0,n.jsx)("div",{className:u().centralPointMap,children:(0,n.jsxs)(l.Xi,{query:p,children:[(0,n.jsx)("button",{type:"button",className:u().buttonUpscale,"aria-label":"Открыть карту",onClick:()=>v((0,r.qf)(c.C)),children:(0,n.jsx)(s,{})}),(0,n.jsx)(o.X,{coordinates:t,isInteractive:a,radiusKm:d,resetKey:_,onPointMove:m}),(0,n.jsx)(c.t,{address:h,coordinates:t,isInteractive:a,radiusKm:d,resetKey:_,onPointMove:m})]})})}},65386:(e,t,a)=>{"use strict";a.d(t,{G:()=>r});var n=a(92841);let l="/msp-reports",s="/companies",i={timeout:6e4},r={async getCatalog(){let{data:e}=await n.A.get("/msp/niches");return e},async getCompany(e){let{data:t}=await n.A.get("".concat(s,"/").concat(e));return t},async updateCompanyNiche(e,t){let{data:a}=await n.A.patch("".concat(s,"/").concat(e),t);return a},async createReport(e){let{data:t}=await n.A.post(l,e,i);return t},async getById(e){let{data:t}=await n.A.get("".concat(l,"/").concat(e),i);return t},async geocode(e){let{data:t}=await n.A.get("".concat(l,"/geocode"),{params:{address:e}});return t},async createShare(e,t){let{data:a}=await n.A.post("".concat(l,"/").concat(e,"/shares"),t);return a},async getShared(e){let{data:t}=await n.A.get("".concat(l,"/shared/").concat(encodeURIComponent(e)),i);return t}}},73341:(e,t,a)=>{"use strict";a.r(t),a.d(t,{MspSharedReport:()=>h});var n=a(95155),l=a(92548),s=a(6696),i=a(53455),r=a(23549),c=a(93414),o=a(16513),d=a(65386),u=a(79563),_=a(81868),p=a.n(_);let h=e=>{let{token:t}=e,a=(0,i.useQuery)({queryKey:r.d.shared(t),queryFn:async()=>await d.G.getShared(t),retry:!1,refetchOnWindowFocus:!1}),_=a.data;return(0,n.jsx)(s.LN,{standalone:!0,header:(0,n.jsx)(s.zY,{title:"Аналитика МСП",metaItems:_?[_.company.title]:[],description:(null==_?void 0:_.niche.niche_name)?"Ниша: ".concat(_.niche.niche_name).concat(_.niche.format_name?" (".concat(_.niche.format_name,")"):""):void 0}),children:(0,n.jsx)("div",{className:p().page,children:(()=>
1{if(a.isPending)return(0,n.jsx)("div",{className:p().reportState,children:(0,n.jsx)(l.a,{description:"Открываем отчёт — обычно до 45 секунд"})});if(a.isError||!_)return(0,n.jsx)("div",{className:p().reportState,children:(0,n.jsx)("p",{children:(0,c.e4)(a.error,"Ссылка не открылась: отчёт не найден или источник данных не ответил.")})});let e=_.dev_enable&&(0,o.Fd)(_.variant);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:p().zoneNote,children:["Публичный отчёт \xb7 зона \xab",c.pv[_.zone],"\xbb",e?" \xb7 с учётом новостроек":""," — параметры зафиксированы отправителем, числа пересчитаны при открытии."]}),(0,n.jsx)(u.z,{variant:_.variant,zone:_.zone,withForecast:e,point:_.point,niche:_.niche,investment:_.investment,createdAt:_.created_at,isPublic:!0})]})})()})})}},75903:(e,t,a)=>{"use strict";a.d(t,{PZ:()=>l,oQ:()=>i,_6:()=>u,MF:()=>s,$S:()=>n,r6:()=>b,BO:()=>N,m_:()=>C,ZV:()=>v,l9:()=>g,o$:()=>M,Fj:()=>x,T1:()=>j,TD:()=>w,W0:()=>f,in:()=>o,H4:()=>d,B6:()=>r,Mk:()=>c}),a(14312),a(95704);let n="RECPLACE_FULL_ADMIN",l="CHAIN_ADMIN",s="MEDFLEKS_INTEGRATION",i="ELAMA_USER",r=(e,t)=>{var a;return null!=(a=null==e?void 0:e.includes(t))&&a},c=(e,t)=>{var a;return null!=(a=null==e?void 0:e.some(e=>(null==e?void 0:e.code)===t))&&a},o=e=>!!(null==e?void 0:e.length)&&e.some(e=>(null==e?void 0:e.code)===n||(null==e?void 0:e.access_level)===0||(null==e?void 0:e.access_level)===1),d=(e,t)=>!!(null==e?void 0:e.length)&&!!t&&e.some(e=>(null==e?void 0:e.code)===l&&e.chain_id===t),u="—",_=new Intl.NumberFormat("ru-RU",{maximumFractionDigits:0}),p=new Intl.DateTimeFormat("ru-RU",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"}),h=e=>null!=e&&Number.isFinite(e),m=(e,t)=>e.toFixed(t).replace(".",","),v=e=>h(e)?_.format(Math.round(e)):u,x=e=>h(e)?"".concat(v(e)," ₽"):u,C=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return h(e)?"".concat(m(e/1e6,t)," млн ₽"):u},g=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return h(e)?"".concat(m(100*e,t),"%"):u},j=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return h(e)&&h(t)&&0!==t?g(e/t,a):u},N=e=>h(e)?"".concat(v(e)," м"):u,b=e=>{if(!e)return u;let t=new Date(e);return Number.isNaN(t.getTime())?u:p.format(t)},y=e=>e&&"object"==typeof e?e:null,w=function(e,t,a){var n,l,s,i;let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:504;if((null==(n=y(e))?void 0:n.code)==="ECONNABORTED")return null!=(l=t[r])?l:a;let c=null==(i=y(e))||null==(s=i.response)?void 0:s.status;return c&&t[c]||a},k=e=>{let t=e.replace(/\D/g,"");return 10===t.length?"".concat("7").concat(t):11===t.length&&t.startsWith("8")?"".concat("7").concat(t.slice(1)):t},M=e=>{let t=k(e).match(/^(\d)(\d{3})(\d{3})(\d{2})(\d{2})$/);return t?"+".concat(t[1]," (").concat(t[2],") ").concat(t[3],"-").concat(t[4],"-").concat(t[5]):e.trim()},f=e=>{let t=k(e);return"tel:".concat(t?"+".concat(t):e.trim())}},79563:(e,t,a)=>{"use strict";a.d(t,{z:()=>n.MspReport});var n=a(37291)},80718:e=>{e.exports={container:"AppToastContainer_container__EwJ3E",toast:"AppToastContainer_toast__o_GQk",toastSuccess:"AppToastContainer_toastSuccess__eLrbR",messageTitle:"AppToastContainer_messageTitle__slkeT",messageDescription:"AppToastContainer_messageDescription__QH6b_",toastInfo:"AppToastContainer_toastInfo__rSroS",toastWarning:"AppToastContainer_toastWarning__nrv3M",toastError:"AppToastContainer_toastError__Zl_lP",closeButton:"AppToastContainer_closeButton__oMnVf",message:"AppToastContainer_message__UOp_l",toastDetails:"AppToastContainer_toastDetails__bxQFk"}},81868:e=>{e.exports={page:"MspAnalytics_page__w3eYn",card:"MspAnalytics_card__Vw7O1",cardHead:"MspAnalytics_cardHead__itonp",cardTitle:"MspAnalytics_cardTitle__y0K7s",blockTitle:"MspAnalytics_blockTitle__yLRGa",hint:"MspAnalytics_hint__1H_rE",hintMuted:"MspAnalytics_hintMuted__LTSg2",required:"MspAnalytics_required__ICV_B",paramRow:"MspAnalytics_paramRow__eUl1B",paramLabel:"MspAnalytics_paramLabel__k_BUv",paramControls:"MspAnalytics_paramControls__xzZeB",segTabs:"MspAnalytics_segTabs__LA2A6",segTab:"MspAnalytics_segTab__K_4hQ",segTabActive:"MspAnalytics_segTabActive__Fi3vt",branchSelect:"MspAnalytics_branchSelect__5AEBX",branchControl:"MspAnalytics_branchControl__OINTt",nichePicker:"MspAnalytics_nichePicker__IRoyD",chevron:"MspAnalytics_chevron__Un2Di",switchRow:"MspAnalytics_switchRow__okZXs",switchRowTop:"MspAnalytics_switchRowTop___MNHR",switchText:"MspAnalytics_switchText__OCkvU",switchLabel:"MspAnalytics_switchLabel__Z8icW",zoneNote:"MspAnalytics_zoneNote__smRym",ownPoint:"MspAnalytics_ownPoint__fy_g4",ownPointSearch:"MspAnalytics_ownPointSearch__iyZAt",ownPointMap:"MspAnalytics_ownPointMap__duOfW",ownPointFooter:"MspAnalytics_ownPointFooter__jZeXz",ownPointAddress:"MspAnalytics_ownPointAddress__dhrTC",catalog:"MspAnalytics_catalog__aqvL1",searchInput:"MspAnalytics_searchInput__uDwk9",catalogGroup:"MspAnalytics_catalogGroup__KoLfG",catalogGroupTitle:"MspAnalytics_catalogGroupTitle__m0Kkl",catalogGrid:"MspAnalytics_catalogGrid__Yuce8",catalogItem:"MspAnalytics_catalogItem__0y7cI",catalogItemActive:"MspAnalytics_catalogItemActive__Od_5x",modalBody:"MspAnalytics_modalBody__grlQg",reportHead:"MspAnalytics_reportHead__DorKA",reportWrap:"MspAnalytics_reportWrap__GSxS_",reportOverlay:"MspAnalytics_reportOverlay__lU698",reportState:"MspAnalytics_reportState__cxais",reportStateMeta:"MspAnalytics_reportStateMeta__tAq2U"}},91189:(e,t,a)=>{"use strict";a.d(t,{Ay:()=>o,Sf:()=>i,_I:()=>l,hb:()=>r});let n=(0,a(43404).Z0)({name:"user",initialState:{currentCompanyID:null,currentChainID:null,currentChainSlug:null},reducers:{setCurrentCompanyID:(e,t)=>{e.currentCompanyID=t.payload},setCurrentChainID:(e,t)=>{e.currentChainID!==t.payload&&(e.currentChainSlug=null),e.currentChainID=t.payload},setCurrentChainSlug:(e,t)=>{e.currentChainSlug=t.payload},setCurrentCompanyIfNever:(e,t)=>{var a;!e.currentCompanyID&&t.payload&&(null==(a=t.payload)?void 0:a.length)>0&&(e.currentCompanyID=t.payload[0].id)},setCurrentChainIfNever:(e,t)=>{!e.currentChainID&&t.payload&&t.payload.length>0&&(e.currentChainID=t.payload[0].id)}}}),{setCurrentChainID:l,setCurrentChainIfNever:s,setCurrentChainSlug:i,setCurrentCompanyID:r,setCurrentCompanyIfNever:c}=n.actions,o=n.reducer},93414:(e,t,a)=>{"use strict";a.d(t,{$L:()=>u,Wf:()=>i,Xu:()=>l,cM:()=>o,e4:()=>p,hI:()=>d,pv:()=>s,uv:()=>r,wt:()=>c});var n=a(75903);let l=["walking","buffer"],s={walking:"Пешеходная",buffer:"Радиус"},i={walking:"пешеходная",buffer:"радиус"},r={walking:"Все, кто реально дойдёт пешком с учётом дорог и преград. \xabРадиус\xbb — все в круге вокруг точки, охват больше.",buffer:"Все в круге вокруг точки. \xabПешеходная\xbb — только те, кто реально дойдёт пешком."}
1,c={direct_single:"Прямой \xb7 несетевой",direct_chain:"Прямой \xb7 сетевой",indirect_single:"Непрямой \xb7 несетевой",indirect_chain:"Непрямой \xb7 сетевой",hidden:"Скрытый"},o={no_data:"В этой зоне никто не живёт и не работает — считать нечего.",unavailable:"Источник не считает эту зону для вашей ниши — посмотрите вторую зону.",failed:"Источник не ответил по этой зоне. Попробуйте обновить отчёт."},d={demand_no_data:"Источник не дал данных по ёмкости рынка для этой точки.",niche_no_data:"Вокруг точки не нашлось ни жителей, ни офисов — попробуйте другую точку.",city_unsupported:"Для этого города данных у источника нет.",niche_unmapped:"Для этой ниши источник не отдаёт данные — попробуйте выбрать другую нишу.",zones_unsupported:"Источник не считает для этой ниши ни одной зоны — попробуйте выбрать другую нишу."},u=["Высокий","Средний","Ниже среднего","Низкий"],_={403:"У вас нет доступа к этому отчёту.",404:"Отчёт не найден.",422:"Для выбранной ниши нет актуального ценового формата — выберите другую.",502:"Источник данных временно недоступен. Попробуйте позже.",504:"Источник не успел посчитать за 45 секунд. Попробуйте обновить отчёт."},p=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Не удалось построить отчёт. Попробуйте ещё раз.";return(0,n.TD)(e,_,t)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.