1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5554],{16125:(e,s,t)=>{"use strict";function r(e,s){return Math.round(e*(1+(s||0)/100))}function n(e,s,t,n){return(r(e,s)/100).toLocaleString(n,{style:"currency",currency:t})}function a(e,s){return s?"percent"===s.kind&&s.percent_off?Math.max(0,Math.round(e*(1-s.percent_off/100))):"amount"===s.kind&&s.amount_off_cents?Math.max(0,e-s.amount_off_cents):e:e}function l(e,s){if("percent"===e.kind&&e.percent_off){let t=e.percent_off,r=Number.isInteger(t)?String(t):t.toLocaleString(s);return"â".concat(r," %")}return"amount"===e.kind&&e.amount_off_cents?"â".concat((e.amount_off_cents/100).toLocaleString(s,{style:"currency",currency:e.currency})):"Sale"}t.d(s,{JK:()=>a,at:()=>r,c8:()=>l,q7:()=>n})},18955:(e,s,t)=>{"use strict";t.d(s,{c:()=>a,k:()=>l});var r=t(51567);function n(e,s){return(...e)=>{try{return s(...e)}catch{throw Error(void 0)}}}let a=n(0,r.c3),l=n(0,r.kc)},20063:(e,s,t)=>{"use strict";var r=t(47260);t.o(r,"notFound")&&t.d(s,{notFound:function(){return r.notFound}}),t.o(r,"useParams")&&t.d(s,{useParams:function(){return r.useParams}}),t.o(r,"usePathname")&&t.d(s,{usePathname:function(){return r.usePathname}}),t.o(r,"useRouter")&&t.d(s,{useRouter:function(){return r.useRouter}}),t.o(r,"useSearchParams")&&t.d(s,{useSearchParams:function(){return r.useSearchParams}})},36726:(e,s,t)=>{"use strict";t.d(s,{j:()=>a});var r=t(95155),n=t(16125);function a(e){let{netCents:s,vatRate:t,currency:a,locale:l,promo:c,freeLabel:i}=e;if(0===s)return(0,r.jsx)(r.Fragment,{children:null!=i?i:(0,n.q7)(0,t,a,l)});if(!c)return(0,r.jsx)(r.Fragment,{children:(0,n.q7)(s,t,a,l)});let o=(0,n.JK)(s,c);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"price-was",children:(0,n.q7)(s,t,a,l)})," ",(0,r.jsx)("span",{className:"price-now",children:(0,n.q7)(o,t,a,l)})," ",(0,r.jsx)("span",{className:"promo-badge",children:(0,n.c8)(c,l)})]})}},71583:(e,s,t)=>{Promise.resolve().then(t.t.bind(t,52619,23)),Promise.resolve().then(t.bind(t,91667)),Promise.resolve().then(t.t.bind(t,78225,23))},78225:()=>{},91667:(e,s,t)=>{"use strict";t.d(s,{ShopPlugins:()=>v});var r=t(95155),n=t(12115),a=t(52619),l=t.n(a),c=t(20063),i=t(18955),o=t(36726);function u(e){let{value:s,count:t,ariaLabel:n,className:a}=e;if(t<=0)return(0,r.jsx)("span",{className:"rev-inline rev-none"+(a?" "+a:""),children:n});let l=Math.round(s);return(0,r.jsxs)("span",{className:"rev-inline"+(a?" "+a:""),role:"img","aria-label":n,children:[(0,r.jsx)("span",{className:"rev-stars","aria-hidden":"true",children:[1,2,3,4,5].map(e=>(0,r.jsx)("span",{className:e<=l?"on":"",children:"â
"},e))}),(0,r.jsxs)("span",{className:"rev-inline-num","aria-hidden":"true",children:[s.toFixed(1)," ",(0,r.jsxs)("small",{children:["(",t,")"]})]})]})}function d(e){let{w:s="100%",h:t=12,mb:n}=e;return(0,r.jsx)("span",{className:"sk sk-line",style:{width:s,height:t,marginBottom:n}})}function m(){return(0,r.jsxs)("div",{className:"body",children:[(0,r.jsx)(d,{w:"32%"}),(0,r.jsx)(d,{w:"80%",h:18}),(0,r.jsx)(d,{w:"100%"}),(0,r.jsx)(d,{w:"58%"})]})}function h(e){let{count:s=6}=e;return(0,r.jsx)("div",{className:"container",children:(0,r.jsx)("div",{className:"plugins sk-grid",children:Array.from({length:s}).map((e,s)=>(0,r.jsxs)("div",{className:"plugin",children:[(0,r.jsx)("div",{className:"art",children:(0,r.jsx)("div",{className:"sk sk-art"})}),(0,r.jsx)(m,{})]},s))})})}function p(e){var s;if(null==(s=e.variants)?void 0:s.length)return e.variants.reduce((e,s)=>e.price_cents<s.price_cents?e:s)}let x=[{key:"popular",labelKey:"sortPopular"},{key:"price-asc",labelKey:"sortPriceAsc"},{key:"price-desc",labelKey:"sortPriceDesc"},{key:"name",labelKey:"sortName"}];function v(e){let{plugins:s,locale:t,initialCat:a=null,initialSortKey:d="popular",initialQuery:m=""}=e,v=(0,i.c)("shop"),f=(0,c.useRouter)(),j=(0,c.usePathname)(),g=Math.max(0,x.findIndex(e=>e.key===d)),[N,y]=(0,n.useState)(a),[_,b]=(0,n.useState)(g),[k,w]=(0,n.useState)(m),[P,S]=(0,n.useState)(m),[C,E]=(0,n.useState)(!1),[L,F]=(0,n.useState)(!1),R=(0,n.useRef)(null),A=(0,n.useRef)(!0);(0,n.useEffect)(()=>
1{if(A.current){A.current=!1;return}E(!0);let e=setTimeout(()=>{S(k),E(!1);let e=new URLSearchParams;N&&e.set("cat",N),_>0&&e.set("sort",x[_].key);let s=k.trim();s&&e.set("q",s);let t=e.toString();f.replace(t?"".concat(j,"?").concat(t):j,{scroll:!1})},280);return()=>clearTimeout(e)},[N,_,k]),(0,n.useEffect)(()=>{if(!L)return;let e=e=>{R.current&&!R.current.contains(e.target)&&F(!1)},s=e=>{"Escape"===e.key&&F(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",s),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",s)}},[L]);let K=(0,n.useMemo)(()=>{let e=e=>s.filter(s=>s.category_slug===e).length;return[{name:v("list.catAll"),slug:null,ct:s.length},{name:"WordPress",slug:"wordpress",ct:e("wordpress")},{name:"WooCommerce",slug:"woocommerce",ct:e("woocommerce")},{name:"TYPO3",slug:"typo3",ct:e("typo3")},{name:"KI & AI",slug:"ki",ct:e("ki")},{name:"SaaS",slug:"saas",ct:e("saas")}]},[s,v]),M=e=>{var s,r,n;return null!=(n=null==(r=e.translations)||null==(s=r.find(e=>e.locale===t))?void 0:s.name)?n:""},q=(0,n.useMemo)(()=>{let e=P.trim().toLowerCase(),r=s.filter(s=>{var r,n,a;if(N&&s.category_slug!==N)return!1;if(!e)return!0;let l=null==(r=s.translations)?void 0:r.find(e=>e.locale===t);return"".concat(null!=(n=null==l?void 0:l.name)?n:""," ").concat(null!=(a=null==l?void 0:l.tagline)?a:"").toLowerCase().includes(e)}),n=e=>{var s,t;return null!=(t=null==(s=p(e))?void 0:s.price_cents)?t:Number.MAX_SAFE_INTEGER};switch(x[_].key){case"price-asc":r.sort((e,s)=>n(e)-n(s));break;case"price-desc":r.sort((e,s)=>n(s)-n(e));break;case"name":r.sort((e,s)=>M(e).localeCompare(M(s),t));break;default:r.sort((e,s)=>Number(s.is_featured)-Number(e.is_featured)||e.sort_order-s.sort_order)}return r},[s,N,_,t,P]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"container",children:[(0,r.jsx)("p",{className:"sr-only",role:"status","aria-live":"polite",children:v("list.resultsCount",{n:q.length})}),(0,r.jsxs)("div",{className:"chips",children:[(0,r.jsx)("div",{className:"chip-search",children:(0,r.jsx)("input",{type:"search","aria-label":v("list.searchAria"),placeholder:v("list.searchPlaceholder"),value:k,onChange:e=>w(e.target.value)})}),(0,r.jsx)("div",{className:"chip-cats",children:K.map(e=>(0,r.jsxs)("button",{className:"chip "+(N===e.slug?"active":""),type:"button",disabled:0===e.ct,"aria-pressed":N===e.slug,onClick:()=>y(e.slug),children:[e.name," ",(0,r.jsx)("span",{className:"ct",children:e.ct})]},e.name))}),(0,r.jsx)("span",{className:"chip-divider"}),(0,r.jsxs)("div",{className:"chip-sort",ref:R,children:[(0,r.jsxs)("button",{type:"button",className:"chip chip-sort-btn"+(L?" open":""),"aria-haspopup":"listbox","aria-expanded":L,onClick:()=>F(e=>!e),children:[(0,r.jsx)("span",{className:"chip-select-label",children:v("list.sortLabel")}),v("list.".concat(x[_].labelKey)),(0,r.jsx)("span",{className:"chip-caret","aria-hidden":"true",children:"â¾"})]}),L&&(0,r.jsx)("div",{className:"chip-sort-menu",role:"listbox","aria-label":v("list.sortAria"),children:x.map((e,s)=>(0,r.jsxs)("button",{type:"button",role:"option","aria-selected":s===_,className:"chip-sort-opt"+(s===_?" active":""),onClick:()=>{b(s),F(!1)},children:[v("list.".concat(e.labelKey)),s===_&&(0,r.jsx)("span",{"aria-hidden":"true",className:"chip-sort-check",children:"â"})]},e.key))})]})]})]}),C?(0,r.jsx)(h,{count:6}):(0,r.jsx)("div",{className:"container",children:0===q.length?(0,r.jsxs)("div",{className:"shop-empty",children:[(0,r.jsx)("p",{className:"mono text-text-3",children:k.trim()?v("list.emptyQuery",{q:k.trim()}):v("list.emptyCategory")}),(0,r.jsx)("button",{type:"button",className:"btn btn-secondary",onClick:()=>{y(null),w(""),b(0)},children:v("list.reset")})]}):(0,r.jsx)("div",{className:"plugins",children:q.map(e=>{var s,n,a,c,i,d,m;let h=null==(s=e.translations)?void 0:s.find(e=>e.locale===t);if(!h)return null;let x=p(e);return(0,r.jsxs)(l(),{href:"/".concat(t,"/shop/").concat(h.slug),className:"plugin",children:[(0,r.jsx)("div",{className:"art","data-cat":null!=(n=e.category_slug)?n:"",children:e.preview_image_url?(0,r.jsx)("img",{className:"art-img",src:e.preview_image_url,alt:"","aria-hidden":"true",loading:"lazy"}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"stripes"}),(0,r.jsx)("div",{className:"glyph",children:h.name.split(/\s+/).filter(
1Boolean).slice(0,2).map(e=>e[0]).join("").toUpperCase()})]})}),(0,r.jsxs)("div",{className:"body",children:[(0,r.jsx)("span",{className:"platform",children:null!=(a=e.category_name)?a:e.product_type}),(0,r.jsx)("div",{className:"name",children:h.name}),(0,r.jsx)(u,{value:null!=(c=e.rating_value)?c:0,count:null!=(i=e.review_count)?i:0,ariaLabel:v("list.ratingAria",{count:null!=(d=e.review_count)?d:0})}),h.tagline&&(0,r.jsx)("p",{className:"desc",children:h.tagline}),x&&x.price_cents>0&&(0,r.jsxs)("span",{className:"trust",children:[v("list.trustRefund"),x.domain_limit?" \xb7 ".concat(v("list.perDomain")):""]}),(0,r.jsxs)("div",{className:"foot",children:[x&&(0,r.jsxs)("span",{className:"price",children:[(0,r.jsx)(o.j,{netCents:x.price_cents,vatRate:x.vat_rate,currency:x.currency,locale:t,promo:e.active_promo,freeLabel:v("list.free")}),x.price_cents>0&&x.billing_interval&&(0,r.jsxs)("small",{children:[" ",(m=x.billing_interval)?"month"===m?v("list.per_month"):"year"===m?v("list.per_year"):"/ ".concat(m):null]}),x.price_cents>0&&(0,r.jsxs)("small",{children:[" ",v("list.incl_vat")]})]}),(0,r.jsxs)("span",{className:"arr",children:[x&&x.price_cents>0?v("list.buy"):v("list.details")," ","â"]})]})]})]},e.id)})})})]})}}},e=>{e.O(0,[1766,2619,1567,8441,1255,7358],()=>e(e.s=71583)),_N_E=e.O()}]);
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.