1import{F as e,I as t,V as n,Y as r,_ as i,b as a,g as o,h as s,it as c,l,m as u,mt as ee,p as te,ut as d,x as f,y as p,z as m}from"./vue.runtime.esm-bundler-CYo7JbXG.js";import{i as h,r as g}from"./vue-router-BcB2pQpv.js";import"./use-router-link-CLNleXQl.js";import"./router-BfG2AVCi.js";import"./filterCounter-CPaFjY28.js";import{i as _,r as ne}from"./i18n-DT-GC1le.js";import{Ct as re,Et as ie,I as ae,Nt as oe,St as se,Tt as ce,Z as le,bt as ue,ot as v,st as y,wt as b,xt as x,z as S}from"./urls-CBLAbLUU.js";import{f as C,h as w,l as T}from"./index-DgxpE15x.js";import"./focusout-CobfsnFw.js";import"./use-hydration-B0bK8QRf.js";import{n as E,t as D}from"./useIsMobile-BpIt0mga.js";import{t as O}from"./PartnerItem-C57czM2J.js";import"./QDialog-DJbVsy9F.js";import"./QList-C0CFR-Hj.js";import{n as k}from"./usePageReset-IFmwIlYB.js";import"./private.use-form-CCZRf-yP.js";import"./use-key-composition-CAAurhar.js";import"./QInput-gwsmcuxd.js";import{n as A,t as j}from"./useStatisticsHelper-vb8AfipS.js";import{_ as M,l as N,t as P}from"./TeaserType-Dc-z5N6S.js";import"./QCard-DlOnsSpA.js";import"./QMenu-FJ0plUZz.js";import"./use-virtual-scroll-ce0VURxE.js";import{t as F}from"./ContentAd-CZGk3nIY.js";import"./QCheckbox-D-DJs9PH.js";import"./touch-DlPPd4zu.js";import"./_timeline_calendar.scss_vue_type_style_index_0_src_true_lang-CFToHF4-.js";import"./array-DXTuTXPe.js";import{r as I,t as L}from"./setup-JqxMyRlF.js";import{t as R}from"./SearchField-BhXMC4ju.js";import{n as z,r as B,t as de}from"./utils-CnduN5qp.js";import{t as V}from"./NoResults-D2btgGD3.js";import{t as H}from"./PaginationButtons-DRcuVLtK.js";var fe={class:`index__h1`},pe={class:`index-layout`},me={class:`index__marginal`},he={class:`index__filterbox`},ge={class:`tablet-hide`},_e={class:`row teaser-list`},ve={key:0,class:`partner-item`},U=f({__name:`ProjekteIndexPage`,setup(f){let{isMobile:U}=D(),W=T(),{writePi:ye}=j(),{filterStore:G,filterController:K}=L(),q=g(),be=h(),xe=te(()=>ae({award:G.award},{projectStatus:G.projectStatus,buildingProject:G.buildingProject,buildingType:G.buildingType,furtherUsage:G.furtherUsage,architecturalStyleExpression:G.architecturalStyleExpression,constructionComponents:G.constructionComponents,material:G.material,technology:G.technology,surrounding:G.surrounding,location:G.location,country:G.country,region:G.region,photographer:G.photographer},{publication:G.publication,year:G.year,area:G.area_costs?.area,costs:G.area_costs?.costs}));function J(){S(q,ye,xe.value,G.page,G.query,Se())}let Se=()=>[{key:`pageType`,value:q.meta.dwh?.pageType||``},{key:`pageTitle`,value:`Projekte`}],Y=async()=>{let e=ie.create();await W.setProjekteMeta(e);let t=G.validateUrlParams(new URLSearchParams(q.query));G.setValidStateParams(t),K.calcOffsetByPage(),await Q()};t(Y),w(()=>C({title:`Projekte | BauNetz.de`,description:`Täglich aktuelle Meldungen zur internationalen Architekturszene: Namen, Entscheidungen, Gebäude, Veranstaltungen, Debatten. Immer frisch um halb vier. Mit Newsletter.`,canonical:be.resolve({name:`ProjekteIndex`}).href})),e(async()=>{(!W.projekteMeta||!W.projekteIndex)&&await Y(),J()});async function Ce(){K.prevPage(G.size),await Z(),await G.changeUrlParams(!0)}async function we(){K.nextPage(G.size),await Z(),await G.changeUrlParams(!0)}N(G,K,Z);async function X(){await G.changeUrlParams(),await Z()}async function Z(){if(!W.loading){W.loading=!0;try{await Q(),J()}finally{W.loading=!1}}}async function Q(){try{let e=ue.create();e.from=G.from,e.size=G.size,e.searchTerm=G.query.trim();let t=[`projectStatus`,`buildingProject`,`buildingType`,`furtherUsage`,`architecturalStyleExpression`,`constructionComponents`,`material`,`technology`,`surrounding`,`location`,`country`,`region`,`photographer`,`award`],n=M(G.$state).filter(e=>t.includes(e));e.filter=x.create(),n.forEach(t=>{G[t]!==void 0&&G[t]!==null&&(e.filter[t]=G[t])});let r=new URLSearchParams(q.query);Array.isArray(G.region)&&r.has(`region`)&&de(`region`,G.region,le,e),G.publication&&G.publication.end&&r.has(`publication`)&&(e.filter.publication=b.create(),G.publication.start&&(e.filter.publication.start=G.publication.start),e.filter.publication.end=G.publication.end),G.year&&G.year.min&&G.year.max&&r.has(`year`)&&(e.filter.yearOfCompletion=ce.create(),e.filter.yearOfCompletion.min=G.year.min,e.filter.yearOfCompletion.max=G.year.max),G.area_costs.costs&&G.area_costs.costs.min>=0&&G.area_costs.costs.max>0&&r.has(`area_costs`)&&(e.filter.costs=re.create(),e.filter.costs.min=G.area_costs.costs.min,e.filter.costs.max=G.area_costs.costs.max),G.area_costs.area&&G.area_costs.area.min>=0&&G.area_costs.area.max>0&&r.has(`area_costs`)&&(e.filter.area=se.create(),e.filter.area.min=G.area_costs.area.min,e.filter.area.max=G.area_costs.area.max);let i;W.projekteIndex?i=await v.getProjekteIndex(e):(await W.setProjekteIndex(e),i=W.projekteIndex),i&&W.$patch(e=>{e.projekteIndex?.teasers&&Array.isArray(e.projekteIndex.teasers)&&i?.teasers&&Array.isArray(i?.teasers)&&(e.projekteIndex.teasers=i.teasers),i.filterCounter&&e.projekteIndex&&(e.projekteIndex.filterCounter=i.filterCounter),i.page&&K.setPageByOffsets(i.page)})}catch(e){y.captureException(e)}}let $=c(!1);return k(async()=>{G.isDefault()||(G.reset(),W.projekteIndex=null,await Y())}),(e,t)=>(m(),s(A,{class:`index`},{default:r(()=>[u(`header`,null,[u(`h1`,fe,[t[4]||=p(` Projekte`,-1),u(`sup`,null,ee(d(ne)(d(G).total,`int`)),1)])]),u(`section`,pe,[u(`div`,me,[a(R,{modelValue:d(G).query,"onUpdate:modelValue":t[0]||=e=>d(G).query=e,label:d(_)(`common.projekte`)},null,8,[`modelValue`,`label`]),u(`div`,he,[a(B,{modelValue:$.value,"onUpdate:modelValue":t[1]||=e=>$.value=e,class:`gt-tablet-hide`},null,8,[`modelValue`]),a(z,{modelValue:$.value,"onUpdate:modelValue":t[3]||=e=>$.value=e},{default:r(()=>[a(B,{modelValue:$.value,"onUpdate:modelValue":t[2]||=e=>$.value=e,class:`gt-tablet-hide`},null,8,[`modelValue`]),a(E,null,{default:r(()=>[a(I,{onReset:X,store:d(G),counter:d(W).projekteIndex?.filterCounter},null,8,[`store`,`counter`])]),_:1})]),_:1},8,[`modelValue`]),u(`div`,ge,[a(E,null,{default:r(()=>[a(I,{onReset:X,store:d(G),counter:d(W).projekteIndex?.filterCounter},null,8,[`store`,`counter`])]),_:1})])]),a(E,null,{default:r(()=>[a(F,{sticky:!0,pid:d(U)?`180`:`179`,class:`tablet-hide`},null,8,[`pid`])]),_:1})]),u(`div`,null,[u(`div`,_e,[d(W).projekteIndex?.teasers.length?o(``,!0):(m(),s(V,{key:0,filterStore:d(G)},null,8,[`filterStore`])),(m(!0),i(l,null,n(d(W).projekteIndex?.teasers,(e,t)=>(m(),i(l,{key:e.url},[a(P,{item:e,"image-size":d(oe).LARGE},null,8,[`item`,`image-size`]),t===5?(m(),i(`div`,ve,[a(E,null,{default:r(()=>[a(O,{pid:d(U)?`185`:`184`,iframeSize:!0},null,8,[`pid`])]),_:1})])):o(``,!0),t===10?(m(),s(E,{key:1},{default:r(()=>[a(F,{sticky:!1,pid:d(U)?`180`:`179`,class:`gt-tablet-hide partner-item`},null,8,[`pid`])]),_:1})):o(``,!0)],64))),128))]),d(W).projekteIndex?.teasers.length?(m(),s(H,{key:0,onPrev:Ce,onNext:we,page:d(G).page,"max-page":d(K).calcMaxPage(),loading:d(W).loading},null,8,[`page`,`max-page`,`loading`])):o(``,!0)])])]),_:1}))}});
1export{U 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.