PageSourceSearch

https://welcome26.ru/_nuxt/C_LKna5h.js

js welcome26.ru collected 2026-10-07 18:10:46 UTC 19,220 bytes, 2 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./C4KBFeQU.js","./DaWMykhG.js","./7bDPPfED.js","./CgDnksnM.js","./entry.CmJ9QzPy.css","./CRd4z7HC.js","./BtnInput.dLnGUKpj.css","./Select.C29pwqVd.css","./Cjb8fmty.js","./Input.O5rDFW6C.css","./Cggf-Cwm.js","./Button.DdQyM3z9.css","./BLmhnPGu.js","./DhHGWOs9.js","./D2NWW7zW.js","./IconRublesGray.BcpsmRe3.css","./Item.CKwUG3Zt.css","./CW99kOov.js","./Cl3FLjou.js","./DX1qi1OT.js","./MapNedvizhimost.CycaInPv.css"])))=>i.map(i=>d[i]);
2import{d as qe,l as ze,m as Ee,p as ct,q as ut,s as dt,v as mt,x as _t,a as Fe,y as R,h as u,z as D,o as Oe,A as ge,b as pt,c as g,e as l,f as d,g as L,j as $,B as C,w as K,i as p,n as vt,K as ft,C as Ue,F as ye,D as Re,_ as De,E as gt,G as yt,a1 as ht,H as me,I as wt,J as bt,M as Me,t as U,r as Ae,k as kt,P as Pt,L as It}from"./CgDnksnM.js";import{B as $t}from"./4u87W8k8.js";import{_ as Ve}from"./Cggf-Cwm.js";import{_ as Ct,u as Nt,E as _e,d as pe,b as xe,a as St}from"./hLNu1fmw.js";import{_ as Bt}from"./Cl3FLjou.js";import{_ as Tt}from"./BwCA2Wiu.js";import{_ as Mt}from"./6pAYpLJc.js";import{u as ve}from"./DhHGWOs9.js";import{f as At}from"./kjn64BOi.js";import{I as xt}from"./DOgdMHdb.js";import{_ as Lt}from"./QDpszS_u.js";import{u as qt}from"./BALEIhnC.js";import{R as Le}from"./DE2NTuPy.js";import{s as T,p as fe,c as zt,a as Et}from"./ja_HcvkB.js";import Ft from"./CnrUz4RA.js";import{u as Ot}from"./BqL9SUx7.js";import"./CRd4z7HC.js";const Ut=Ue(()=>Re(()=>import("./C4KBFeQU.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]),import.meta.url).then(w=>w.default||w)),Rt={class:"filter_page_category_wrap",ref:"filter_page_category_wrap"},Dt={key:0,class:"sticky_filter_btn"},Vt=qe({__name:"index",setup(w){const v=ze(),y=Ee(),W=ct(),_=ut(),M=dt(),c=mt(),N=_t(),q=Fe("filter_page_category_wrap"),S=R(!1),A=u(()=>y.isLessThan("screen577")?_.value?"Закрыть":"Фильтр":_.value?"Закрыть фильтр":"Открыть фильтр"),m=()=>{var x;M.value?M.value=!1:c.value?c.value=!1:N.value?N.value=!1:W.value=!W.value,_.value=!_.value,_.value&&window.scrollTo({top:(x=q.value)==null?void 0:x.offsetTop,behavior:"smooth"})};D(W,x=>{!x&&_.value&&(_.value=!1)});const k=()=>{if(y.isLessThan("screen769")&&q.value){const x=q.value.getBoundingClientRect();S.value=x.top<0}};return Oe(()=>{ge(()=>{v.query.autoOpen==="true"&&y.isLessThan("screen769")&&(N.value&&(N.value=!1),setTimeout(()=>{_.value=!0,W.value=!0,ge(()=>{q.value&&window.scrollTo({top:q.value.offsetTop,behavior:"smooth"})})},100))}),y.isLessThan("screen769")&&window.addEventListener("scroll",k)}),pt(()=>{y.isLessThan("screen769")&&window.removeEventListener("scroll",k)}),(x,re)=>{const Z=Lt,ee=Ct,E=Ve,oe=Ut;return l(),g(ye,null,[d("div",Rt,[$(E,{title:p(A),"color-active":"var(--primary)","bg-active":"var(--white)",active:p(_),onBtnClick:m,class:vt(["filter_page_category__filter__bt
2n",{open_filter:p(_)}])},{default:K(()=>[p(_)?(l(),C(Z,{key:0,class:"filter_page_category__image_close"})):(l(),C(ee,{key:1,class:"filter_page_category__image_open"}))]),_:1},8,["title","active","class"]),(l(),C(ft,null,[p(_)?(l(),C(oe,{key:0,onClickSearch:m,onClickClose:m})):L("",!0)],1024))],512),p(S)&&p(y).isLessThan("screen769")?(l(),g("div",Dt,[$(E,{title:p(A),"color-active":"var(--primary)","bg-active":"var(--white)",active:p(_),onBtnClick:m,class:"sticky_filter_btn__button"},{default:K(()=>[p(_)?(l(),C(Z,{key:0,class:"filter_page_category__image_close"})):(l(),C(ee,{key:1,class:"filter_page_category__image_open"}))]),_:1},8,["title","active"])])):L("",!0)],64)}}}),Ht=De(Vt,[["__scopeId","data-v-0682486c"]]),Kt=Ue(()=>Re(()=>import("./CW99kOov.js"),__vite__mapDeps([17,18,3,4,19,20]),import.meta.url).then(w=>w.default||w)),Wt={class:"main__newbild"},jt={class:"container"},Yt={class:"wrap__breadcrumbs"},Jt={key:0,class:"main__newbild-header"},Gt={class:"main__newbild-title"},Qt={key:1,class:"filter_btns"},Xt={key:2,class:"filter_sort"},Zt={key:3,class:"loading"},ea={key:4,class:"main__newbild-grid"},ta=["src","alt"],aa={class:"main__newbild-content"},sa={class:"main__newbild-name"},ia={class:"main__newbild-org"},ra={class:"main__newbild-adres"},oa={class:"main__newbild-price"},na=["onClick"],la={key:5,class:"no-results"},ca={class:"desc_nedvizh"},ua={key:0,class:"loading"},da={key:1,class:"error"},ma={key:2},_a={class:"desc_nedvizh__title"},pa={class:"desc_nedvizh__par"},va={class:"main__newbild"},fa={class:"container"},ga={class:"wrap__breadcrumbs"},ya={class:"main__newbild-title"},ha=qe({__name:"novostroiki",props:{showFilters:{type:Boolean,default:!0},showTitle:{type:Boolean,default:!0},showBreadcrumbs:{type:Boolean,default:!0}},async setup(w){let v,y;const _=gt().public.strapiBaseUrl,{strapiImgSrc:M}=Ot(),c=ze();Ee();const N=yt(),q=ht({buildingSeries:""}),S=R(!0),A=R(16),m=R({res:[],title:"Новостройки"}),k=R(!1),x=new Set(["Комфорт-класс","Бизнес-класс","Эконом-класс","Премиум-класс"]),re=(e,t)=>{const s={...e},r=typeof s.category=="string"?s.category:"";return x.has(r)&&delete s.buildingSeries,t&&(s.cursorId=t),s.skipCount="1",s},Z={res:[],title:"Новостройки",cursorId:null,hasMore:!1},{data:ee}=([v,y]=me(async()=>ve(`novostroiki-${JSON.stringify(c.query)}`,async()=>{try{return await $fetch("/api/pages/novostroiki",{query:re(c.query)})}catch{return Z}},{server:!0,lazy:!1})),v=await v,y(),v);D(ee,e=>{e&&Array.isArray(e.res)&&(m.value={...e,res:pe(e.res)},k.value=e.hasMore??!1),e&&(S.value=!1,N.value=!1)},{immediate:!0});const E=[{title:"Комфорт-класс",type:"Повышенной комфортности"},{title:"Бизнес-класс",type:"business"},{title:"Эконом-класс",type:"econom"},{title:"Премиум-класс",type:"premium"}],oe=u(()=>{const e={главная:0};return E.forEach((t,s)=>{e[t.type]=s+1}),e}),He=u(()=>{const e={0:"главная"};return E.forEach((t,s)=>{e[s+1]=t.type}),e}),Ke={Премиум:"premium",Бизнес:"business",Эконом:"econom","Повышенной комфортности":"Повышенной комфортности"},ne=u(()=>{const e=c.query.buildingSeries,t=Ke[e]??e;return String(oe.value[t]??0)}),{data:te,error:le,refresh:We}=([v,y]=me(async()=>ve(`description-novostroiki-${ne.value}`,async()=>{try{return await $fetch(`${_}/api/property-descriptions`,{query:{"filters[category][$eq]":"novostroiki","filters[filterType][$eq]":ne.value,locale:"ru",populate:"*"}})}catch{return{data:[]}}},{watch:[ne],lazy:!0,server:!1})),v=await v,y(),v),je={Ставрополь:"Ставрополе",Железноводск:"Железноводске",Ессентуки:"Ессентуках",Кисловодск:"Кисловодске",Пятигорск:"Пятигорске",Михайловск:"Михайловске","Ессентукская станица":"Ессентукской станице","Новая пролетарка":"Новой пролетарке","Демино х":"хуторе Демино","Татарка село":"селе Татарка","Верхнерусское село":"селе Верхнерусское"},V=u(()=>{const e=c.query.locationCity||"Ставрополь";return je[e]||"Ставрополе"});u(()=>{var e;return((e=c==null?void 0:c.query)==null?void 0:e.locationCity)||"Ставрополь"});const he=u(()=>{const e=c.query.category;return E.find(t=>t.title===e||t.type===e)}),ce=u(()=>{const e=V.value,t=he.value;return t!=null&&t.title?`Новостройки класса «${t.title??""}» в ${e}`:`Новостройки в ${e}
2 и Ставропольском крае`}),Ye=Nt(c),Je=u(()=>{const e=V.value,t=he.value,s=Ye.value,r=c.query.buildingSeries||"";if(t!=null&&t.title)return`Новостройки класса «${t.title??""}» в ${e} и Ставропольском крае: каталог ЖК, цены, планировки. Подбор и ипотека — Welcome.${s}`;const o=r?` Класс: ${r}.`:"";return`Новостройки в ${e} и Ставропольском крае: каталог жилых комплексов, цены, помощь в ипотеке и сопровождение сделки — Welcome.${o}${s}`}),Ge=u(()=>qt(Je.value,c.fullPath));wt({title:u(()=>ce.value+" | Welcome"),description:Ge}),bt({meta:[{name:"keywords",content:"каталог новостроек Ставропольский край, ЖК от застройщика, квартиры в строящихся домах, ДДУ"}]});const we=u(()=>{var o,f;if(le.value||!((f=(o=te.value)==null?void 0:o.data)!=null&&f.length))return{title:`Купить квартиру в новостройке в ${V.value}`,content:`<p>Каталог жилых комплексов в ${V.value} и Ставропольском крае: цены, планировки, помощь с ипотекой и сопровождение сделки — Welcome.</p>`};const e=te.value.data[0],t=e.content||"",s=new RegExp("(?<![а-яёА-ЯЁ])Ставропол(?:ь|е|я)(?![а-яёА-ЯЁ])","gi"),r=t.split(/\n{1,}/).map(P=>`<p>${P.trim().replace(s,V.value)}</p>`).join("");
2return{title:e.title.replace(s,V.value),content:r}}),{data:b,error:Qe,pending:wa}=([v,y]=me(async()=>ve("novostroiki-residentials",async()=>{try{return await $fetch("/api/strapi/residentials-complexes",{query:{pageSize:"100",locale:"ru"}})}catch{return{data:[]}}},{lazy:!1,server:!0})),v=await v,y(),v);D(()=>Qe.value,e=>{e&&console.error("Strapi residentials API error:",e)},{immediate:!0}),D(()=>b.value,e=>{e!=null&&e.data},{immediate:!0});const Xe=u(()=>{var t;const e=new Map;return(t=b.value)!=null&&t.data&&b.value.data.forEach(s=>{var o;const r=T(s.buildingName);r&&e.set(r,((o=s.developer)==null?void 0:o.name)||"")}),e}),ue=async(e=!1)=>{S.value=!0,N.value=!0;try{const t=await $fetch("/api/pages/novostroiki",{query:re(c.query,e?m.value.cursorId:void 0)});t.res&&Array.isArray(t.res)?(e?(m.value.res=pe([...m.value.res,...t.res]),m.value.cursorId=t.cursorId):m.value={...t,res:pe(t.res)},k.value=t.hasMore??!1):(console.error("Некорректный ответ API:",t),k.value=!1)}catch(t){console.error("Ошибка при загрузке данных:",t),k.value=!1}finally{S.value=!1,N.value=!1}},Ze=async()=>{const e=window.scrollY,t=Y.value.length;Y.value.length>A.value?A.value+=16:k.value&&(await ue(!0),Y.value.length===t?k.value=!1:A.value+=16),await ge(),window.scrollTo({top:e,behavior:"auto"})},be=R(_e.two),et=()=>{const e=window.matchMedia("(max-width: 750px)"),t=s=>{s.matches&&be.value===_e.single&&(be.value=_e.two)};t(e),e.addEventListener("change",t)};Oe(async()=>{var e;et(),c.query.buildingSeries&&(q.buildingSeries=c.query.buildingSeries),Me(),(e=m.value.res)!=null&&e.length||await ue()}),D(()=>c.query,async()=>{S.value=!0,N.value=!0,A.value=16,m.value={res:[],title:"Новостройки"},k.value=!1;try{await ue(),await We()}catch(e){console.error("Error fetching data:",e)}finally{S.value=!1,N.value=!1}},{deep:!0});const j=u(()=>c.query.category||null),tt=u(()=>{var t,s;return!j.value||!((s=(t=b.value)==null?void 0:t.data)!=null&&s.length)?[]:b.value.data.filter(r=>r.category===j.value).map(r=>{var O,n;const o=T(r.buildingName||""),f=(O=r.images)!=null&&O.length?fe(r.images):void 0,P=f?M(f,"medium")||M(f):"/images/homePage/newbolding.webp",F=T(r.buildingName||String(r.id));return{id:o||`strapi-${r.id}`,buildingId:F,detailPath:`/newHouse/${F}`,image:P,name:r.buildingName||"ЖК",organization:((n=r.developer)==null?void 0:n.name)||"",address:"Адрес уточняется",mapLink:`#${o||`strapi-${r.id}`}`,price:"Цена уточняется",coords:[0,0],minPrice:Number.POSITIVE_INFINITY}})}),at=u(()=>{var e,t;return j.value?"Объектов недвижимости не найдено. Попробуйте запрос с другими параметрами.":(t=(e=m.value)==null?void 0:e.res)!=null&&t.length?"В загруженных данных нет новостроек с указанным названием ЖК (buildingName)":"Объектов недвижимости не найдено. Попробуйте запрос с другими параметрами."}),de=u(()=>{if(!j.value)return Y.value;const e=Y.value.filter(t=>{var r;const s=(r=b.value)==null?void 0:r.data.find(o=>T(o.buildingName)===t.id);return(s==null?void 0:s.category)===j.value});return e.length?e:tt.value}),st={"Повышенной комфортности":"Повышенной комфортности",business:"Бизнес",econom:"Эконом",premium:"Премиум"},it=async e=>{q.buildingSeries=e.type;const t=st[e.type]||e.type;await It({query:{...c.query,category:e.title,buildingSeries:t}})},ke=Fe("modal"),ae=R(null),rt=(e,t,s)=>{var r;ae.value={address:e,coords:t,link:s},(r=ke.value)==null||r.modalOpen()},Pe=e=>String(e||"").toLowerCase().includes("ставрополь"),ot=u(()=>{var t;const e=new Map;return(t=b.value)!=null&&t.data&&b.value.data.forEach(s=>{var P;const r=T(s.buildingName);if(!r||!((P=s.images)!=null&&P.length))return;const o=fe(s.images),f=o?M(o,"medium")||M(o):"";f&&e.set(r,f)}),e}),nt=u(()=>{var t;const e=new Map;return(t=b.value)!=null&&t.data&&b.value.data.forEach(s=>{var o;const r=T(s.buildingName);r&&((o=s.buildingName)!=null&&o.trim())&&e.set(r,s.buildingName.trim())}),e}),Y=u(()=>{var F,O,n,se,Ie,$e,Ce;if(!((F=m.value)!=null&&F.res)||!Array.isArray(m.value.res))return[];const e=new Map,t=a=>(a||"").toLowerCase().replace(/ё/g,"е").replace(/[^a-z0-9а-я]+/g,""),s=new Set,r=new Map;
2m.value.res.forEach((a,h)=>{var Se,Be,Te;const i=a.location,B=[i!=null&&i.localityName?`г. ${i.localityName}`:null,i!=null&&i.subLocalityName?`р-н ${i.subLocalityName}`:null,i!=null&&i.address?`ул. ${i.address}`:null].filter(Boolean),z=B.length>0?B.join(", "):"Адрес не указан";if(!((Se=a.buildingName)!=null&&Se.trim())){const H=a.id;if(!H)return;const G=t(z),Q=G||`id:${H}`,X=r.get(Q);if(X){a.price&&a.price<X.minPrice&&(X.minPrice=a.price);return}const ie=Array.isArray(a.image)?a.image.map(String).filter(Boolean):[],lt=zt(ie)||ie[0]||"/images/homePage/newbolding.webp";r.set(Q,{id:`orphan:${Q}`,buildingId:String(H),detailPath:`/realty/${H}`,name:(Be=i==null?void 0:i.address)!=null&&Be.trim()?`Новостройка, ${i.address}`:"Квартира в новостройке",image:lt,organization:((Te=a.salesAgent)==null?void 0:Te.organization)||"",minPrice:a.price??1/0,address:z,coords:[i!=null&&i.longitude?+i.longitude:0,i!=null&&i.latitude?+i.latitude:0],addrKey:G});return}s.add(t(z));const J=a.buildingName.trim(),I=T(J);if(!I)return;if(!e.has(I)){const H=Xe.value.get(I)||"",G=T(J),Q=ot.value.get(I),X=Array.isArray(a.image)?a.image.map(String).filter(Boolean):[],ie=Et(Q,X);e.set(I,{id:I,buildingId:G,detailPath:`/newHouse/${G}`,name:nt.value.get(I)||J,image:ie,organization:H,minPrice:a.price??1/0,address:z,coords:[i!=null&&i.longitude?+i.longitude:0,i!=null&&i.latitude?+i.latitude:0]})}const Ne=e.get(I);a.price&&a.price<Ne.minPrice&&(Ne.minPrice=a.price)});for(const a of r.values())a.addrKey&&s.has(a.addrKey)||e.set(a.id,{id:a.id,buildingId:a.buildingId,detailPath:a.detailPath,name:a.name,image:a.image,organization:a.organization,minPrice:a.minPrice,address:a.address,coords:a.coords});let o=Array.from(e.values()).map(a=>({id:a.id,buildingId:a.buildingId,detailPath:a.detailPath,image:a.image,name:a.name,organization:a.organization,address:a.address,mapLink:`#${a.id}`,price:a.minPrice!==1/0?`от ${At(a.minPrice)}`:"Цена не указана",coords:a.coords,minPrice:a.minPrice}));const f=new Set(o.map(a=>a.id));if((n=(O=b.value)==null?void 0:O.data)!=null&&n.length){const a=[];for(const h of b.value.data){const i=(se=h.buildingName)==null?void 0:se.trim();if(!i)continue;const B=T(i);if(!B||f.has(B))continue;f.add(B);const z=(Ie=h.images)!=null&&Ie.length?fe(h.images):void 0,J=z?M(z,"medium")||M(z):"/images/homePage/newbolding.webp",I=T(i);a.push({id:B,buildingId:I,detailPath:`/newHouse/${I}`,name:i,image:J,organization:(($e=h.developer)==null?void 0:$e.name)||"",address:"Адрес уточняется",mapLink:`#${B}`,price:"Цена уточняется",coords:[0,0],minPrice:Number.POSITIVE_INFINITY})}a.sort((h,i)=>(h.name||"").localeCompare(i.name||"","ru")),o=[...o,...a]}const P=(Ce=c.query)==null?void 0:Ce.sort;return P===xe.deshevle?o.sort((a,h)=>a.minPrice-h.minPrice):P===xe.dorozhe&&o.sort((a,h)=>h.minPrice-a.minPrice),o.sort((a,h)=>{const i=Pe(a.address)?0:1,B=Pe(h.address)?0:1;return i-B}),o});return D(te,e=>{var s;const t=(s=e==null?void 0:e.data[0])==null?void 0:s.filterType;He.value[Number(t)]}),D(()=>c.query,e=>{},{deep:!0}),(e,t)=>{const s=$t,r=Ve,o=St,f=Bt,P=Kt,F=Tt,O=Mt;return l(),C(O,{onError:p(Me)},{error:K(()=>[d("section",va,[d("div",fa,[d("div",ga,[w.showBreadcrumbs?(l(),C(s,{key:0})):L("",!0)]),d("h1",ya,U(ce.value),1),t[1]||(t[1]=d("div",{class:"no-results"},"Объектов недвижимости не найдено. Попробуйте запрос с другими параметрами.",-1))])])]),default:K(()=>[d("section",Wt,[d("div",jt,[d("div",Yt,[w.showBreadcrumbs?(l(),C(s,{key:0})):L("",!0)]),w.showTitle?(l(),g("div",Jt,[d("h1",Gt,U(ce.value),1)])):L("",!0),w.showFilters?(l(),g("div",Qt,[(l(),g(ye,null,Ae(E,n=>$(r,{key:n.type,title:n.title,bg:"var(--white)","bg-hover":"#2AAA3D","bg-active":"var(--primary)",color:"#1A1A18","color-hover":"#fff","color-active":"var(--white)",active:p(c).query.category===n.title,onBtnClick:se=>it(n),class:"filter_btn"},null,8,["title","active","onBtnClick"])),64))])):L("",!0),w.showFilters?(l(),g("div",Xt,[$(Ht),$(o,{"show-default-option":!1,"default-sort":"Новые"})])):L("",!0),S.value?(l(),g("div",Zt,[$(Ft)])):de.value.length>0?(l(),g("div",ea,[(l(!0),g(ye,null,Ae(de.value.slice(0,A.value),n=>(l(),g("div",{key:n.id,class:"main__newbild-slide"},[$(f,{to:n.detailPath,class:"main__newbild-link",target:"_blank",rel:"noopener noreferrer"},{default:K(()=>[d("img",{src:n.image,alt:n.name,class:"main__newbild-img"},null,8,ta),d("div",aa,[d("div",sa,U(n.name),1),d("div",ia,U(n.organization),1),d("div",ra,U(n.address),1),d("div",oa,[kt(U(n.price)+" ",1),$(xt)])])]),_:2},1032,["to"]),d("a",{href:"javascript:void(0)",class:"main__newbild-map",onClick:Pt(se=>rt(n.address,n.coords,n.mapLink),["stop"])}," Смотреть на карте ",8,na)]))),128))])):(l(),g("div",la,U(at.value),1)),(de.value.length>A.value||k.value)&&!S.value?(l(),C(r,{key:6,title:"Показать больше",color:"var(--black)",bg:"var(--cloud-light)",onBtnClick:Ze,class:"more"})):L("",!0),d("div",ca,[!p(te)&&!p(le)?(l(),g("div",ua,"Загрузка описания...")):p(le)?(l(),g("div",da,"Ошибка загрузки описания")):(l(),g("div",ma,[d("h2",_a,[$(Le,{text:we.value.title},null,8,["text"])]),d("div",pa,[$(Le,{text:we.value.content},null,8,["text"])])]))])]),$(F,{ref_key:"modal",ref:ke,onCloseModal:t[0]||(t[0]=n=>ae.value=null)},{default:K(()=>{var n;return[(n=ae.value)!=null&&n.coords.length?(l(),C(P,{key:0,"card-data":ae.value},null,8,["card-data"])):L("",!0)]}),_:1},512)])]),_:1},8,["onError"])}}}),Fa=De(ha,[["__scopeId","data-v-7896e5c0"]]);export{Fa as default};

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.