1import{r as F,j as n}from"./vendor-DiH_g01q.js";import{u as _,ac as o,e as H,ay as k,af as C,X as M,ag as I}from"./common-oxzFHjRF.js";import{s as x,H as N}from"./shared/sres/user-CAPI9-Kr.js";import"./react-transition-group-DYubrVfC.js";import"./file-saver-DR_TXVf3.js";import"./@turf/turf-BPXpn8BD.js";const U=M.getBrowserAffiliate(),X=([a,i],d,c)=>{const h=(e,s)=>e.find(g=>g.id===s)?.score||0,p=a.map(e=>e.id),l=i.slice(0,c).filter(e=>!d.includes(e.id)).map((e,s)=>({...e,score:Math.max((100-s)/100,c-s*3)})),m=a.slice(0,c).filter(e=>!d.includes(e.id)).sort((e,s)=>s.contactRequests-e.contactRequests||s.pageViews-e.pageViews).map((e,s)=>({...e,score:Math.max(1,(c-s)*.75)}));return[...i.filter(e=>!p.includes(e.id)),...a].filter(e=>!d.includes(e.id)).sort((e,s)=>s.contactRequests-e.contactRequests||s.pageViews-e.pageViews).map((e,s)=>({...e,score:Math.max(0,e.contactRequests>0?c-s*1.25:0)+h(l,e.id)+h(m,e.id)})).sort((e,s)=>s.score-e.score).slice(0,c)},Q=({searchUrl:a=null,limit:i=12,columns:d=4,withPremiumBanner:c=!1,solrLimit:h=50,extraExclusive:p=0,includeList:l=[],excludeList:m=[],affiliate:P})=>{const[e,s]=F.useState([]),[g]=_(),A=c&&!g.isPremium,V=A?i-1:i,j=Math.min(7,i-1)-1;m=Array.isArray(m)?m:[];const t=o.getSearchVarsFromUrl(a);t.affiliate=P||t?.affiliate;const u=o.getSortVarFromUrl(a),w=o.getBoundsVarFromUrl(a);return w&&!t?.placeBounds&&(t.placeBounds=w),F.useEffect(()=>{const f=a?o.getSearchResultsFromApi(o.getSelect(t,u),h).then(r=>r?.homes?r.homes:(H.add(new Error("No homes data"),{title:"Fehler beim Laden der Suchergebnisse",error_code:"SearchResultList.tsx:useEffect:regularHomesResult",request_data:{data:r,searchVars:t,sortVar:u}}),[])).catch(r=>(console.error(r),H.add(r,{title:"Fehler beim Laden der Suchergebnisse",error_code:"SearchResultList.tsx:useEffect:regularHomesPromise",request_data:{searchVars:t,sortVar:u}}),[])):Promise.resolve([]),S=p>0?o.getSearchResultsFromApi(o.getSelect({...t,exclusive:!0},u),p).then(r=>r.homes).catch(r=>(console.error(r),[])):Promise.resolve([]),y=Array.isArray(l)&&l.length>0?o.getSearchResultsFromApi(o.getSelect({includeList:l},u),l.length).then(r=>r.homes).catch(r=>(console.error(r),[])):Promise.resolve([]);Promise.all([y,S,f]).then(([r,E,b])=>{const q=l.map(R=>r.find(B=>B.id===R)).filter(R=>R),v=X([E,b],m,i);s([...q,...v])}).catch(r=>{console.error(r),H.add(r,{title:"Fehler beim Laden der Suchergebnisse",error_code:"SearchResultList.tsx:useEffect:Promise.all",request_data:{searchVars:t,sortVar:u}})})},[]),n.jsx("div",{className:x.searchResultList+" "+x["col"+d],children:n.jsx("div",{className:x.results,children:e.slice(0,V).map((f,S)=>n.jsx(k,{active:!0,fallback:n.jsx(I,{view:"list",data:f}),children:n.jsxs(n.Fragment,{children:[A&&S===j&&n.jsx(N,{}),n.jsx(C,{data:f,browserAffiliate:U})]})},f.id))})})};export{Q 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.