PageSourceSearch

https://www.wismet.de/assets/AdminFilterAbo-BJyXUD-S.js

js wismet.de collected 2026-10-05 11:32:59 UTC 305,477 bytes, 64 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-wc8MInkF.js","assets/vendor-react-CrwgKSeJ.js","assets/vendor-i18n-DRg_G8xB.js","assets/vendor-radix-BjgufaYv.js","assets/vendor-icons-BXG2_dGS.js","assets/vendor-query-DP-ZHv3p.js","assets/vendor-motion-Bz2s8RHS.js","assets/vendor-date-BLqPuCBd.js","assets/vendor-supabase-Bb_GBHrA.js","assets/index-C9F6BxmT.css"])))=>i.map(i=>d[i]);
2import{r as m,j as e,e as Se,L as je,g as En,f as ja,d as va}from"./vendor-react-CrwgKSeJ.js";import{s as me,k as Z,bf as Le,aQ as we,cW as _n,bO as Na,bP as ka,bQ as wa,B as J,aa as Lr,Y as Ln,b0 as Ze,b1 as tt,b3 as ht,r as Pr,t as Ws,q as Ir,ef as Zt,i as Ye,L as nt,l as $t,by as Gs,cO as ya,cP as Sa,cQ as za,C as Be,hs as Aa,ht as Ca,hu as Ea,b6 as _a,u as qe,I as Qe,aS as Ns,aT as ks,aU as ws,aV as ys,aW as Ss,aj as Ks,en as La,cL as xt,d as Pa,e as Ia,g as Fa,aX as ss,bm as wr,_ as Da,h3 as Ta,ak as $a,h1 as Ba,h2 as Ma,h4 as Ha,bT as Ra,hv as Oa,a_ as Pn,hw as zs,gf as Va,hx as Wa,h5 as Ga,hy as Ka,bH as Ua,f4 as Za,cX as As,eQ as qa,hz as Ja,e1 as Ya,bg as pt,bC as Qa,ee as Xa,g_ as ei,bh as ti,fJ as ri,hA as si,eE as ni,hB as ai,g4 as ii,gq as li,hC as an,hD as oi,ac as In,hE as ln,bF as ci,j as br,a as Us,S as di,m as mr,hF as mi,hG as ui,hH as hi,aY as xi,cB as gi,dZ as pi,cC as fi,cD as bi,cE as ji,cF as vi,cG as Ni,cH as ki,cI as wi}from"./index-wc8MInkF.js";import{Q as Rt}from"./PartnershopTest-BspRTC8S.js";import{L as Je,S as ft,by as ns,T as Dt,ab as as,a8 as jr,m as ye,n as Pe,aR as is,cS as Cs,bg as ls,bh as os,ba as cs,a2 as bt,b_ as yi,k as Si,al as zi,j as jt,ax as Fr,an as Ai,b7 as Ci,au as yr,U as Sr,C as Me,l as He,h as zr,p as Es,bd as on,f as vt,aY as Fn,G as Ei,b9 as _s,a0 as _i,W as Ot,v as Li,er as Pi,z as Dn,_ as Vt,dQ as Ii,b2 as Fi,g as at,A as rt,bi as Ls,r as Di,q as Bt,e as cn,t as Tn,bL as Ti,aa as dn,Z as mn,E as Ar,X as Ps,P as $i,a4 as qt,bB as Tt,F as Cr,aN as Wt,cb as ds,Q as un,O as Is,cm as Fs,aP as Bi,B as Er,c_ as Mi,cF as Zs,aU as Hi,bH as $n,es as Ri,ay as Oi,et as Vi,eu as Wi,cc as ms,a_ as hn,ca as Gi,a1 as Ki,bC as Ui,bJ as Zi,Y as Bn,V as Mn,a5 as qi,ad as Ji}from"./vendor-icons-BXG2_dGS.js";import{t as Yi,c as Qi}from"./Rueckgabebedingungen-LA0NluJV.js";import{A as Ds,i as Xi,g as el,p as tl}from"./GruppenfreistellungTipps-CYZp0J2X.js";import{u as Xe}from"./vendor-query-DP-ZHv3p.js";import{T as Gt,a as st,b as W,c as de}from"./paypalClientContext-D2DIPd7c.js";import{t as Hn,v as rl,w as sl,x as nl,y as al}from"./vendor-radix-BjgufaYv.js";import{F as Rn}from"./CustomerQuotes-N-pC6vo0.js";import{K as il}from"./InnenraumfilterMedien-qWYPwbN9.js";import{m as ll}from"./vendor-motion-Bz2s8RHS.js";const dt=t=>new Intl.NumberFormat("de-DE",{style:"currency",currency:"EUR"}).format(t);function ol({articleNumber:t}){const[r,s]=m.useState([]),[n,a]=m.useState(null),[d,u]=m.useState(!0),[c,x]=m.useState(null),[f,h]=m.useState(!1),[v,y]=m.useState({key:"price",dir:"asc"});m.useEffect(()=>{let l=!1;const p=String(t||"").trim();if(!p){s([]),a(null),x(null),u(!1);return}return u(!0),x(null),(async()=>{try{const{data:j,error:S}=await me.functions.invoke("admin-article-ek",{body:{article_number:p}});if(l)return;if(S)throw S;s((j==null?void 0:j.rows)??[]),a((j==null?void 0:j.recommended_index)??null)}catch(j){l||x((j==null?void 0:j.message)||"Unbekannter Fehler")}finally{l||u(!1)}})(),()=>{l=!0}},[t]);const o=n!=null?r[n]:null,N=r.find(l=>l.ist_haupt_lieferant)||null,w=!!N&&(N.ek>0||N.sonderpreis>0),k=!!(N&&o&&N.lieferanten_nr===o.lieferanten_nr),b=m.useMemo(()=>{const l=r.map((j,S)=>({r:j,i:S})).filter(({r:j})=>f?!j.gesperrt:!0),p=v.dir==="asc"?1:-1;return l.sort((j,S)=>{switch(v.key){case"price":{const T=j.r.effective_price,$=S.r.effective_price,C=T==null||T<=0,E=$==null||$<=0;return C&&!E?-1*p:!C&&E?1*p:p*((T||0)-($||0))}case"name":return p*j.r.lieferantenname.localeCompare(S.r.lieferantenname,"de");case"nr":return p*j.r.lieferanten_nr.localeCompare(S.r.lieferanten_nr,"de");case"rec":default:{const T=j.i===n?0:1,$=S.i===n?0:1;if(T!==$)return p*(T-$);const C=j.r.ist_haupt_lieferant?0:1,E=S.r.ist_haupt_lieferant?0:1;if(C!==E)return p*(C-E);const _=j.r.gesperrt?1:0,q=S.r.gesperrt?1:0;return _!==q?p*(_-q):p*((j.r.effective_price||1/0)-(S.r.effective_price||1/0))}}}),l},[r,v,f,n]);
2return d?e.jsxs("div",{className:"flex items-center justify-center py-12 text-violet-700",children:[e.jsx(Je,{className:"h-5 w-5 animate-spin mr-2"}),"Lade Einkaufspreise…"]}):c?e.jsxs("div",{className:"rounded-lg border border-destructive/40 bg-destructive/5 p-4 text-sm text-destructive",children:["Fehler beim Laden: ",c]}):r.length?e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-dashed border-violet-300 bg-violet-50/60 dark:bg-violet-950/30 px-3 py-2 text-xs text-violet-800 dark:text-violet-200",children:[e.jsx(ft,{className:"h-4 w-4 mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("strong",{children:"Nur für Admins sichtbar."})," Diese EK-Daten dürfen weder in Kundenansichten, Mails, Exports noch in den Warenkorb übernommen werden."]})]}),N?e.jsxs("div",{className:"rounded-xl border-2 border-amber-500 bg-amber-100 dark:bg-amber-950/40 p-4 shadow-md",children:[e.jsxs("div",{className:"flex items-center flex-wrap gap-2 mb-2",children:[e.jsx(ns,{className:"h-6 w-6 text-amber-700 shrink-0"}),e.jsx("div",{className:"text-lg font-bold text-amber-900 dark:text-amber-200",children:"Hauptlieferant"}),e.jsx(Z,{className:"bg-amber-600 text-white border-amber-600 text-[11px]",children:"WaWi-HL"}),!w&&e.jsxs(Z,{variant:"outline",className:"border-red-400 text-red-700 bg-red-50 text-[11px]",children:[e.jsx(Dt,{className:"h-3 w-3 mr-1"}),"EK-Preis fehlt"]})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3 text-sm",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-muted-foreground text-xs",children:"Lieferant"}),e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("div",{className:"font-bold text-amber-900 dark:text-amber-100",children:N.lieferantenname||"—"}),N.gesperrt&&e.jsx(as,{className:"h-4 w-4 text-red-500 shrink-0"}),e.jsx(Le,{mftLogo:N.mft_logo,manufacturer:null,className:"h-5 w-auto max-w-[70px]",ignoreHidden:!0})]}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["#",N.lieferanten_nr]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-muted-foreground text-xs",children:"EK"}),e.jsx("div",{className:we("text-lg font-bold",w?"text-amber-800 dark:text-amber-200":"text-red-600 dark:text-red-300 line-through decoration-red-400"),children:w?dt(N.effective_price):"—"}),w&&N.sonderpreis>0&&e.jsx("div",{className:"text-xs text-muted-foreground line-through",children:dt(N.ek)})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-muted-foreground text-xs",children:"Lief.-ArtNr"}),e.jsx("div",{className:"font-mono text-xs",children:N.lieferanten_art_nr_1||"—"}),N.lieferanten_art_nr_2&&e.jsx("div",{className:"font-mono text-[11px] text-muted-foreground",children:N.lieferanten_art_nr_2})]}),e.jsxs("div",{className:"flex flex-wrap gap-1.5 content-start",children:[N.has_min_qty_warning&&e.jsxs(Z,{variant:"outline",className:"border-amber-400 text-amber-700 bg-amber-50",children:[e.jsx(jr,{className:"h-3 w-3 mr-1"})," ab ",N.ab_menge]}),N.has_pack_warning&&e.jsxs(Z,{variant:"outline",className:"border-amber-400 text-amber-700 bg-amber-50",children:[e.jsx(ye,{className:"h-3 w-3 mr-1"})," VPE ",N.verpackung]}),!N.has_min_qty_warning&&!N.has_pack_warning&&e.jsxs(Z,{variant:"outline",className:"border-emerald-400 text-emerald-700 bg-emerald-50",children:[e.jsx(Pe,{className:"h-3 w-3 mr-1"})," Einzeln bestellbar"]})]})]})]}):e.jsxs("div",{className:"rounded-xl border border-amber-300 bg-amber-50/70 dark:bg-amber-950/30 p-4 text-sm text-amber-800 dark:text-amber-300 flex items-start gap-2",children:[e.jsx(Dt,{className:"h-5 w-5 shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("strong",{children:"Kein Hauptlieferant hinterlegt."})," In der WaWi ist für diesen Artikel kein Lieferant als Hauptlieferant markiert. Bitte Tabelle prüfen."]})]}),o&&!k&&e.jsxs("div",{className:"rounded-lg border-2 border-red-400 bg-red-50 dark:bg-red-950/30 p-3 text-sm text-red-800 dark:text-red-200 flex items-start gap-2 shadow-sm",children:[e.jsx(Dt,{className:"h-5 w-5 shrink-0 mt-0.5 text-red-600"}),e.jsxs("div",{children:[e.jsx("strong",{className:"block mb-0.5",children:"Empfehlung weicht vom Hauptlieferanten ab"}),N?`Der Hauptlieferant „${N.lieferantenname}“ hat keinen gültigen EK-Preis oder ist gesperrt. Daher wird „${o.lieferantenname}“ als aktive Empfehlung angezeigt.`:`Es ist kein Hauptlieferant in der WaWi hinterlegt. „${o.lieferantenname}“ wird deshalb als aktive Empfehlung angezeigt.`]})]}),o&&!k&&e.jsxs("div",{className:"rounded-lg border border-slate-300 bg-slate-50 dark:bg-slate-900/40 p-3 text-sm",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(is,{className:"h-4 w-4 text-slate-500 fill-slate-500"}),e.jsx("div",{className:"font-semibold text-slate-700 dark:text-slate-300",children:"Empfehlung"}),o.ist_haupt_lieferant&&e.jsx(Z,{variant:"outline",className:"bg-slate-100 text-slate-600 border-slate-300 text-[11px]",children:"HL"})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-muted-foreground text-xs",children:"Lieferant"}),e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("div",{className:"font-medium text-slate-800 dark:text-slate-200",children:o.lieferantenname||"—"}),o.gesperrt&&e.jsx(as,{className:"h-4 w-4 text-red-500 shrink-0"}),e.jsx(Le,{mftLogo:o.mft_logo,manufacturer:null,className:"h-5 w-auto max-w-[70px]",ignoreHidden:!0})]}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:["#",o.lieferanten_nr]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-muted-foreground text-xs",children:"EK"}),e.jsx("div",{className:"text-base font-bold text-slate-700 dark:text-slate-300",children:dt(o.effective_price)}),o.sonderpreis>0&&e.jsx("div",{className:"text-xs text-muted-foreground line-through",children:dt(o.ek)})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-muted-foreground text-xs",children:"Lief.-ArtNr"}),e.jsx("div",{className:"font-mono text-xs",children:o.lieferanten_art_nr_1||"—"}),o.lieferanten_art_nr_2&&e.jsx("div",{className:"font-mono text-[11px] text-muted-foreground",children:o.lieferanten_art_nr_2})]}),e.jsxs("div",{className:"flex flex-wrap gap-1.5 content-start",children:[o.has_min_qty_warning&&e.jsxs(Z,{variant:"outline",className:"border-amber-400 text-amber-700 bg-amber-50",children:[e.jsx(jr,{className:"h-3 w-3 mr-1"})," ab ",o.ab_menge]}),o.has_pack_warning&&e.jsxs(Z,{variant:"outline",className:"border-amber-400 text-amber-700 bg-amber-50",children:[e.jsx(ye,{className:"h-3 w-3 mr-1"})," VPE ",o.verpackung]}
2),!o.has_min_qty_warning&&!o.has_pack_warning&&e.jsxs(Z,{variant:"outline",className:"border-emerald-400 text-emerald-700 bg-emerald-50",children:[e.jsx(Pe,{className:"h-3 w-3 mr-1"})," Einzeln bestellbar"]})]})]})]}),!o&&e.jsxs("div",{className:"rounded-xl border border-amber-300 bg-amber-50/70 dark:bg-amber-950/30 p-4 text-sm text-amber-800 dark:text-amber-300 flex items-start gap-2",children:[e.jsx(Dt,{className:"h-5 w-5 shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("strong",{children:"Keine eindeutige Empfehlung."})," Kein Lieferant erfüllt alle Kriterien (nicht gesperrt, Preis > 0, einzeln bestellbar). Bitte Tabelle prüfen."]})]}),e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx(Cs,{className:"h-4 w-4 text-violet-600"}),r.length," Lieferant",r.length===1?"":"en"," hinterlegt"]}),e.jsxs("label",{className:"flex items-center gap-1.5 text-xs cursor-pointer select-none",children:[e.jsx("input",{type:"checkbox",checked:f,onChange:l=>h(l.target.checked),className:"accent-violet-600"}),"Gesperrte ausblenden"]})]}),e.jsx("div",{className:"rounded-lg border border-violet-200 dark:border-violet-800 overflow-hidden",children:e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{className:"bg-violet-50 dark:bg-violet-950/40 text-violet-900 dark:text-violet-200 text-xs uppercase tracking-wide",children:e.jsxs("tr",{children:[e.jsx("th",{className:"px-3 py-2 text-left cursor-pointer select-none hover:bg-violet-100 dark:hover:bg-violet-900/60 transition-colors",onClick:()=>y(l=>({key:"name",dir:l.key==="name"&&l.dir==="asc"?"desc":"asc"})),children:e.jsxs("span",{className:"inline-flex items-center gap-1",children:["Lieferant",v.key==="name"?v.dir==="asc"?e.jsx(ls,{className:"h-3 w-3"}):e.jsx(os,{className:"h-3 w-3"}):e.jsx(cs,{className:"h-3 w-3 opacity-40"})]})}),e.jsx("th",{className:"px-2 py-2 text-center w-[80px]",children:"Logo"}),e.jsx("th",{className:"px-3 py-2 text-left cursor-pointer select-none hover:bg-violet-100 dark:hover:bg-violet-900/60 transition-colors",onClick:()=>y(l=>({key:"nr",dir:l.key==="nr"&&l.dir==="asc"?"desc":"asc"})),children:e.jsxs("span",{className:"inline-flex items-center gap-1",children:["Lief.-ArtNr",v.key==="nr"?v.dir==="asc"?e.jsx(ls,{className:"h-3 w-3"}):e.jsx(os,{className:"h-3 w-3"}):e.jsx(cs,{className:"h-3 w-3 opacity-40"})]})}),e.jsx("th",{className:"px-3 py-2 text-right cursor-pointer select-none hover:bg-violet-100 dark:hover:bg-violet-900/60 transition-colors",onClick:()=>y(l=>({key:"price",dir:l.key==="price"&&l.dir==="asc"?"desc":"asc"})),children:e.jsxs("span",{className:"inline-flex items-center gap-1 justify-end w-full",children:["EK",v.key==="price"?v.dir==="asc"?e.jsx(ls,{className:"h-3 w-3"}):e.jsx(os,{className:"h-3 w-3"}):e.jsx(cs,{className:"h-3 w-3 opacity-40"})]})}),e.jsx("th",{className:"px-3 py-2 text-center",children:"Mengen"}),e.jsx("th",{className:"px-3 py-2 text-center",children:"Status"})]})}),e.jsx("tbody",{children:b.map(({r:l,i:p})=>{const j=p===n,S=l.ist_haupt_lieferant;return e.jsxs("tr",{className:we("border-t border-violet-100 dark:border-violet-900/50",S&&"bg-amber-100 dark:bg-amber-950/40 border-l-8 border-l-amber-600",!S&&j&&"bg-emerald-50/60 dark:bg-emerald-950/20 border-l-4 border-l-emerald-500",l.gesperrt&&"opacity-80"),children:[e.jsx("td",{className:"px-3 py-2 align-top",children:e.jsxs("div",{className:"flex items-center gap-2",children:[S&&e.jsx(ns,{className:"h-5 w-5 text-amber-700 shrink-0"}),!S&&j&&e.jsx(is,{className:"h-5 w-5 text-emerald-700 shrink-0 fill-emerald-700"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:we("font-bold leading-tight truncate",S&&"text-amber-900 dark:text-amber-200"),children:l.lieferantenname||"—"}),e.jsxs("div",{className:"text-[11px] text-muted-foreground",children:["#",l.lieferanten_nr]})]})]})}),e.jsx("td",{className:"px-2 py-2 align-middle text-center",children:e.jsx(Le,{mftLogo:l.mft_logo,manufacturer:null,className:"h-5 w-auto max-w-[70px] mx-auto",ignoreHidden:!0})}),e.jsxs("td",{className:"px-3 py-2 align-top",children:[e.jsx("div",{className:"font-mono text-xs",children:l.lieferanten_art_nr_1||"—"}),l.lieferanten_art_nr_2&&e.jsx("div",{className:"font-mono text-[11px] text-muted-foreground",children:l.lieferanten_art_nr_2})]}),e.jsxs("td",{className:"px-3 py-2 align-top text-right",children:[e.jsx("div",{className:we("font-semibold",j?"text-emerald-700":""),children:l.effective_price>0?dt(l.effective_price):"—"}),l.sonderpreis>0&&l.ek>0&&e.jsx("div",{className:"text-[11px] text-muted-foreground line-through",children:dt(l.ek)}),l.preis_datum&&e.jsx("div",{className:"text-[10px] text-muted-foreground",children:String(l.preis_datum).slice(0,10)})]}),e.jsx("td",{className:"px-3 py-2 align-top text-center",children:e.jsxs("div",{className:"inline-flex flex-col gap-1 items-center text-[11px]",children:[e.jsxs("span",{className:we("inl
2ine-flex items-center gap-1",l.has_min_qty_warning?"text-amber-700":"text-muted-foreground"),children:[e.jsx(jr,{className:"h-3 w-3"})," ab ",l.ab_menge||1]}),e.jsxs("span",{className:we("inline-flex items-center gap-1",l.has_pack_warning?"text-amber-700":"text-muted-foreground"),children:[e.jsx(ye,{className:"h-3 w-3"})," VPE ",l.verpackung||1]})]})}),e.jsx("td",{className:"px-3 py-2 align-top text-center",children:l.gesperrt?(()=>{const T=l.gesperrt_username||(l.gesperrt_user_id?`User #${l.gesperrt_user_id}`:null);let $=null;if(l.gesperrt_datum){const q=new Date(l.gesperrt_datum);$=isNaN(q.getTime())?String(l.gesperrt_datum):q.toLocaleDateString("de-DE")}const C=l.gesperrt_grund,E=!!(T||$||C),_=e.jsxs(Z,{variant:"outline",className:we("border-red-400 text-red-700 bg-red-50 gap-1",E&&"cursor-help"),children:[e.jsx(as,{className:"h-3 w-3"})," Gesperrt",E&&e.jsx(bt,{className:"h-3 w-3 opacity-80"})]});return e.jsx("div",{className:"flex flex-col items-center gap-1",children:E?e.jsx(_n,{delayDuration:100,children:e.jsxs(Na,{children:[e.jsx(ka,{asChild:!0,children:e.jsx("span",{children:_})}),e.jsxs(wa,{side:"left",className:"max-w-xs text-xs leading-relaxed",children:[e.jsx("div",{className:"font-semibold text-red-700 mb-1",children:"Artikel gesperrt"}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Von:"})," ",e.jsx("strong",{children:T??"unbekannt"})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-muted-foreground",children:"Am:"})," ",e.jsx("strong",{children:$??"unbekannt"})]}),e.jsxs("div",{className:"mt-1",children:[e.jsx("span",{className:"text-muted-foreground",children:"Grund:"})," ",e.jsx("strong",{children:C??"kein Grund angegeben"})]})]})]})}):_})})():l.ist_haupt_lieferant?e.jsxs(Z,{variant:"outline",className:"border-amber-500 text-amber-800 bg-amber-100",children:[e.jsx(ns,{className:"h-3.5 w-3.5 mr-1 text-amber-700"})," Hauptlieferant"]}):j?e.jsxs(Z,{variant:"outline",className:"border-emerald-400 text-emerald-700 bg-emerald-50",children:[e.jsx(is,{className:"h-3.5 w-3.5 mr-1 fill-emerald-600"})," Empfehlung"]}):e.jsx(Z,{variant:"outline",className:"border-slate-300 text-slate-600 bg-slate-50",children:"Alternativ"})})]},`${l.lieferanten_nr}-${p}`)})})]})})})]}):e.jsxs("div",{className:"rounded-lg border border-dashed border-violet-300 bg-violet-50/40 p-6 text-center text-sm text-violet-700",children:["Für ",e.jsx("strong",{children:t})," sind keine EK-Daten in ",e.jsx("code",{children:"preisliste_abmessungen_einkauf"})," hinterlegt."]})}const Ts=({icon:t,title:r,description:s,hint:n})=>e.jsxs("div",{className:"flex flex-col items-center justify-center py-10 px-4 text-center",children:[e.jsx("div",{className:"flex h-16 w-16 items-center justify-center rounded-2xl bg-muted/60 text-muted-foreground/50 mb-4",children:t}),e.jsx("h4",{className:"text-sm font-semibold text-foreground mb-1",children:r}),e.jsx("p",{className:"text-xs text-muted-foreground max-w-xs leading-relaxed",children:s}),n&&e.jsx("p",{className:"text-[10px] text-muted-foreground/60 mt-3 italic",children:n})]}),On=m.forwardRef(({className:t,...r},s)=>e.jsxs(Hn,{ref:s,className:we("relative flex w-full touch-none select-none items-center",t),...r,children:[e.jsx(rl,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary",children:e.jsx(sl,{className:"absolute h-full bg-primary"})}),e.jsx(nl,{className:"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"})]}));On.displayName=Hn.displayName;const mt=1,ur=5,hr=.3,cl=({src:t,alt:r,className:s})=>{const[n,a]=m.useState(1),[d,u]=m.useState({x:0,y:0}),[c,x]=m.useState(!1),f=m.useRef({x:0,y:0,panX:0,panY:0}),h=p=>Math.min(ur,Math.max(mt,p)),v=m.useCallback(()=>{a(1),u({x:0,y:0})},[]);m.useEffect(()=>{v()},[t,v]);const y=m.useCallback(p=>{p.preventDefault(),p.stopPropagation(),a(j=>h(j+(p.deltaY<0?hr:-hr)))},[]),o=m.useCallback(p=>{n<=1||(p.preventDefault(),x(!0),f.current={x:p.clientX,y:p.clientY,panX:d.x,panY:d.y})},[n,d]),N=m.useCallback(p=>{c&&u({x:f.current.panX+(p.clientX-f.current.x),y:f.current.panY+(p.clientY-f.current.y)})},[c]),w=m.useCallback(()=>x(!1),[]),k=m.useCallback(p=>{if(n<=1||p.touches.length!==1)return;const j=p.touches[0];x(!0),f.current={x:j.clientX,y:j.clientY,panX:d.x,panY:d.y}},[n,d]),b=m.useCallback(p=>{if(!c||p.touches.length!==1)return;const j=p.touches[0];u({x:f.current.panX+(j.clientX-f.current.x),y:f.current.panY+(j.clientY-f.current.y)})},[c]);m.useEffect(()=>{n<=1&&u({x:0,y:0})},[n]);const l=Math.round((n-mt)/(ur-mt)*100);return e.jsxs("div",{className:`flex flex-col items-center gap-2 w-full ${s||""}`,children:[e.jsx("div",{className:"relative w-full overflow-hidden rounded-lg select-none bg-muted/20",style:{height:"calc(85vh - 80px)",cursor:n>
21?c?"grabbing":"grab":"zoom-in"},onWheel:y,onMouseDown:o,onMouseMove:N,onMouseUp:w,onMouseLeave:w,onTouchStart:k,onTouchMove:b,onTouchEnd:w,onClick:()=>{n<=1&&a(2)},children:e.jsx("img",{src:t,alt:r,draggable:!1,className:"absolute inset-0 w-full h-full object-contain transition-transform duration-150 ease-out",style:{transform:`scale(${n}) translate(${d.x/n}px, ${d.y/n}px)`,imageRendering:n>=3?"pixelated":"auto"}})}),e.jsxs("div",{className:"flex items-center gap-2 bg-background/90 backdrop-blur-sm rounded-full px-3 py-1.5 border border-border shadow-lg",children:[e.jsx(J,{variant:"ghost",size:"icon",className:"h-7 w-7 rounded-full",onClick:()=>a(p=>h(p-hr)),disabled:n<=mt,children:e.jsx(yi,{className:"h-4 w-4"})}),e.jsx(On,{value:[l],onValueChange:([p])=>a(mt+p/100*(ur-mt)),min:0,max:100,step:1,className:"w-32"}),e.jsx(J,{variant:"ghost",size:"icon",className:"h-7 w-7 rounded-full",onClick:()=>a(p=>h(p+hr)),disabled:n>=ur,children:e.jsx(Si,{className:"h-4 w-4"})}),e.jsxs("span",{className:"text-[10px] text-muted-foreground w-8 text-center font-mono",children:[Math.round(n*100),"%"]}),n>1&&e.jsx(J,{variant:"ghost",size:"icon",className:"h-7 w-7 rounded-full",onClick:v,children:e.jsx(zi,{className:"h-3.5 w-3.5"})})]})]})},Vn=({articleNumber:t,className:r})=>{const[s,n]=m.useState(!1),a=async d=>{var u;d.stopPropagation(),d.preventDefault();try{if((u=navigator.clipboard)!=null&&u.writeText)await navigator.clipboard.writeText(t);else throw new Error("Clipboard API unavailable")}catch{const c=document.createElement("textarea");c.value=t,c.setAttribute("readonly",""),c.style.position="fixed",c.style.left="-9999px",document.body.appendChild(c),c.select(),document.execCommand("copy"),document.body.removeChild(c)}finally{n(!0),setTimeout(()=>n(!1),1500)}};return e.jsx("button",{type:"button",onClick:a,title:s?"Kopiert!":`${t} kopieren`,"aria-label":s?"Kopiert":`${t} kopieren`,className:we("inline-flex items-center justify-center h-5 w-5 rounded hover:bg-muted transition-colors shrink-0",r),children:s?e.jsx(jt,{className:"h-3 w-3 text-emerald-600"}):e.jsx(Fr,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})},dl=({articleNumber:t,className:r})=>{const{isAdmin:s}=Lr(),[n,a]=m.useState(!1);if(!s)return null;const d=u=>{u.stopPropagation(),u.preventDefault();const c=`${window.location.origin}/artikel/${t}`;navigator.clipboard.writeText(c).then(()=>{a(!0),setTimeout(()=>a(!1),1500)})};return e.jsx("button",{onClick:d,title:n?"Link kopiert!":`Link zu ${t} kopieren`,className:`inline-flex items-center justify-center h-5 w-5 rounded hover:bg-muted transition-colors shrink-0 ${r||""}`,children:n?e.jsx(jt,{className:"h-3 w-3 text-emerald-600"}):e.jsx(Ai,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})},ml="wlxniolwgjapqrebsyjp",Dr=`https://${ml}.supabase.co/functions/v1/webshop-article-videos`,$s="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6IndseG5pb2x3Z2phcHFyZWJzeWpwIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzE5MjQxNTgsImV4cCI6MjA4NzUwMDE1OH0.NUO0jXZMywnKq7eambz1Ln3YhbYDz4uPYu8OtsiWaJY";async function ul(){try{const t=await fetch(`${Dr}?action=list`,{headers:{apikey:$s,Authorization:`Bearer ${$s}`}});if(!t.ok)return new Map;const r=await t.json();if(!(r!=null&&r.success)||!Array.isArray(r.entries))return new Map;const s=new Map;return r.entries.forEach(n=>{const a=String(n.article_number||"").trim().toUpperCase();!a||!n.video_id||s.set(a,{article_number:a,video_id:String(n.video_id),title:n.title??null})}),s}catch{return new Map}}function hl(){return Xe({queryKey:["article-videos"],queryFn:ul,staleTime:5*60*1e3,gcTime:30*60*1e3,refetchOnWindowFocus:!1})}function xl(t){const{data:r}=hl();return!t||!r?null:r.get(t.trim().toUpperCase())||null}async function qs(){var s;const{data:t}=await me.auth.getSession(),r=(s=t.session)==null?void 0:s.access_token;if(!r)throw new Error("Nicht angemeldet");return{apikey:$s,Authorization:`Bearer ${r}`,"Content-Type":"application/json"}}async function Kc(){const t=await qs(),r=await fetch(`${Dr}?action=list_admin`,{headers:t});if(!r.ok)throw new Error(`Fehler ${r.status}`);return(await r.json()).entries||[]}async function Uc(t){const r=await qs(),s=await fetch(Dr,{method:"POST",headers:r,body:JSON.stringify({action:"upsert",row:t})});if(!s.ok){const n=await s.json().catch(()=>({}));throw new Error((n==null?void 0:n.error)||`Fehler ${s.status}`)}}async function Zc(t){const r=await qs(),s=await fetch(Dr,{method:"POST",headers:r,body:JSON.stringify({action:"delete",id:t})});if(!s.ok)throw new Error(`Fehler ${s.status}`)}function gl({articleNumber:t}){const r=xl(t||void 0);return r?e.jsxs("div",{className:"mb-4 rounded-xl border border-border bg-card overflow-hidden",children:[e.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 text-sm font-medium bg-muted/40 border-b border-border",children:[e.jsx(Ci,{className:"h-4 w-4 text-rose-600"}),e.jsx("span",{children:r.title||"Produktvideo"})]}),e.jsx(Ln,{videoId:r.video_id,title:r.title||`Video ${t}`,className:"aspect-video w-full"})]}):null}const pl=1,fl="80a882e5-5651-4abb-b526-c7d693edf8c0",bl="988bcc1e-af88-4e5a-b5d2-95b2fe995016",jl="/__l5e/assets-v1/80a882e5-5651-4abb-b526-c7d693edf8c0/fette-gebinde-vergleich.webp",vl="a/v1/988bcc1e-af88-4e5a-b5d2-95b2fe995016/80a882e5-5651-4abb-b526-c7d693edf8c0/fette-gebinde-vergleich.webp",Nl="fette-gebinde-vergleich.webp",kl=98532,wl="image/webp",yl="2026-06-22T08:34:24Z",xn={version:pl,asset_id:fl,project_id:bl,url:jl,r2_key:vl,original_filename:Nl,size:kl,content_type:wl,created_at:yl};function Sl(t){const r=`${t.bezeichnung||""} ${t.beschreibung||""}`.toLowerCase();if(!/fett|schmier|grease|lzf|epx|ep[\s-]?2|mehrzweck/.test(r))return null;if(/lube[\s-]?shuttle/.test(r))return"lubeshuttle";
2if(/schraubkartusche/.test(r))return"kartusche500";const n=parseFloat((t.gebindeInhalt||"").replace(",",".")),a=(t.gebindeEinheit||"").toLowerCase();if(a==="kg"||a===""){if(n>0&&n<=.45)return"kartusche400";if(n>.45&&n<.7)return"kartusche500"}return a==="g"||/\b400\s?g\b/.test(r)?"kartusche400":null}const zl={kartusche400:{title:"Eurokartusche 400 g",desc:"Standardmäßige zylindrische Kartusche mit aufgesetztem Deckel – passend für alle gängigen Fettpressen."},kartusche500:{title:"Schraubkartusche 500 g",desc:"Kartusche mit Gewinde und wiederverwendbarem Schraubdeckel – für Schraubkartuschen-Systeme."},lubeshuttle:{title:"Lube-Shuttle 400 g",desc:"Patrone mit integriertem Kolben und Verschlusszapfen (Einstecksystem) für Lube-Shuttle Fettpressen."}};function Al(t){const r=Sl(t),[s,n]=m.useState(!1);if(!r)return null;const a=zl[r];return e.jsxs("div",{className:"mt-5 mb-2",children:[e.jsxs("div",{className:"rounded-2xl border border-amber-200/80 bg-gradient-to-br from-amber-50/80 to-amber-100/40 dark:from-amber-950/30 dark:to-amber-900/20 dark:border-amber-800/60 p-4 sm:p-5 shadow-sm",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(bt,{className:"h-4 w-4 text-amber-700 dark:text-amber-300"}),e.jsxs("h4",{className:"text-sm sm:text-base font-semibold text-amber-900 dark:text-amber-200",children:["Gebinde-Typ: ",a.title]})]}),e.jsxs("button",{type:"button",onClick:()=>n(!0),className:"group relative w-full rounded-xl overflow-hidden border border-amber-200/80 dark:border-amber-700/60 bg-white dark:bg-black/20 focus:outline-none focus-visible:ring-2 focus-visible:ring-amber-500","aria-label":"Fettpatronen-Vergleich vergrößern",children:[e.jsx("img",{src:xn.url,alt:"Fettpatronen im Vergleich: Eurokartusche, Fuchs-Fettpatrone und Lube-Shuttle",className:"w-full h-auto object-contain object-center transition-transform duration-300 group-hover:scale-[1.02]"}),e.jsx("span",{className:"absolute bottom-2 right-2 text-[10px] sm:text-xs px-2 py-1 rounded-full bg-black/60 text-white opacity-0 group-hover:opacity-100 transition-opacity",children:"Klicken zum Vergrößern"})]}),e.jsxs("p",{className:"text-xs sm:text-sm text-amber-900/80 dark:text-amber-200/80 mt-3 leading-relaxed",children:[a.desc," ",e.jsx("button",{type:"button",onClick:()=>n(!0),className:"inline underline text-amber-800 dark:text-amber-300 hover:no-underline font-medium",children:"Alle Gebinde-Typen vergleichen →"})]})]}),e.jsx(Ze,{open:s,onOpenChange:n,children:e.jsxs(tt,{className:"max-w-5xl p-1 sm:p-2 overflow-hidden border-amber-200/80 dark:border-amber-700/60",children:[e.jsx(ht,{className:"sr-only",children:"Fettpatronen im Vergleich: Eurokartusche, Fuchs-Fettpatrone, Lube-Shuttle"}),e.jsx("img",{src:xn.url,alt:"Fettpatronen im Vergleich: Eurokartusche, Fuchs-Fettpatrone und Lube-Shuttle",className:"w-full h-auto rounded-lg"})]})})]})}const us=new Map,Cl=2,El=3,gn=4;function _l(){const[t,r]=m.useState(gn);return m.useEffect(()=>{const s=()=>{const n=window.innerWidth;n<640?r(Cl):n<900?r(El):r(gn)};return s(),window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[]),t}const Ll=({articleNumber:t,open:r,onArticleChange:s,wrapperClassName:n})=>{const{t:a}=Se("content"),[d,u]=m.useState([]),[c,x]=m.useState(!1),[f,h]=m.useState(0),v=_l(),{vatPercent:y}=Pr(),{showRetailPrices:o}=Ws(),{requestAddToCart:N}=Ir(),w=m.useCallback(C=>C*(1+(y??19)/100),[y]),k=m.useCallback((C,E)=>o&&E!=null?E:C,[o]);m.useEffect(()=>{if(!r||!t)return;if(us.has(t)){u(us.get(t));return}let C=!1;const E=new AbortController;return x(!0),u([]),Zt("search-crossselling",{body:{article_number:t,limit:20},timeoutMs:6e3,signal:E.signal}).then(({data:_})=>{C||(_!=null&&_.success&&Array.isArray(_.items)&&_.items.length>0?(u(_.items),us.set(t,_.items)):u([]))}).catch(()=>{C||u([])}).finally(()=>{C||x(!1)}),()=>{C=!0,E.abort()}},[r,t]),m.useEffect(()=>{h(0)},[d.length]);const b=d.filter(C=>C.Preis!=null);if(c)return e.jsxs("div",{className:"mt-2",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsxs("div",{className:"inline-flex items-center gap-1.5 rounded-full bg-primary/10 border border-primary/20 px-3 py-1",children:[e.jsx(yr,{className:"h-3.5 w-3.5 text-primary"}),e.jsx("span",{className:"text-xs font-semibold text-primary",children:a("crossselling.title")})]}),e.jsxs("span",{className:"text-xs text-muted-foreground inline-flex items-center gap-1.5",children:[e.jsx(Ye,{size:"xs"})," ",a("crossselling.loading")]})]}),e.jsx("div",{className:"grid gap-3",style:{gridTemplateColumns:`repeat(${v}, 1fr)`},children:Array.from({length:v}).map((C,E)=>e.jsxs("div",{className:"rounded-xl border border-border bg-card overflow-hidden h-[260px] animate-pulse",children:[e.jsx("div",{className:"h-[160px] bg-muted/40"}),e.jsxs("div",{className:"p-2.5 space-y-2",children:[e.jsx("div",{className:"h-2 bg-muted/40 rounded w-1/3"}),e.jsx("div",{className:"h-3 bg-muted/40 rounded w-3/4"}),e.jsx("div",{className:"h-4 bg-muted/40 rounded w-1/2 mt-2"})]})]},E))})]});if(b.length===0)return null;const l=Math.ceil(b.length/v),p=f*v,j=b.slice(p,p+v),S=()=>h(C=>(C-1+l)%l),T=()=>h(C=>(C+1)%l),$=e.jsxs("div",{className:"mt-2",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsxs("div",{className:"inline-flex items-center gap-1.5 rounded-full bg-primary/10 border border-primary/20 px-3 py-1",children:[e.jsx(yr,{className:"h-3.5 w-3.5 text-primary"}),e.jsx("span",{className:"text-xs font-semibold text-primary",children:a("crossselling.title")})]}),e.jsx("span",{className:"text-xs text-muted-foreground",children:a("crossselling.articleCount",{count:b.length})})]}),e.jsxs("div",{className:"relative",children:[l>1&&e.jsx(J,{variant:"outline",size:"icon",className:"absolute -left-3 top-1/2 -translate-y-1/2 z-10 h-8 w-8 rounded-full shadow-md bg-background",onClick:S,children:e.jsx(Sr,{className:"h-4 w-4"})}),l>1&&e.jsx(J,{variant:"outline",size:"icon",className:"absolute -right-3 top-1/2 -translate-y-1/2 z-10 h-8 w-8 rounded-full shadow-md bg-background",onClick:T,children:e.jsx(Me,{className:"h-4 w-4"})}),e.jsx("div",{className:"grid gap-3",style:{gridTemplateColumns:`repeat(${v}, 1fr)`},children:j.map(C=>{const E=k(C.Preis,C.Listenpreis),_=E!=null?w(E):null,q=(C.RabattProzent??0
2)>0;return e.jsx("div",{children:e.jsxs("div",{className:"rounded-xl border border-border bg-card overflow-hidden h-full flex flex-col group hover:shadow-md transition-shadow",children:[e.jsxs("div",{className:"relative",children:[C.MftLogo&&e.jsx("div",{className:"absolute top-1.5 left-1.5 z-10 bg-white/80 rounded px-1 py-0.5",children:e.jsx(Le,{mftLogo:C.MftLogo,className:"h-4 max-w-[60px] object-contain"})}),q&&e.jsxs(Z,{className:"absolute top-1.5 right-1.5 z-10 bg-primary text-primary-foreground text-[10px] px-1.5 py-0.5 rounded-full font-bold",children:["-",C.RabattProzent.toFixed(0),"%"]}),e.jsx("button",{onClick:()=>s==null?void 0:s(C.ArtikelNr),className:"w-full h-[160px] p-3 bg-muted/30 cursor-pointer flex items-center justify-center",children:e.jsx(nt,{articleNumber:C.ArtikelNr,className:"h-[136px] w-full group-hover:scale-110 transition-transform duration-300",disableClick:!0})})]}),e.jsxs("div",{className:"p-2.5 flex flex-col flex-1 gap-1",children:[e.jsxs("p",{className:"text-[10px] font-mono text-muted-foreground",children:[a("crossselling.artNr")," ",e.jsx($t,{nr:C.ArtikelNr})]}),e.jsx("button",{onClick:()=>s==null?void 0:s(C.ArtikelNr),className:"text-left",children:e.jsx("p",{className:"text-xs font-medium leading-tight line-clamp-1 group-hover:text-primary transition-colors",children:C.Bezeichnung||"Artikel"})}),e.jsx("div",{className:"mt-auto pt-1.5",children:_!=null&&E!=null?e.jsxs("div",{children:[e.jsxs("span",{className:"text-sm font-bold text-primary",children:[_.toFixed(2).replace(".",",")," €"]}),q&&C.Listenpreis!=null&&e.jsxs("span",{className:"ml-1.5 text-[10px] text-muted-foreground line-through",children:[w(C.Listenpreis).toFixed(2).replace(".",",")," €"]}),e.jsx(Gs,{price:C.Preis,gebindeInhalt:C.GebindeInhalt,gebindeEinheit:C.GebindeEinheit,className:"text-[9px]"})]}):e.jsx("span",{className:"text-xs text-muted-foreground",children:a("crossselling.priceOnRequest")})}),e.jsxs("div",{className:"flex gap-1 mt-1.5",children:[_!=null&&e.jsx(J,{size:"sm",className:"h-7 flex-1 text-[10px] gap-1",onClick:()=>N({articleNumber:C.ArtikelNr,quantity:1,referenceInfo:a("crossselling.ref",{nr:t}),price:C.Preis??0}),children:e.jsx(He,{className:"h-3 w-3"})}),e.jsx(J,{variant:"outline",size:"sm",className:"h-7 flex-1 text-[10px]",onClick:()=>s==null?void 0:s(C.ArtikelNr),children:a("crossselling.details")})]})]})]})},C.ArtikelNr)})}),l>1&&e.jsx("div",{className:"flex justify-center gap-1 mt-3",children:Array.from({length:l},(C,E)=>e.jsx("button",{onClick:()=>h(E),className:`h-1.5 rounded-full transition-all ${E===f?"w-4 bg-primary":"w-1.5 bg-muted-foreground/30"}`},E))})]})]});return n?e.jsx("div",{className:n,style:{touchAction:"pan-x",overscrollBehavior:"contain"},children:$}):$},Pl=25,_r=new Map;let Bs=null;function Tr(t){return String(t||"").trim().toUpperCase()}function Il(t){const r=parseInt(String(t.VPE),10)||0,s=String(t.NurAlsVPE||"").toLowerCase();return{ArtikelNr:String(t.ArtikelNr||"").toUpperCase(),VPE:r,VPEEinheit:String(t.VPEEinheit||"Karton"),InhaltEinheit:String(t.InhaltEinheit||"Stück"),Hinweis:String(t.Hinweis||""),NurAlsVPE:s==="true"||s==="1"||s==="ja"}}async function Wn(t){var d;
2const r=[...new Set(t.map(Tr).filter(Boolean))],s=new Map;if(!r.length)return s;const{data:n,error:a}=await me.functions.invoke("get-vpe-configs",{body:{articleNumbers:r}});if(a||!((d=n==null?void 0:n.rows)!=null&&d.length))return s;for(const u of n.rows){const c=Il(u);s.set(c.ArtikelNr,c)}return s}async function Fl(){const t=Array.from(_r.entries());_r.clear(),Bs=null;let r=new Map;try{r=await Wn(t.map(([s])=>s))}catch{r=new Map}for(const[s,n]of t){const a=r.get(s)??null;for(const d of n)d.resolve(a)}}function Dl(t){const r=Tr(t);return r?new Promise(s=>{const n=_r.get(r)||[];n.push({resolve:s}),_r.set(r,n),Bs||(Bs=setTimeout(Fl,Pl))}):Promise.resolve(null)}function Tl(t){const r=Tr(t);return Xe({queryKey:["vpe-config",r],queryFn:async()=>r?Dl(r):null,enabled:!!r,staleTime:2*60*1e3})}function qc(t){const r=[...new Set(t.map(Tr).filter(Boolean))];return Xe({queryKey:["vpe-configs",[...r].sort().join(",")],queryFn:async()=>Wn(r),enabled:r.length>0,staleTime:2*60*1e3})}const $l=({className:t,variant:r="badge",size:s="xs"})=>r==="ribbon"?e.jsxs("div",{className:we("absolute -top-2 left-1/2 -translate-x-1/2 z-20 inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-[9px] font-extrabold uppercase tracking-wider text-white shadow-md whitespace-nowrap","bg-gradient-to-r from-rose-600 via-red-600 to-orange-500 ring-1 ring-red-700/40",t),title:"Spezieller Sonderpreis",children:[e.jsx(zr,{className:"h-2.5 w-2.5","aria-hidden":"true"}),e.jsx("span",{children:"Sonderpreis"})]}):e.jsxs("div",{className:we("inline-flex items-center gap-1 rounded-full font-extrabold uppercase tracking-wider text-white shadow-sm","bg-gradient-to-r from-rose-600 via-red-600 to-orange-500 ring-1 ring-red-700/40",s==="xs"?"px-1.5 py-0.5 text-[9px]":"px-2 py-0.5 text-[10px]",t),title:"Spezieller Sonderpreis",children:[e.jsx(zr,{className:s==="xs"?"h-2.5 w-2.5":"h-3 w-3","aria-hidden":"true"}),e.jsx("span",{children:"Sonderpreis"})]}),Gn="special_price_articles",Kn="shop_features",Bl=["WAI40595","WAI41208","WAI41275","WAI41590","WAT41590"],$r=t=>t.trim().toUpperCase().replace(/[\s-]/g,"");let gt=new Set(Bl.map($r)),Ft=null,Ms=0;const Ml=12e4,Hl=t=>t?gt.has($r(t)):!1,Jc=()=>Array.from(gt).sort();async function Rl(t=!1){return!t&&Ft?Ft:!t&&Date.now()-Ms<Ml?Promise.resolve(gt):(Ft=(async()=>{try{const{data:r,error:s}=await me.from("app_settings").select("setting_value").eq("setting_key",Gn).eq("setting_group",Kn).maybeSingle();if(s)throw s;if(r!=null&&r.setting_value){const n=JSON.parse(r.setting_value);Array.isArray(n)&&(gt=new Set(n.filter(a=>typeof a=="string"&&!!a.trim()).map($r)))}
2Ms=Date.now()}catch(r){console.warn("[special-price-articles] load failed, using defaults",r)}finally{Ft=null}return gt})(),Ft)}async function Yc(t){const r=Array.from(new Set(t.map($r).filter(Boolean))).sort(),{error:s}=await me.from("app_settings").upsert({setting_key:Gn,setting_group:Kn,setting_value:JSON.stringify(r),description:"Artikelnummern mit Sonderpreis-Markierung (Badge/Rahmen).",is_secret:!1},{onConflict:"setting_key"});if(s)throw s;gt=new Set(r),Ms=Date.now()}typeof window<"u"&&Rl();const Ol=[{match:/effizienz\s*ß\s*1000/i,term:"Effizienz ß1000 – sehr feine Filtration",explanation:`Was es bedeutet: Von 1.000 Schmutzpartikeln einer bestimmten Größe (z. B. 10 µm) hält der Filter 999 zurück – nur 1 kommt durch. Das entspricht einem Abscheidegrad von 99,9 %.
3
4Warum wichtig: Diese Filterfeinheit ist Standard für moderne Hydrauliksysteme mit empfindlichen Proportional- und Servoventilen. Sie schützt teure Komponenten (Pumpen, Ventile, Zylinder) zuverlässig vor Verschleiß durch Mikropartikel.
5
6Gemessen nach ISO 16889 – dem internationalen Prüfstandard für Hydraulikfilter.`},{match:/effizienz\s*ß\s*200/i,term:"Effizienz ß200 – feine Filtration",explanation:`Was es bedeutet: Von 200 Schmutzpartikeln einer bestimmten Größe (z. B. 10 µm) hält der Filter 199 zurück – nur 1 passiert. Das entspricht einem Abscheidegrad von 99,5 %.
7
8Warum wichtig: Bewährte Filterfeinheit für klassische Hydraulikkreisläufe und Rücklauffilter. Guter Kompromiss zwischen Schutz, Standzeit und Druckverlust.
9
10Faustregel: ß1000 (99,9 %) ist feiner als ß200 (99,5 %). Je höher die Zahl, desto mehr Partikel werden zurückgehalten. Gemessen nach ISO 16889.`},{match:/effizienz\s*ß\s*\d+/i,term:"Effizienz ßx – Filtrationsgrad",explanation:`Der Beta-Wert (ßx) zeigt, wie viele Schmutzpartikel der Filter zurückhält:
11• ß2 = 50 %  • ß20 = 95 %  • ß75 = 98,7 %
12• ß200 = 99,5 %  • ß1000 = 99,9 %  • ß2000 = 99,95 %
13
14Faustregel: Je höher die Zahl, desto feiner filtert der Filter. Gemessen nach ISO 16889.`},{match:/^ß\s*\d+$/i,term:"ßx-Wert (Filtereffizienz)",explanation:`Der Beta-Wert beschreibt das Verhältnis von Partikeln vor zu Partikeln nach dem Filter. Beispiel: ß1000 = von 1.000 ankommenden Partikeln passiert nur 1 den Filter (= 99,9 % Abscheidung).
15
16Gängige Werte:
17• ß200 = 99,5 % zurückgehalten
18• ß1000 = 99,9 % zurückgehalten
19• ß2000 = 99,95 % zurückgehalten`},{match:"Hauptstromfilter",term:"Hauptstromfilter",explanation:"Filtert den gesamten Volumenstrom. Standard-Bauart bei Motoröl- und Hydraulikfiltern. Schnelle, vollständige Filtration des kompletten Mediums."},{match:"Nebenstromfilter",term:"Nebenstromfilter",explanation:"Filtert nur einen Teilstrom (typisch 5–10 %). Sehr fein, langsam – ergänzt den Hauptstromfilter und entfernt feinste Partikel über die Zeit."},{match:"Anschraubfilter",term:"Anschraubfilter (Spin-On)",explanation:"Komplett-Filter mit Gehäuse und Gewinde. Wechsel: alten abschrauben, neuen aufschrauben. Sehr einfache Wartung, Standard bei Motoröl- und Kraftstofffiltern."},{match:"Wechseleinsatz",term:"Wechseleinsatz (Cartridge)",explanation:"Nur das Filterelement wird getauscht, das Gehäuse bleibt. Umweltfreundlicher (weniger Abfall), häufig bei Hydraulik- und großen Ölfiltern."},{match:"Wasserabscheider",term:"Wasserabscheider",explanation:"Trennt Wasser aus Kraftstoff (z. B. Diesel). Schützt die Einspritzanlage vor Korrosion und Dieselpest. Kondenswasser regelmäßig ablassen."},{match:"Verbundmaterial",term:"Verbundmaterial (Composite)",explanation:"Mehrlagiges Filtermedium aus verschiedenen Materialien (z. B. Zellulose + Glasfaser). Kombiniert hohe Schmutzaufnahme mit feiner Abscheidung."},{match:"Glasfaser",term:"Glasfaser",explanation:"Synthetisches Filtermedium aus feinsten Glasfasern. Höhere Effizienz und längere Standzeit als Zellulose, vor allem bei Hydraulikfiltern."},{match:"Zellulose",term:"Zellulose",explanation:"Klassisches Filterpapier aus Naturfasern. Gute Schmutzaufnahme, kostengünstig, Standard bei vielen Motoröl- und Luftfiltern."},{match:/umgehungsventil/i,term:"Umgehungsventil (Bypass)",explanation:"Öffnet bei verstopftem Filter oder kaltem Öl, damit das Aggregat trotzdem mit (ungefiltertem) Öl versorgt wird. Schützt vor Mangelschmierung."},{match:/rücklaufsperre/i,term:"Rücklaufsperre",explanation:"Verhindert, dass das Öl bei abgestelltem Motor in die Wanne zurückläuft. Sorgt für sofortigen Öldruck beim Start und schützt vor Trockenlauf."},{match:/^abscheidegrad/i,term:"Abscheidegrad",explanation:"Wie viel Prozent der Partikel einer bestimmten Größe der Filter zurückhÃ
19¤lt. 99 % = Standard, 99,9 % = sehr fein, 99,95 % = Hochleistung (z. B. Hydraulik)."},{match:/^filterfeinheit/i,term:"Filterfeinheit",explanation:"Kleinste Partikelgröße in µm (Mikrometer), die der Filter sicher zurückhält. Je niedriger die Zahl, desto feiner. 1 µm = 1/1000 mm."},{match:/^maschenweite/i,term:"Maschenweite",explanation:"Größe der Öffnungen im Filtergewebe (in µm). Bestimmt, welche Partikel durchpassen. Typisch bei Drahtgewebe-Saugfiltern."},{match:/^differenzdruck/i,term:"Differenzdruck",explanation:"Druckverlust zwischen Eingang und Ausgang des Filters. Steigt mit zunehmender Verschmutzung – ab einem Grenzwert ist Filterwechsel fällig."},{match:/^max\.?\s*betriebsdruck/i,term:"Max. Betriebsdruck",explanation:"Maximaler Druck (in bar), für den der Filter dauerhaft ausgelegt ist. Wichtig bei Hydraulikfiltern – nicht überschreiten."},{match:/temperaturbereich|dauereinsatztemperatur/i,term:"Temperaturbereich",explanation:"Zulässiger Bereich für die Dauerverwendung. Außerhalb können Dichtungen versagen oder das Filtermedium beschädigt werden."},{match:/^nbr/i,term:"NBR (Nitrilkautschuk)",explanation:"Standard-Dichtungswerkstoff. Beständig gegen Mineralöl, Kraftstoff und Hydrauliköl. Temperaturbereich ca. −30 °C bis +100 °C."},{match:/^fkm|^viton/i,term:"FKM / Viton",explanation:"Hochleistungsdichtung aus Fluorkautschuk. Beständig gegen aggressive Medien und hohe Temperaturen (bis +200 °C). Teurer, dafür langlebiger als NBR."},{match:/^epdm/i,term:"EPDM",explanation:"Dichtungswerkstoff für Wasser, Bremsflüssigkeit und Heißwasser. NICHT für Mineralöl geeignet."},{match:/effizienz-?teststandard/i,term:"Effizienz-Teststandard",explanation:"Norm, nach der die Filterleistung gemessen wurde (z. B. ISO 16889 für Hydraulik, SAE J1985 für Kraftstoff). Macht Werte verschiedener Hersteller vergleichbar."},{match:/^sae\s*j\d+/i,term:"SAE J-Norm",explanation:"Prüfnorm der Society of Automotive Engineers (USA) für Filterleistung. SAE J1985 prüft z. B. Kraftstofffilter unter realistischen Bedingungen."},{match:/^iso\s*\d+/i,term:"ISO-Norm",explanation:"Internationale Prüfnorm. ISO 16889 = Multipass-Test für Hydraulikfilter, ISO 5011 = Luftfilter-Prüfung."}];function pn(t){if(!t)return null;for(const r of Ol)if(typeof r.match=="string"){if(t.toLowerCase().includes(r.match.toLowerCase()))return{term:r.term,explanation:r.explanation}}else if(r.match.test(t))return{term:r.term,explanation:r.explanation};return null}const fn={Einsatzbereich:"Einsatzbereich",Hauptanwendung:"Verwendung in",Typ:"Filtertyp",Bauform:"Bauform",Produktfamilie:"Produktfamilie",Serie:"Serie",Durchflussrichtung:"Durchflussrichtung","Durchflussbereich [l/min]":"Durchflussbereich","Durchflussbereich [m³/h]":"Durchflussbereich","max. zul. Betriebsdruck [bar]":"Max. Betriebsdruck","max. zul. Differenzdruck [bar]":"Max. Differenzdruck","Länge [mm]":"Länge","Breite [mm]":"Breite","Außendurchmesser [mm]":"Außendurchmesser","Höhe [mm]":"Höhe",Anschlussgewinde:"Anschlussgewinde","Anschlussdurchmesser [mm]":"Anschlussdurchmesser","Innendurchmesser oben [mm]":"Innendurchmesser oben","Innendurchmesser unten [mm]":"Innendurchmesser unten","Innendurchmesser [mm]":"Innendurchmesser",Filtermedium:"Filtermedium","Filterfeinheit [µm]":"Filterfeinheit (µm)","Filterfeinheit [µm(c)]":"Filterfeinheit (µm(c))",Effizienz:"Abscheidegrad","Effizienz 99%":"Abscheidegrad 99 %","Effizienz 99,9%":"Abscheidegrad 99,9 %","Effizienz 99,95%":"Abscheidegrad 99,95 %","Effizienz 98%":"Abscheidegrad 98 %","Effizienz 97%":"Abscheidegrad 97 %","Effizienz 95%":"Abscheidegrad 95 %","Effizienz 90%":"Abscheidegrad 90 %","Effizienz 87%":"Abscheidegrad 87 %","Effizienz 50%":"Abscheidegrad 50 %","Effizienz-Teststandard":"Effizienz-Teststandard","Maschenweite [µm]":"Maschenweite","Filterfläche [m²]":"Filterfläche","Filterfläche [cm²]":"Filterfläche","Bypassventil Öffnungsdruck [bar]":"Umgehungsventil-Öffnungsdruck",Bypassventil:"Umgehungsventil",Rücklaufsperrventil:"Rücklaufsperre","Dichtungen - Werkstoff":"Dichtungswerkstoff","Endscheiben - Werkstoff":"Endscheibenwerkstoff","Filterkopf - Werkstoff":"Filterkopfwerkstoff",Magnet:"Magnet","Zul. Dauereinsatztemperatur":"Temperaturbereich",Bemerkung:"Hinweis",Bezeichnung:"Bezeichnung",Gewindegröße:"Gewindegröße","Dichtung ID [mm]":"Dichtung Innendurchmesser","Dichtung AD [mm]":"Dichtung Außendurchmesser","D1 (mm)":"Außendurchmesser","D2 (mm)":"Außendurchmesser 2","D3 
19(mm)":"Innendurchmesser","D4 (mm)":"Durchmesser 4","D5 (mm)":"Durchmesser 5","H1 (mm)":"Höhe","H2 (mm)":"Höhe 2","H3 (mm)":"Höhe 3","Gewinde 1":"Anschlussgewinde","Gewinde 2":"Anschlussgewinde 2","Bypass-Ventil (Anzahl)":"Umgehungsventil","Bypass-Ventil Öffnungsdruck (bar)":"Umgehungsventil-Öffnungsdruck","Rücklaufsperrventil (Anzahl)":"Rücklaufsperre"},xr={"full-flow":"Hauptstromfilter","full flow":"Hauptstromfilter",fullflow:"Hauptstromfilter","by-pass":"Nebenstromfilter",bypass:"Nebenstromfilter","by pass":"Nebenstromfilter","dual flow":"Kombi (Haupt- + Nebenstrom)",duo:"Kombi (Haupt- + Nebenstrom)","water separator":"Wasserabscheider","water-separator":"Wasserabscheider","fuel water separator":"Kraftstoff-Wasserabscheider","fuel/water separator":"Kraftstoff-Wasserabscheider","air filter":"Luftfilter","oil filter":"Ölfilter","fuel filter":"Kraftstofffilter","hydraulic filter":"Hydraulikfilter","coolant filter":"Kühlmittelfilter","cabin filter":"Innenraumfilter","cabin air filter":"Innenraumfilter","spin-on":"Anschraubfilter","spin on":"Anschraubfilter",spinon:"Anschraubfilter",anschraub:"Anschraubfilter",cartridge:"Wechseleinsatz",element:"Wechseleinsatz","in-line":"Inline (Leitungseinbau)",inline:"Inline (Leitungseinbau)","in line":"Inline (Leitungseinbau)","tank-top":"Tankaufbau","tank top":"Tankaufbau","return line":"Rücklaufleitung","return-line":"Rücklaufleitung",suction:"Saugseite",pressure:"Druckseite","off-line":"Nebenstrom",offline:"Nebenstrom",panel:"Plattenfilter",round:"Rundfilter","radial seal":"Radialdichtung","axial seal":"Axialdichtung",cellulose:"Zellulose",paper:"Papier",composite:"Verbundmaterial","glass fiber":"Glasfaser",glassfiber:"Glasfaser","glass-fiber":"Glasfaser",fiberglass:"Glasfaser",synthetic:"Synthetik",synthetics:"Synthetik",polyester:"Polyester","wire mesh":"Drahtgewebe","stainless steel":"Edelstahl","activated carbon":"Aktivkohle",felt:"Filz",foam:"Schaumstoff",nonwoven:"Vliesstoff","non-woven":"Vliesstoff",nbr:"NBR (Nitrilkautschuk)",fkm:"FKM (Fluorkautschuk)",epdm:"EPDM",viton:"Viton (FKM)",silicone:"Silikon",rubber:"Gummi",metal:"Metall",plastic:"Kunststoff",steel:"Stahl",aluminum:"Aluminium",aluminium:"Aluminium","not for marine applications":"Nicht für maritime Anwendungen geeignet","for marine applications":"Für maritime Anwendungen geeignet","not for use with biodiesel":"Nicht für Biodiesel geeignet","for diesel only":"Nur für Diesel","for petrol only":"Nur für Benzin","for hydraulic oil only":"Nur für Hydrauliköl","for engine oil only":"Nur für Motoröl","with drain":"Mit Ablassschraube","without drain":"Ohne Ablassschraube","with sensor":"Mit Sensor","without sensor":"Ohne Sensor",micron:"µm",microns:"µm",mic:"µm","mic.":"µm",yes:"Ja",no:"Nein",true:"Ja",fal
19se:"Nein","n/a":"—",na:"—",none:"Keine",standard:"Standard",reverse:"Umgekehrt",forward:"Vorwärts","high pressure":"Hochdruck","low pressure":"Niederdruck","medium pressure":"Mitteldruck",static:"Statisch",dynamic:"Dynamisch"};function bn(t){if(!t)return t;const r=t.trim().toLowerCase();if(xr[r])return xr[r];const s=t.match(/^\s*([\d.,]+)\s*(microns?|mic\.?)\s*$/i);return s?`${s[1]} µm`:t.split(/(\s*[,/]\s*)/).map(a=>{const d=a.trim().toLowerCase();if(xr[d])return xr[d];const u=a.match(/^(\s*)([\d.,]+)\s*(microns?|mic\.?)(\s*)$/i);return u?`${u[1]}${u[2]} µm${u[4]}`:a}).join("")}const jn={"Länge [mm]":"mm","Breite [mm]":"mm","Außendurchmesser [mm]":"mm","Höhe [mm]":"mm","Anschlussdurchmesser [mm]":"mm","Innendurchmesser oben [mm]":"mm","Innendurchmesser unten [mm]":"mm","Innendurchmesser [mm]":"mm","Durchflussbereich [l/min]":"l/min","Durchflussbereich [m³/h]":"m³/h","max. zul. Betriebsdruck [bar]":"bar","max. zul. Differenzdruck [bar]":"bar","Filterfeinheit [µm]":"µm","Maschenweite [µm]":"µm","Filterfläche [m²]":"m²","Filterfläche [cm²]":"cm²","Bypassventil Öffnungsdruck [bar]":"bar","D1 (mm)":"mm","D2 (mm)":"mm","D3 (mm)":"mm","D4 (mm)":"mm","D5 (mm)":"mm","H1 (mm)":"mm","H2 (mm)":"mm","H3 (mm)":"mm","Bypass-Ventil Öffnungsdruck (bar)":"bar"},Vl=["Bezeichnung","Einsatzbereich","Hauptanwendung","Typ","Bauform","Produktfamilie","Serie","Filtermedium","Material","Filterfeinheit [µm]","Filterfeinheit [µm(c)]","Effizienz","Nominale Effizienz","Effizienz ß2","Effizienz ß20","Effizienz ß75","Effizienz ß100","Effizienz ß200","Effizienz ß1000","Effizienz ß2000","Effizienz 50%","Effizienz 87%","Effizienz 90%","Effizienz 95%","Effizienz 97%","Effizienz 98%","Effizienz 99%","Effizienz 99,9%","Effizienz 99,95%","Effizienz-Teststandard","Maschenweite [µm]","Filterfläche [m²]","Filterfläche [cm²]","Außendurchmesser [mm]","Außendurchmesser 2 [mm]","Durchmesser [mm]","Max. Gehäusedurchmesser [mm]","Min. Gehäusedurchmesser [mm]","Höhe [mm]","Länge [mm]","Gehäuselänge [mm]","Gesamtlänge [mm]","Breite [mm]","Tiefe [mm]","Innendurchmesser [mm]","Innendurchmesser 2 [mm]","Innendurchmesser oben [mm]","Innendurchmesser unten [mm]","Einlass-Durchmesser [mm]","Einlassgröße","Auslass-Durchmesser [mm]","Auslassgröße","Flanschdurchmesser [mm]","Nennweite [mm]","D1 (mm)","D2 (mm)","D3 (mm)","D4 (mm)","D5 (mm)","H1 (mm)","H2 (mm)","H3 (mm)","Anschlussgewinde","Anschlussdurchmesser [mm]","Anschluss","Gewindegröße","Gewinde 1","Gewinde 2","Durchflussrichtung","Durchflussbereich [l/min]","Durchflussbereich [m³/h]","Nenndurchfluss niedrig","Nenndurchfluss mittel","Nenndurchfluss hoch","max. zul. Betriebsdruck [bar]","max. zul. Differenzdruck [bar]","Max. Betriebsdruck [bar]","Druckbereich","Druckverlust","Berstdruck","Bypassventil Öffnungsdruck [bar]","Bypassventil","Bypassventil Hochdruck","Bypassventil Niederdruck","Bypass-Ventil (Anzahl)","Bypass-Ventil Öffnungsdruck (bar)","Rücklaufsperrventil","Rücklaufsperrventil (Anzahl)","Rückschlagventil","Zul. Dauereinsatztemperatur","Max. Betriebstemperatur","Min. Betriebstemperatur","Dichtungen - Werkstoff","Dichtungswerkstoff","Dichtung ID [mm]","Dichtung AD [mm]","Endscheiben - Werkstoff","Filterkopf - Werkstoff","Wandstärke [mm]","Wartungsfreiraum [mm]","Magnet","Steigro
19hr","Thermische Sperre","Druckstoßkontrolle","Bemerkung"],Wl=new Set(["Marke","Drain Port"]),gr=new Map,Gl=({articleNumber:t,hl:r,hlNr:s})=>{const[n,a]=m.useState(null),[d,u]=m.useState(!1),c=r?r.trim().toLowerCase().replace(/\.png$/i,""):null,x=(s==null?void 0:s.trim())||null,f=`${t}|${c}|${x}`;if(m.useEffect(()=>{if(!c||!x){a(null),u(!1);return}if(gr.has(f)){a(gr.get(f));return}let l=!1;return u(!0),(async()=>{try{const{data:j}=await me.functions.invoke("lookup-article-attributes",{body:{lookup_keys:[x],csv_brand:c}});j!=null&&j.success&&j.attributes&&Object.keys(j.attributes).length>0?l||(gr.set(f,j.attributes),a(j.attributes)):l||(gr.set(f,null),a(null))}catch(j){console.error("Technical attributes fetch error:",j),l||a(null)}l||u(!1)})(),()=>{l=!0}},[f]),d)return e.jsxs("div",{className:"flex items-center gap-2 py-3 text-muted-foreground text-sm",children:[e.jsx(Ye,{size:"sm"}),e.jsx("span",{children:"Technische Daten werden geladen…"})]});if(!n||Object.keys(n).length===0)return null;const h=[],v=new Set,y=c==="filtrec",o=l=>Wl.has(l)||y&&l==="Bezeichnung";for(const l of Vl)if(n[l]&&!o(l)){v.add(l);const p=jn[l],j=bn(n[l]),S=p&&!j.includes(p)?`${j} ${p}`:j;h.push({label:fn[l]||l,value:S})}for(const[l,p]of Object.entries(n))if(!v.has(l)&&!o(l)){const j=jn[l],S=bn(p),T=j&&!S.includes(j)?`${S} ${j}`:S;h.push({label:fn[l]||l,value:T})}if(h.length===0)return null;const N=l=>/^\s*-?\d[\d.,\s]*(?:\s*[a-zA-Zµ²³/°%]+)?\s*$/.test(l),w=l=>/gewinde/i.test(l),k=l=>/^(filtermedium|bauform|filtertyp|einsatzbereich|durchflussrichtung)$/i.test(l),b=l=>{const p=l.match(/^\s*(-?\d[\d.,\s]*)\s*([a-zA-Zµ²³/°%().\-]+.*)?$/);return p?{num:p[1].trim(),unit:(p[2]||"").trim()}:{num:l,unit:""}};return e.jsx(_n,{delayDuration:150,children:e.jsx("div",{className:"mt-5",children:e.jsxs("div",{className:"mb-5 overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm dark:border-slate-800 dark:bg-slate-950",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 border-b border-slate-200 bg-gradient-to-r from-slate-900 via-slate-800 to-slate-900 px-4 py-2.5 dark:border-slate-800",children:[e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded-md bg-amber-500/90 text-slate-950 shadow-sm",children:e.jsx(Es,{className:"h-4 w-4",strokeWidth:2.5})}),e.jsx("h4",{className:"text-[13px] font-bold uppercase tracking-[0.14em] text-white",children:"Technische Daten"})]}),e.jsxs("span",{className:"hidden sm:inline text-[10px] font-mono uppercase tracking-widest text-amber-300/80",children:["Spec Sheet · ",h.length]})]}),e.jsx("div",{className:"divide-y divide-slate-100 dark:divide-slate-800/70",children:h.map((l,p)=>{const j=pn(l.label),S=j?null:pn(l.value),T=j||S,$=!!j,C=T?e.jsxs(ya,{children:[e.jsx(Sa,{asChild:!0,children:e.jsx("button",{type:"button","aria-label":`Erklärung: ${T.term}`,className:"inline-flex items-center justify-center text-amber-600 hover:text-amber-700 active:text-amber-800 transition-colors touch-manipulation",onClick:_=>_.stopPropagation(),children:e.jsx(on,{className:"h-3.5 w-3.5"})})}),e.jsxs(za,{side:"top",align:"center",className:"max-w-[340px] text-xs leading-relaxed",children:[e.jsx("div",{className:"font-semibold text-foreground mb-1.5",children:T.term}),e.jsx("div",{className:"text-muted-foreground whitespace-pre-line",children:T.explanation})]})]}):null;let E;if(w(l.label))E=e.jsx("span",{className:"inline-block text-sm font-mono font-semibold text-amber-800 dark:text-amber-300 bg-amber-50 dark:bg-amber-500/10 px-2 py-1 rounded border border-amber-200 dark:border-amber-500/30",children:l.value});else if(k(l.label))E=e.jsx("span",{className:"inline-block px-2 py-0.5 rounded bg-slate-200 dark:bg-slate-800 text-[11px] font-bold text-slate-700 dark:text-slate-200 uppercase tracking-wide",children:l.value});else if(N(l.value)){const{num:_,unit:q}=b(l.value);E=e.jsxs("span",{className:"inline-flex items-baseline gap-1 whitespace-nowrap",children:[e.jsx("span",{className:"text-[15px] font-bold text-slate-900 dark:text-slate-100 font-mono tabular-nums",children:_}),q&&e.jsx("span",{className:"text-[10px] font-mono italic uppercase tracking-wider text-amber-600 dar
19k:text-amber-400",children:q})]})}else E=e.jsx("span",{className:"text-[15px] font-bold text-slate-900 dark:text-slate-100 break-words whitespace-pre-line",children:l.value});return e.jsxs("div",{className:`grid grid-cols-12 transition-colors hover:bg-amber-50/60 dark:hover:bg-amber-500/[0.04] ${p%2===1?"bg-slate-50/60 dark:bg-slate-900/40":""}`,children:[e.jsx("div",{className:"col-span-5 px-4 py-2.5 border-r border-slate-100 dark:border-slate-800/70 flex items-center",children:e.jsxs("span",{className:"inline-flex items-center gap-1.5 flex-wrap",children:[e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400",children:l.label}),$&&C]})}),e.jsxs("div",{className:"col-span-7 px-4 py-2.5 flex items-center justify-end gap-2 min-w-0",children:[e.jsx("div",{className:"min-w-0 text-right",children:E}),!$&&C]})]},l.label)})}),e.jsxs("div",{className:"bg-slate-50 dark:bg-slate-900/60 px-4 py-2.5 flex items-center gap-2 border-t border-slate-100 dark:border-slate-800/70",children:[e.jsx(on,{className:"w-3.5 h-3.5 text-slate-400 shrink-0"}),e.jsx("p",{className:"text-[11px] text-slate-500 dark:text-slate-400 font-medium leading-tight",children:"Tippen Sie auf die Fragezeichen für eine Erklärung der Fachbegriffe."})]})]})})})},Kl=1,Ul="ef74678e-b871-4b25-b1b9-383c3765e9d5",Zl="988bcc1e-af88-4e5a-b5d2-95b2fe995016",ql="/__l5e/assets-v1/ef74678e-b871-4b25-b1b9-383c3765e9d5/o-ring-messkegel-vergleich.webp",Jl="a/v1/988bcc1e-af88-4e5a-b5d2-95b2fe995016/ef74678e-b871-4b25-b1b9-383c3765e9d5/o-ring-messkegel-vergleich.webp",Yl="o-ring-messkegel-vergleich.webp",Ql=10516,Xl="image/webp",eo="2026-06-09T08:29:45Z",to={version:Kl,asset_id:Ul,project_id:Zl,url:ql,r2_key:Jl,original_filename:Yl,size:Ql,content_type:Xl,created_at:eo};function ro(){return e.jsxs("div",{className:"space-y-6 my-4",children:[e.jsx(Be,{className:"relative overflow-hidden border-2 border-primary/30 bg-gradient-to-br from-primary/5 via-background to-emerald-500/5 p-6",children:e.jsxs("div",{className:"relative",children:[e.jsxs(Z,{className:"mb-3 bg-primary text-primary-foreground gap-1",children:[e.jsx(vt,{className:"h-3 w-3"})," Made in Germany"]}),e.jsxs("h2",{className:"text-2xl md:text-3xl font-extrabold tracking-tight text-foreground mb-2",children:["O-Ring Messkegel ",e.jsx("span",{className:"text-primary",children:"3 – 158 mm"})]}),e.jsxs("p",{className:"text-base text-muted-foreground leading-relaxed mb-5 max-w-3xl",children:["Schnelles und exaktes Messen von ",e.jsx("strong",{className:"text-foreground",children:"O-Ringen, Dichtungen, Stütz- und Führungsringen"})," – ohne lästiges Dehnen. Der zu messende Rundkörper wird einfach auf den Kegel aufgeschoben, bis er überall anliegend festsitzt. Ablesen in ",e.jsx("strong",{className:"text-foreground",children:"1-mm-Stufen"}),"."]})]})}),e.jsx("div",{className:"rounded-xl overflow-hidden border border-border bg-background shadow-sm max-w-xl mx-auto",children:e.jsx("img",{src:to.url,alt:"Vergleich: O-Ring Messkegel (richtig) vs. Messschieber (ungenau)",className:"w-full h-auto block",loading:"lazy",decoding:"async"})}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs(Be,{className:"border-2 border-emerald-500/40 bg-emerald-50/50 dark:bg-emerald-950/20 p-5",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(Pe,{className:"h-5 w-5 text-emerald-600"}),e.jsx("h3",{className:"font-bold text-emerald-700 dark:text-emerald-400",children:"Mit O-Ring Messkegel"})]}),e.jsxs("ul",{className:"space-y-2 text-sm text-foreground",children:[e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-emerald-600 font-bold",children:"✓"})," O-Ring liegt exakt am Turm an – keine Verformung"]}),e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-emerald-600 font-bold",children:"✓"})," Durchmesser einfach ablesen in 1-mm-Schritten"]}),e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-emerald-600 font-bold",children:"✓"})," Auch Schlitzbreite von Führungs- und Stützringen messbar"]}),e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-emerald-600 font-bold",children:"✓"})," Stabil und immer wieder reproduzierbar"]})]})]}),e.jsxs(Be,{className:"border-2 border-rose-500/40 bg-rose-50/50 dark:bg-rose-950/20 p-5",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(Fn,{className:"h-5 w-5 text-rose-600"}),e.jsx("h3",{className:"font-bold text-rose-700 dark:text-rose-400",children:"Mit Messschieber"})]}),e.jsxs("ul",{className:"space-y-2 text-sm text-foreground",children:[e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-rose-600 font-bold",children:"✗"})," O-Ring dehnt sich beim Anlegen"]}),e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-rose-600 font-bold",children:"✗"})," Ungenaue, schwer reproduzierbare Messwerte"]}),e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-rose-600 font-bold",children:"✗"})," Innendurchmesser nur umständlich messbar"]}),e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-rose-600 font-bold",children:"✗"})," Stütz- und Führungsringe kaum sinnvoll messbar"]})]})]})]}),e.jsxs(Be,{className:"border-2 border-border p-5",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(Ei,{className:"h-5 w-5 text-primary"}),e.jsx("h3",{className:"text-lg font-bold",children:"Technische Daten"})]}),e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[e.jsx(pr,{icon:e.jsx(_s,{className:"h-4 w-4"}),label:"Messbereich",value:"3 – 158 mm"}),e.jsx(pr,{icon:e.jsx(jr,{className:"h-4 w-4"}),label:"Aufbau",value:"3-teilig steckbar"}),e.jsx(pr,{icon:e.jsx(_s,{className:"h-4 w-4"}),label:"Gesamthöhe",value:"700 mm"}),e.jsx(pr,{icon:e.jsx(_i,{className:"h-4 w-4"}),label:"Werkstoff",value:"PLA (Polylactide)"})]}),e.jsxs("div",{className:"mt-5 pt-5 border-t border-border",children:[e.jsx("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-3",children:"Kegelsegmente (einzeln oder gesteckt verwendbar)"}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3",children:[{nr:1,range:"3 – 54 mm"},{nr:2,range:"55 – 106 mm"},{nr:3,range:"107 – 158 mm"}].map(t=>e.jsxs("div",{className:"flex items-center gap-3 p-3 rounded-lg bg-primary/5 border border-primary/20",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-primary text-primary-foreground flex items-center justify-center font-bold text-sm flex-shrink-0",children:t.nr}),e.jsxs("div",{children:[e.jsxs("div",{className:"text-[10px] text-muted-foreground uppercase tracking-wider",children:["Segment ",t.nr]}),e.jsx("div",{className:"font-semibold text-foreground tabular-nums",children:t.range})]})]},t.nr))})]})]})]})}function pr({icon:t,label:r,value:s}){return e.jsxs("div",{className:"flex flex-col gap-1 p-3 rounded-lg bg-muted/30 border border-border",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[t,e.jsx("span",{className:"text-[10px] uppercase tracking-wider font-semibold",children:r})]}),e.jsx("div",{className:"font-bold text-foreground text-sm",children:s})]})}function so(){const t=m.useRef(null),[r,s]=m.useState(0),[n,a]=m.useState(!1);return m.useEffect(()=>{const d=t.current;if(!d)return;const u=new IntersectionObserver(([c])=>a(c.isIntersecting),{threshold:.15});return u.observe(d),()=>u.disconnect()},[]),m.useEffect(()=>{if(!n)return;const d=()=>{const u=t.current;if(!u)return;const x=1-u.getBoundingClientRect().top/window.innerHeight;s(Math.max(0,Math.min(1,x)))};return d(),window.addEventListener("scroll",d,{passive:!0}),()=>window.removeEventListener("scroll",d)},[n]),e.jsxs("div",{ref:t,className:"relative my-6 overflow-hidden rounded-3xl border border-amber-200 bg-gradient-to-br from-amber-50 via-orange-50 to-sky-50 shadow-xl",children:[e.jsx("div",{className:"pointer-events-none absolute -right-16 -top-16 h-64 w-64 roun
19ded-full bg-gradient-to-br from-yellow-300 via-orange-400 to-red-400 opacity-60 blur-2xl transition-transform duration-700",style:{transform:`translate(${r*-30}px, ${r*30}px) scale(${1+r*.3})`},"aria-hidden":!0}),e.jsx("div",{className:"pointer-events-none absolute -bottom-20 -left-20 h-72 w-72 rounded-full bg-gradient-to-br from-sky-200 via-cyan-200 to-blue-300 opacity-50 blur-3xl transition-transform duration-700",style:{transform:`translate(${r*40}px, ${r*-20}px)`},"aria-hidden":!0}),e.jsxs("div",{className:"relative z-10 p-6 sm:p-10",children:[e.jsxs("div",{className:"mb-8 flex flex-col items-start gap-3 sm:flex-row sm:items-center sm:justify-between",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"mb-2 inline-flex items-center gap-2 rounded-full bg-white/70 px-3 py-1 text-xs font-semibold uppercase tracking-wider text-amber-700 backdrop-blur-sm",children:[e.jsx(vt,{className:"h-3.5 w-3.5"}),"Wismet Original Cap · Sommer-Edition"]}),e.jsxs("h2",{className:"text-2xl font-bold leading-tight text-slate-900 sm:text-4xl",children:["Vom Feld ",e.jsx("span",{className:"text-orange-500",children:"bis an den Strand."})]}),e.jsx("p",{className:"mt-2 max-w-xl text-sm text-slate-700 sm:text-base",children:"Leichter Trucker-Style mit Mesh-Rücken – atmungsaktiv im Cockpit, cool am Meer. One Size, verstellbarer Snapback."})]}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx(hs,{icon:e.jsx(Ot,{className:"h-3.5 w-3.5"}),children:"Atmungsaktiv"}),e.jsx(hs,{icon:e.jsx(ft,{className:"h-3.5 w-3.5"}),children:"UV-Schutz"}),e.jsx(hs,{icon:e.jsx(Li,{className:"h-3.5 w-3.5"}),children:"One Size"})]})]}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-3",children:[e.jsx(xs,{src:Aa.url,alt:"Wismet Cap – Original Produktfoto",label:"Das Original",sublabel:"Wie geliefert",icon:e.jsx(vt,{className:"h-4 w-4"}),accent:"from-amber-500 to-orange-500",delay:0,visible:n,scroll:r}),e.jsx(xs,{src:Ca.url,alt:"Wismet Cap am Strand – Urlaubs-Style",label:"Beach Mode",sublabel:"Karibik-Vibes",icon:e.jsx(Pi,{className:"h-4 w-4"}),accent:"from-cyan-500 to-sky-500",delay:120,visible:n,scroll:r,ai:!0}),e.jsx(xs,{src:Ea.url,alt:"Wismet Cap auf dem Traktor im Weizenfeld",label:"Field Mode",sublabel:"Auf der Maschine",icon:e.jsx(Dn,{className:"h-4 w-4"}),accent:"from-green-600 to-emerald-500",delay:240,visible:n,scroll:r,ai:!0})]}),e.jsx("div",{className:"relative mt-8 overflow-hidden rounded-full bg-slate-900/90 py-2",children:e.jsxs("div",{className:"animate-[marquee_18s_linear_infinite] whitespace-nowrap text-xs font-bold uppercase tracking-[0.3em] text-amber-300",children:[" · Wismet Cap · Sommer Edition · One Size · Snapback · Mesh Back · Wismet Cap · Sommer Edition · One Size · Snapback · Mesh Back "," · Wismet Cap · Sommer Edition · One Size · Snapback · Mesh Back · Wismet Cap · Sommer Edition · One Size · Snapback · Mesh Back "]})})]}),e.jsx("style",{children:`
20        @keyframes marquee {
21          from { transform: translateX(0); }
22          to { transform: translateX(-50%); }
23        }
24        @keyframes cap-float {
25          0%, 100% { transform: translateY(0); }
26          50% { transform: translateY(-6px); }
27        }
28      `})]})}function hs({children:t,icon:r}){return e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full border border-amber-300 bg-white/80 px-3 py-1 text-xs font-semibold text-amber-900 shadow-sm backdrop-blur-sm",children:[r,t]})}function xs({src:t,alt:r,label:s,sublabel:n,icon:a,accent:d,delay:u,visible:c,scroll:x,ai:f}){return e.jsx("div",{className:"group relative overflow-hidden rounded-2xl bg-white shadow-lg ring-1 ring-black/5 transition-all duration-700",style:{opacity:c?1:0,transform:c?"translateY(0)":"translateY(30px)",transitionDelay:`${u}ms`},children:e.jsxs("div",{className:"relative aspect-[4/5] overflow-hidden",children:[e.jsx("img",{src:t,alt:r,loading:"lazy",className:"h-full w-full object-cover transition-transform duration-[1200ms] ease-out group-hover:scale-110",style:{transform:`translateY(${x*-12}px) scale(${1+x*.03})`,animation:"cap-float 6s ease-in-out infinite",animationDelay:`${u}ms`}}),e.jsx("div",{className:`pointer-events-none absolute inset-0 bg-gradient-to-t ${d} opacity-0 mix-blend-multiply transition-opacity duration-500 group-hover:opacity-30`}),e.jsx("div",{className:"absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 via-black/30 to-transparent p-4",children:e.jsxs("div",{className:"flex items-center gap-2 text-white",children:[e.jsx("span",{className:`inline-flex h-7 w-7 items-center justify-center rounded-full bg-gradient-to-br ${d} shadow-lg`,children:a}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-bold leading-tight",children:s}),e.jsx("div",{className:"text-[11px] uppercase tracking-wider text-white/80",children:n})]})]})}),f&&e.jsx("div",{className:"absolute right-2 top-2",children:e.jsx(_a,{})})]})})}function no(t,r){return Array.from(new Map([t,...r||[]].map(s=>
28(s||"").trim()).filter(Boolean).map(s=>[s.toUpperCase(),s])).values()).sort((s,n)=>s.localeCompare(n,"de"))}function ao(t,r){return no(t,r).join(", ")}function io({crossNr:t,manufacturer:r,alsoUsedBy:s,extraNumbers:n,size:a="md",className:d="",exactMatch:u=!1,fullWidth:c=!1,plain:x=!1}){const{isAdmin:f}=Lr(),h=a==="lg",v=x?"":c?"px-3 py-2 sm:px-3.5 sm:py-2.5":h?"pl-3 pr-5 py-2 sm:pl-4 sm:pr-6 sm:py-2.5":a==="sm"?"pl-2 pr-3.5 py-2":"pl-3 pr-5 py-2.5",y=h?"text-xs sm:text-sm":a==="sm"?"text-[10px]":"text-[11px]",o=h?"text-xl sm:text-2xl":a==="sm"?"text-base":"text-lg sm:text-xl",N=ao(r,s),w=N?`${N} ${t}`:t,k=c?"flex flex-col items-stretch gap-1.5 w-full min-w-0":"inline-flex flex-col items-start gap-1.5 min-w-0",b=x?"flex items-center gap-1.5 sm:gap-2 max-w-full":["flex items-center gap-1.5 sm:gap-2 max-w-full","bg-muted/40",c?"rounded-none border-b border-border":"rounded-full border border-border",v].join(" ");return e.jsxs("span",{className:["crossref-pill",k,d].join(" "),children:[e.jsx("span",{className:b,children:e.jsxs("span",{className:"flex flex-col leading-tight min-w-0 flex-1",children:[e.jsxs("span",{className:"flex items-center flex-wrap gap-x-2 gap-y-0.5 min-w-0",children:[e.jsx("span",{className:["font-bold uppercase tracking-[0.12em] text-muted-foreground",y].join(" "),children:"Passender Ersatz für"}),u&&c&&e.jsxs("span",{className:["inline-flex items-center gap-1 rounded-full shrink-0","bg-transparent border border-emerald-500/50","px-2 py-0.5",h?"text-sm font-bold":"text-[10px] font-bold","text-emerald-700 dark:text-emerald-400"].join(" "),children:[e.jsx(jt,{className:h?"h-4 w-4":"h-3 w-3",strokeWidth:3.5}),"Exakt"]})]}),N&&e.jsx("span",{className:["block font-extrabold uppercase text-foreground leading-snug",h?"text-xl sm:text-2xl":a==="sm"?"text-sm":"text-base"].join(" "),style:{overflowWrap:"break-word",wordBreak:"normal",hyphens:"none"},title:N,children:N}),e.jsxs("span",{className:"flex items-start flex-wrap gap-x-1.5 gap-y-0 min-w-0",children:[e.jsx("span",{className:["font-mono font-black text-foreground min-w-0 tracking-tight",o].join(" "),style:{wordBreak:"break-all",overflowWrap:"anywhere",hyphens:"auto"},title:w,children:t}),f&&e.jsx("button",{type:"button",onClick:l=>{var j;l.preventDefault(),l.stopPropagation();const p=t.trim();(j=navigator.clipboard)==null||j.writeText(p).then(()=>qe.success(`Kopiert: ${p}`),()=>qe.error("Kopieren fehlgeschlagen"))},"aria-label":`Herstellernummer ${t} kopieren`,title:"Herstellernummer kopieren (Admin)",className:"shrink-0 inline-flex items-center justify-center rounded p-1 text-emerald-700/70 hover:text-emerald-900 hover:bg-emerald-200/60 dark:text-emerald-300/70 dark:hover:text-emerald-100 dark:hover:bg-emerald-800/40 transition-colors",children:e.jsx(Fr,{className:h?"h-5 w-5":"h-3.5 w-3.5"})}),((n==null?void 0:n.length)??0)>0&&e.jsxs("span",{className:"shrink-0 inline-flex items-center rounded-full border border-primary/30 bg-background/70 px-2 py-0.5 font-semibold text-muted-foreground",style:{fontSize:h?"12px":"10px"},title:`Derselbe Artikel passt auch für: ${n.join(", ")}`,children:["+",n.length," weitere Nr."]})]})]})}),u&&!c&&e.jsxs("span",{className:["inline-flex items-center gap-1.5 rounded-full","bg-white dark:bg-emerald-950/40","border border-emerald-300 dark:border-emerald-700","px-3 py-1",h?"text-sm font-bold":"text-[11px] font-bold","text-emerald-700 dark:text-emerald-300","shadow-sm"].join(" "),children:[e.jsx(jt,{className:h?"h-4 w-4":"h-3.5 w-3.5",strokeWidth:3.5}),"Exakte Übereinstimmung"]})]})}const Ke=t=>(t||"").toLowerCase().replace(/[-./,_]/g," ").replace(/\s+/g," ").trim(),lo=({articleNumber:t,vehicles:r,vehiclesLoading:s})=>{const[n,a]=m.useState("select"),[d,u]=m.useState(""),[c,x]=m.useState({status:"idle"}),f=async()=>{const b=d.trim().replace(/\s+/g,"");if(b.length<4){x({status:"error",message:"Bitte mindestens 4 Zeichen eingeben (HSN oder HSN+TSN)."});return}x({status:"loading"});try{const{data:l}=await Zt("search-fahrzeugkatalog",{body:{action:"kbaSearch",kba:b}}),p=(l==null?void 0:l.items)||[];if(p.length===0){x({status:"no-match",query:b});return}const j=new Set(r.map($=>`${Ke($.hersteller)}::${Ke($.fahrzeug)}`)),S=[],T=new Set;for(const $ of p){const C=`${Ke($.hersteller)}::${Ke($.fahrzeug)}`;if(j.has(C)&&!T.has(C)){T.add(C);const E=r.find(_=>Ke(_.hersteller)===Ke($.hersteller)&&Ke(_.fahrzeug)===Ke($.fahrzeug));E&&S.push(E)}}S.length>0?x({status:"match",matched:S,query:b}):x({status:"no-match",query:b})}catch(l){x({status:"error",message:(l==null?void 0:l.message)||"Fehler bei der KBA-Abfrage."})}},h=m.useMemo(()=>Array.from(new Set(r.map(b=>
28b.hersteller).filter(Boolean))).sort((b,l)=>b.localeCompare(l,"de")),[r]),[v,y]=m.useState(""),[o,N]=m.useState(""),w=m.useMemo(()=>v?Array.from(new Set(r.filter(b=>b.hersteller===v).map(b=>b.fahrzeug))).sort((b,l)=>b.localeCompare(l,"de")):[],[r,v]);m.useEffect(()=>{N("")},[v]);const k=m.useMemo(()=>!v||!o?null:r.find(b=>b.hersteller===v&&b.fahrzeug===o)||null,[r,v,o]);return s?e.jsxs("div",{className:"flex items-center justify-center py-12 gap-2 text-muted-foreground",children:[e.jsx(Je,{className:"h-5 w-5 animate-spin"}),e.jsx("span",{className:"text-sm",children:"Fahrzeugdaten werden geladen…"})]}):!r||r.length===0?e.jsxs("div",{className:"rounded-xl border border-dashed border-border bg-muted/30 p-6 text-center",children:[e.jsx(Vt,{className:"h-10 w-10 mx-auto text-muted-foreground/50 mb-3"}),e.jsxs("p",{className:"text-sm font-semibold text-foreground mb-1",children:["Keine Fahrzeugzuordnungen für ",t," hinterlegt"]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Für diesen Artikel sind im System keine kompatiblen Fahrzeuge bekannt. Das bedeutet nicht zwingend, dass er nicht passt – bitte vergleichen Sie die Abmessungen oder kontaktieren Sie unseren Kundensupport."})]}):e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"rounded-lg border bg-gradient-to-br from-primary/5 to-background p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-primary text-primary-foreground shadow",children:e.jsx(Vt,{className:"h-5 w-5"})}),e.jsxs("div",{children:[e.jsxs("h3",{className:"text-sm font-bold text-foreground",children:["Passt ",t," zu Ihrem Fahrzeug?"]}),e.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:["Prüfen Sie sofort per KBA-Nummer (HSN/TSN aus dem Fahrzeugschein) oder über die Fahrzeugauswahl. Wir gleichen mit ",r.length," hinterlegten Fahrzeugzuordnungen ab."]})]})]})}),e.jsxs(Gt,{value:n,onValueChange:b=>a(b),children:[e.jsxs(st,{className:"grid w-full grid-cols-2",children:[e.jsxs(W,{value:"select",className:"gap-2",children:[e.jsx(Ii,{className:"h-4 w-4"}),"Fahrzeug wählen"]}),e.jsxs(W,{value:"kba",className:"gap-2",children:[e.jsx(Fi,{className:"h-4 w-4"}),"KBA-Nummer"]})]}),e.jsxs(de,{value:"kba",className:"mt-4 space-y-3",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-xs font-semibold text-foreground mb-1.5 block",children:"HSN / TSN aus Ihrem Fahrzeugschein (Feld 2.1 + 2.2)"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(Qe,{value:d,onChange:b=>u(b.target.value.toUpperCase()),onKeyDown:b=>{b.key==="Enter"&&f()},placeholder:"z.B. 0603 ABC",className:"font-mono",maxLength:10}),e.jsxs(J,{onClick:f,disabled:c.status==="loading",className:"shrink-0",children:[c.status==="loading"?e.jsx(Je,{className:"h-4 w-4 animate-spin"}):e.jsx(at,{className:"h-4 w-4"}),e.jsx("span",{className:"ml-1.5 hidden sm:inline",children:"Prüfen"})]})]}),e.jsx("p",{className:"text-[11px] text-muted-foreground mt-1.5",children:"Nur PKW. Geben Sie die HSN (4 Ziffern) ein, optional zusätzlich die TSN (3 Zeichen)."})]}),c.status==="match"&&e.jsx("div",{className:"rounded-lg border-2 border-emerald-500 bg-emerald-50 dark:bg-emerald-950/30 p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Pe,{className:"h-6 w-6 text-emerald-600 dark:text-emerald-400 shrink-0 mt-0.5"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-sm font-bold text-emerald-900 dark:text-emerald-100",children:"Passt zu Ihrem Fahrzeug!"}),e.jsxs("p",{className:"text-xs text-emerald-800 dark:text-emerald-200 mt-0.5",children:["KBA ",e.jsx("span",{className:"font-mono font-semibold",children:c.query})," stimmt mit"," ",c.matched.length," Fahrzeug",c.matched.length>1?"en":""," aus unserer Liste überein:"]}),e.jsx("ul",{className:"mt-2 space-y-1",children:c.matched.slice(0,5).map((b,l)=>e.jsxs("li",{className:"text-xs text-emerald-900 dark:text-emerald-100 font-medium",children:["✓ ",b.hersteller," ",b.fahrzeug]},l))})]})]})}),c.status==="no-match"&&e.jsx("div",{className:"rounded-lg border-2 border-amber-400 bg-amber-50 dark:bg-amber-950/30 p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Fn,{className:"h-6 w-6 text-amber-600 dar
28k:text-amber-400 shrink-0 mt-0.5"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-sm font-bold text-amber-900 dark:text-amber-100",children:"Nicht eindeutig zugeordnet"}),e.jsxs("p",{className:"text-xs text-amber-800 dark:text-amber-200 mt-0.5",children:["Für KBA ",e.jsx("span",{className:"font-mono font-semibold",children:c.query})," haben wir keine Übereinstimmung mit den hinterlegten Fahrzeugen für"," ",t," gefunden. Bitte prüfen Sie die Abmessungen im Details-Tab oder kontaktieren Sie unseren Kundensupport."]})]})]})}),c.status==="error"&&e.jsx("div",{className:"rounded-lg border border-destructive/40 bg-destructive/5 p-3 text-xs text-destructive",children:c.message})]}),e.jsxs(de,{value:"select",className:"mt-4 space-y-3",children:[e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-xs font-semibold text-foreground mb-1.5 block",children:"Hersteller"}),e.jsxs(Ns,{value:v,onValueChange:y,children:[e.jsx(ks,{children:e.jsx(ws,{placeholder:"Hersteller wählen…"})}),e.jsx(ys,{children:h.map(b=>e.jsx(Ss,{value:b,children:b},b))})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs font-semibold text-foreground mb-1.5 block",children:"Modell"}),e.jsxs(Ns,{value:o,onValueChange:N,disabled:!v,children:[e.jsx(ks,{children:e.jsx(ws,{placeholder:v?"Modell wählen…":"Erst Hersteller wählen"})}),e.jsx(ys,{children:w.map(b=>e.jsx(Ss,{value:b,children:b},b))})]})]})]}),k&&e.jsx("div",{className:"rounded-lg border-2 border-emerald-500 bg-emerald-50 dark:bg-emerald-950/30 p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Pe,{className:"h-6 w-6 text-emerald-600 dark:text-emerald-400 shrink-0 mt-0.5"}),e.jsxs("div",{className:"flex-1",children:[e.jsxs("p",{className:"text-sm font-bold text-emerald-900 dark:text-emerald-100",children:["Passt zu ",k.hersteller," ",k.fahrzeug]}),k.variants.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("p",{className:"text-xs text-emerald-800 dark:text-emerald-200 mt-1.5 mb-1",children:["Hinterlegte Motorvarianten (",k.variants.length,"):"]}),e.jsxs("div",{className:"space-y-0.5 max-h-40 overflow-y-auto",children:[k.variants.slice(0,12).map((b,l)=>{const p=[b.Typ,b.PS&&`${b.PS} PS`,b.Zusatz1show,b.Zusatz2show,b.Zusatz3show].filter(Boolean);return e.jsxs("div",{className:"text-[11px] text-emerald-900 dark:text-emerald-100 font-mono",children:["✓ ",p.join(" · ")]},l)}),k.variants.length>12&&e.jsxs("div",{className:"text-[11px] text-emerald-700 dark:text-emerald-300 italic",children:["…und ",k.variants.length-12," weitere Varianten"]})]})]})]})]})})]})]})]})},oo=t=>{try{return new Date(t).toLocaleDateString("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"})}catch{return""}};function co({articleNumber:t,className:r}){const{user:s}=Ks(),{impersonatedUser:n,isImpersonating:a}=La(),d=a?n==null?void 0:n.auth_uid:null,u=!!s&&!!t,{data:c}=Xe({queryKey:["article-purchase-history",t.toUpperCase(),d||(s==null?void 0:s.id)||"self"],enabled:u,staleTime:5*60*1e3,gcTime:30*60*1e3,retry:1,queryFn:async()=>{const{data:v,error:y}=await xt("article-purchase-history",{body:{action:"lookup",article_number:t,...d?{target_user_id:d}:{}},silent:!0});return y||!(v!=null&&v.success)?null:{purchased:!!v.purchased,last_purchased_at:v.last_purchased_at||null,total_quantity:Number(v.total_quantity||0),order_count:Number(v.order_count||0)}}});if(!u||!(c!=null&&c.purchased)||!c.last_purchased_at)return null;const x=oo(c.last_purchased_at),f=c.order_count,h=c.total_quantity;return e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full border border-emerald-300/70 bg-emerald-50 px-2 py-0.5 text-[11px] font-medium text-emerald-700 dark:border-emerald-700/50 dark:bg-emerald-950/40 dark:text-emerald-300 "+(r||""),title:`Sie haben diesen Artikel bisher ${f}× bestellt (insgesamt ${h} Stk.). Letzte Bestellung am ${x}.`,children:[e.jsx(Pe,{className:"h-3 w-3"}),"Zuletzt gekauft am ",x,f>1&&e.jsxs("span",{className:"rounded-full bg-emerald-200/70 px-1.5 text-[10px] font-semibold text-emerald-800 dark:bg-emerald-800/40 dark:text-emerald-200",children:[f,"×"]})]})}const mo="/assets/oelablassschrauben-hero-B91O83J3.jpg";function uo(t){const r=String(t||"").trim().toLowerCase();return r==="ölfilter"||r==="oelfilter"}function ho({artikelArt:t,onNavigate:r}){return uo(t)?e.jsxs(je,{to:"/oelablassschrauben",onClick:r,className:"oel-banner group relative block mb-4 rounded-lg overflow-hidden px-3.5 py-2.5 no-underline",style:{background:"linear-gradient(115deg, #1a0f2e 0%, #2a1638 30%, #4a2418 65%, #6b3a1a 90%, #8a5028 100%)",boxShadow:"0 1px 0 hsl(30 80% 55% / 0.25) inset, 0 0 0 1px hsl(28 70% 45% / 0.55), 0 6px 20px -8px hsl(280 60% 20% / 0.6)"}
28,children:[e.jsx("span",{"aria-hidden":!0,className:"oel-banner__shimmer"}),e.jsx("span",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 opacity-60",style:{background:"radial-gradient(120% 60% at 50% 0%, hsl(35 90% 65% / 0.18), transparent 60%)"}}),e.jsxs("div",{className:"relative flex items-center gap-3",children:[e.jsx("div",{className:"shrink-0 h-12 w-12 rounded-md overflow-hidden ring-1",style:{boxShadow:"0 0 0 1px hsl(30 80% 55% / 0.5), 0 0 12px hsl(30 80% 45% / 0.35)"},children:e.jsx("img",{src:mo,alt:"Ölablassschraube mit Kupferring",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500",loading:"lazy"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-amber-300/90",children:"Passend zum Ölwechsel"}),e.jsx("div",{className:"text-sm font-semibold text-amber-50 truncate drop-shadow-[0_1px_1px_rgba(0,0,0,0.6)]",children:"Ölablassschraube gleich mitbestellen – jetzt zur Übersicht."})]}),e.jsxs("div",{className:"shrink-0 flex items-center gap-1 text-xs font-semibold text-amber-200 group-hover:translate-x-0.5 transition-transform",children:[e.jsx("span",{className:"hidden sm:inline",children:"Zur Übersicht"}),e.jsx(rt,{className:"h-4 w-4"})]})]})]}):null}const xo=["webshop_article_notices_public"];function Un(t){let r=t;if(typeof r=="string"){const s=r.trim();if(!s)return[];try{r=JSON.parse(s)}catch{return[]}}return Array.isArray(r)?r.filter(s=>s&&typeof s=="object"&&typeof s.artnr=="string"&&s.artnr.trim()).map(s=>({artnr:String(s.artnr).trim().toUpperCase(),label:s.label?String(s.label):void 0})):[]}async function go(){const{data:t,error:r}=await me.functions.invoke("webshop-article-notices",{body:{action:"list_public"}});if(r)throw r;const s=(t==null?void 0:t.rows)||[],n=new Map;return s.forEach(a=>{n.set(String(a.article_number).toUpperCase().trim(),{...a,links:Un(a.links)})}),n}function po(){return Xe({queryKey:xo,queryFn:go,staleTime:5*60*1e3,gcTime:30*60*1e3})}function fo(t){const{data:r}=po();return!t||!r?null:r.get(t.trim().toUpperCase())||null}const bo=/^(\/artikel\/[^/]+|\/dasbeste\/artikel\/[^/]+)\/?$/,jo=({articleNumber:t,className:r,compact:s})=>{var y;const n=fo(t),a=En(),d=((y=a.state)==null?void 0:y.backgroundLocation)??(bo.test(a.pathname)?void 0:a);if(!n)return null;const u=(n.tone??"warning")==="warning",c=u?Dt:bt,x=Un(n.links),f=u?"border-amber-400 bg-amber-50 text-amber-900 dark:border-amber-700 dark:bg-amber-950/40 dark:text-amber-200":"border-sky-400 bg-sky-50 text-sky-900 dark:border-sky-700 dark:bg-sky-950/40 dark:text-sky-200",h=u?"border-amber-500/60 bg-amber-100/70 hover:bg-amber-200/80 dark:border-amber-600/60 dark:bg-amber-900/40 dark:hover:bg-amber-900/70":"border-sky-500/60 bg-sky-100/70 hover:bg-sky-200/80 dark:border-sky-600/60 dark:bg-sky-900/40 dark:hover:bg-sky-900/70",v=u?"border-amber-300/70 bg-amber-50/60 text-amber-800 dark:border-amber-800/60 dark:bg-amber-950/20 dark:text-amber-300":"border-sky-300/70 bg-sky-50/60 text-sky-800 dark:border-sky-800/60 dark:bg-sky-950/20 dark:text-sky-300";return s?e.jsxs("div",{className:`inline-flex items-start gap-1.5 rounded-md border px-2 py-1 text-[10.5px] font-medium leading-snug ${v} ${r||""}`,title:`${n.title}: ${n.message}`,children:[e.jsx(c,{className:"h-3 w-3 flex-shrink-0 mt-0.5 opacity-70"}),e.jsx("span",{className:"line-clamp-2",children:n.message})]}):e.jsxs("div",{role:"note",className:`flex items-start gap-3 rounded-lg border-2 px-4 py-3.5 shadow-sm ${f} ${r||""}`,children:[e.jsx(c,{className:"h-6 w-6 flex-shrink-0 mt-0.5"}),e.jsxs("div",{className:"space-y-1.5 min-w-0",children:[e.jsx("p",{className:"text-[15px] font-bold uppercase tracking-wide",children:n.title}),n.message&&e.jsx("p",{className:"text-[15px] leading-relaxed whitespace-pre-line",children:n.message}),x.length>0&&e.jsx("div",{className:"flex flex-wrap gap-2 pt-1",children:x.map(o=>{var N,w;return e.jsxs(je,{to:`/artikel/${encodeURIComponent(o.artnr)}`,state:d?{backgroundLocation:d}:void 0,className:`inline-flex max-w-full items-center gap-1.5 rounded-md border px-2.5 py-1 text-[13px] font-semibold transition-colors ${h}`,children:[e.jsx("span",{className:"truncate max-w-[180px] min-w-0",children:((N=o.label)==null?void 0:N.trim())||o.artnr}),((w=o.label)==null?void 0:w.trim())&&e.jsx("span",{className:"shrink-0 font-mono text-[11px] opacity-70",children:o.artnr}),e.jsx(rt,{className:"h-3.5 w-3.5 flex-shrink-0"})]},o.artnr)})})]})]})},vo="/assets/lufttrockner-standard-sketch-CHe6ImgD.jpg",No="/assets/lufttrockner-oelabscheider-sketch-C2P5_Bj_.jpg",ko=[{key:"wasser",label:"Feuchtigkeit / Wasser aus der Druckluft entfernen",std:"yes",coal:"yes"},{key:"oel",label:"Öl-Aerosole / Ölnebel aus dem Kompressor abscheiden",std:"no",coal:"yes"},{key:"schutz",label:"Schutz von Ventilen & Bremszylindern vor Korrosion",std:"yes",coal:"yes"},{key:"schutz2",label:"Schutz vor Verharzung / Ölablagerungen im System",std:"no",coal:"yes"},{key:"frost",label:"Frostschutz im Winter (Verhinderung von Eisbildung)",std:"yes",coal:"yes"},{key:"wartung",label:"Längere Wechselintervalle bei älteren Kompressoren",std:"partial",coal:"yes"},{key:"preis",label:"Günstiger im Einkauf",std:"yes",coal:"partial"}],wo=[{key:"standard",label:"Standard-Trockenmittelpatrone",sub:"Nur Lufttrocknung (Silikagel)",color:"from-sky-500 to-blue-700",ring:"ring-sky-500/30",icon:Ot,desc:"Klassische Bauart mit reinem Trockenmittel (Silikagel-Perlen). Entzieht der vom Kompressor verdichteten Druckluft die Feuchtigkeit. Ölabscheidung übernimmt – falls vorhanden – ein separater Ölabscheider am Kompressor.",einsatz:"Für Fahrzeuge, deren Kompressor wenig Öl in die Druckluft schiebt (gut gewartet, neueres Baujahr) oder bei denen ein separater Ölabscheider vorgeschaltet ist.",beispielHinweis:'Erkennbar oft am schlankeren Gehäuse und der Bezeichnung „Standard" / „ohne Ölabscheider" / „Air Dryer Cartridge".'},{key:"coalescer",label:"Patrone mit Ölabscheider",sub:"Coalescer + Trockenmittel (2-in-1)",color:"from-
28amber-600 to-orange-700",ring:"ring-amber-500/30",icon:Bt,desc:"Kombi-Patrone: Ein integriertes Coalescer-Vlies fängt im Vorlauf die feinen Öl-Aerosole ab, dahinter trocknet das Silikagel die Luft. Schützt Bremsventile, Trockenmittel und Bremszylinder zusätzlich vor Öl-Eintrag.",einsatz:"Pflicht bei älteren Kompressoren mit hohem Ölverbrauch, sowie bei Land- & Baumaschinen mit hoher Last und langen Standzeiten. Verlängert die Lebensdauer des Trockenmittels deutlich.",beispielHinweis:'Erkennbar an Bezeichnungen wie „Oil Separator", „mit Ölabscheider", „Coalescent" oder einem etwas größeren / höheren Gehäuse.'}],vn=t=>t==="yes"?e.jsxs("span",{className:"inline-flex items-center gap-1 text-emerald-600 dark:text-emerald-400",children:[e.jsx(Pe,{className:"h-4 w-4"})," ja"]}):t==="partial"?e.jsxs("span",{className:"inline-flex items-center gap-1 text-amber-600 dark:text-amber-400",children:[e.jsx(cn,{className:"h-4 w-4"})," teilweise"]}):e.jsxs("span",{className:"inline-flex items-center gap-1 text-rose-600 dar
28k:text-rose-400",children:[e.jsx(cn,{className:"h-4 w-4"})," nein"]}),yo=({withCoalescer:t})=>e.jsx("img",{src:t?No:vo,alt:t?"Technische Schnittzeichnung Lufttrocknerpatrone mit Ölabscheider (Coalescer)":"Technische Schnittzeichnung Standard-Lufttrocknerpatrone mit Silikagel",loading:"lazy",width:1024,height:1024,className:"w-full h-auto max-h-72 object-contain rounded-md bg-white"}),Zn=()=>e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(Ls,{className:"h-5 w-5 text-primary"}),e.jsx("h2",{className:"text-lg md:text-xl font-bold",children:"Trockenmittelpatronen für Druckluft-Bremsanlagen"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Lufttrocknerpatronen (Trockenmittelboxen) sitzen am Lufttrockner der Bremsanlage von LKW, Bus, Anhänger und Landmaschinen. Sie entziehen der vom Kompressor verdichteten Luft Feuchtigkeit – und je nach Bauart auch Öl-Aerosole. Es gibt zwei Hauptvarianten:"})]}),e.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:wo.map((t,r)=>{const s=t.icon;return e.jsxs(ll.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:r*.08},className:`rounded-xl border bg-card p-4 ring-1 ${t.ring}`,children:[e.jsxs("div",{className:`inline-flex items-center gap-2 px-2.5 py-1 rounded-full text-white text-xs font-semibold bg-gradient-to-r ${t.color} mb-3`,children:[e.jsx(s,{className:"h-3.5 w-3.5"}),"Variante ",r+1]}),e.jsx("h3",{className:"font-bold text-base leading-tight",children:t.label}),e.jsx("p",{className:"text-xs text-muted-foreground mb-3",children:t.sub}),e.jsx("div",{className:"bg-muted/40 rounded-lg p-2 mb-3 flex items-center justify-center",children:e.jsx(yo,{withCoalescer:t.key==="coalescer"})}),e.jsx("p",{className:"text-sm leading-relaxed mb-2",children:t.desc}),e.jsxs("div",{className:"text-xs space-y-1.5 mt-3 pt-3 border-t",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(Di,{className:"h-3.5 w-3.5 text-primary shrink-0 mt-0.5"}),e.jsxs("span",{children:[e.jsx("span",{className:"font-semibold",children:"Typischer Einsatz:"})," ",t.einsatz]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(bt,{className:"h-3.5 w-3.5 text-primary shrink-0 mt-0.5"}),e.jsxs("span",{children:[e.jsx("span",{className:"font-semibold",children:"Erkennung:"})," ",t.beispielHinweis]})]})]})]},t.key)})}),e.jsxs("div",{className:"rounded-xl border bg-card overflow-hidden",children:[e.jsx("div",{className:"px-4 py-2.5 border-b bg-muted/40",children:e.jsx("h3",{className:"font-semibold text-sm",children:"Eigenschaften im Vergleich"})}),e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{className:"bg-muted/30 text-xs",children:e.jsxs("tr",{children:[e.jsx("th",{className:"text-left px-3 py-2 font-semibold",children:"Eigenschaft"}),e.jsx("th",{className:"text-center px-3 py-2 font-semibold",children:"Standard"}),e.jsx("th",{className:"text-center px-3 py-2 font-semibold",children:"mit Ölabscheider"})]})}),e.jsx("tbody",{children:ko.map((t,r)=>e.jsxs("tr",{className:r%2===0?"bg-background":"bg-muted/20",children:[e.jsx("td",{className:"px-3 py-2",children:t.label}),e.jsx("td",{className:"px-3 py-2 text-center",children:vn(t.std)}),e.jsx("td",{className:"px-3 py-2 text-center",children:vn(t.coal)})]},t.key))})]})})]}),e.jsx("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 p-3 text-xs",children:e.jsxs("div",{className:"flex gap-2",children:[e.jsx(bt,{className:"h-4 w-4 text-amber-600 shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("span",{className:"font-semibold",children:"Wechselintervall:"})," Lufttrocknerpatronen sollten – abhängig vom Kompressorzustand und Einsatzprofil – in der Regel ",e.jsx("span",{className:"font-semibold",children:"alle 1–2 Jahre"})," oder nach Herstellervorgabe getauscht werden. Verfärbtes Kondensat, Öl im Druckluftbehälter oder gefrierende Bremsventile sind klare Anzeichen für einen überfälligen Wechsel. Im Zweifel hilft unser Kundensupport unter ",e.jsx("span",{className:"font-semibold",children:"09662 4209901"})," bei der Auswahl der passenden Variante."]})]})})]}),So=[{kind:"youtube",id:"5J8RHzNA1E4",title:"KOPP Reinigungsmittel – im Einsatz",description:"Vorstellung & Live-Reinigung mit KOPP"},{kind:"mp4",src:"https://kopp-reinigungsmittel.de/wp-content/uploads/2022/10/Landmaschinen_und_Trecker_einfach_waschen_mit_KOPP_____.mp4.mp4",poster:"/__l5e/assets-v1/ce7723a6-950b-406a-88e4-a456d779d136/kopp-landmaschinen-poster.jpg",title:"Landmaschinen & Trecker einfach waschen",description:"Demo an stark verschmutzten Landmaschinen"},{kind:"mp4",src:"https://kopp-reinigungsmittel.de/wp-content/uploads/2022/10/Br_ning_LKW_Waschanlage_mit_KOPP_____.mp4.mp4",poster:"/__l5e/assets-v1/24811ad4-722e-438b-a8ca-cf6e905d8cfd/kopp-lkw-poster.jpg",title:"Brüning LKW-Waschanlage mit KOPP",description:"Einsatz in der professionellen LKW-Waschanlage"}];function zo({video:t}){const[r,s]=m.useState(!1);if(!r){const n=t.poster??(t.kind==="youtube"?`https://i.ytimg.com/vi/${t.id}/hqdefault.jpg`:void 0);return e.jsxs("button",{type:"button",onClick:()=>s(!0),className:"group relative w-full aspect-video rounded-xl overflow-hidden border border-border bg-gradient-to-br from-slate-900 to-slate-800 focus:outline-none focus:ring-2 focus:ring-primary/60","aria-label":`Video abspielen: ${t.title}`,children:[n&&e.jsx("img",{src:n,alt:"","aria-hidden":"true",loading:"lazy",className:"absolute inset-0 w-full h-full object-cover opacity-90 group-hover:opacity-100 group-hover:scale-[1.02] transition-all duration-500"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-slate-950/80 via-slate-950/10 to-transparent"}),e.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:e.jsx("span",{className:"flex items-center justify-center h-14 w-14 sm:h-16 sm:w-16 rounded-full bg-white/95 text-slate-900 shadow-xl group-hover:bg-primary group-hover:text-primary-foreground transition-colors",children:e.jsx(Tn,{className:"h-6 w-6 sm:h-7 sm:w-7 fill-current ml-0.5"})})}),e.jsxs("div",{className:"absolute bottom-0 left-0 right-0 p-3 text-left",children:[e.jsx("p",{className:"text-sm font-semibold text-white drop-shadow leading-tight",children:t.title}),e.jsx("p",{className:"text-[11px] text-white/80 mt-0.5",children:t.description})]})]})}return t.kind==="youtube"?e.jsx("div",{className:"relative w-full aspect-video rounded-xl overflow-hidden border border-border bg-black",children:e.jsx("iframe",{src:`https://www.youtube-nocookie.com/embed/${t.id}?autoplay=1&rel=0&modestbranding=1`,title:t.title,loading:"lazy",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,className:"absolute inset-0 w-full h-full"})}):e.jsx("div",{className:"relative w-full aspect-video rounded-xl overflow-hidden border border-border bg-black",children:e.jsx("video",{src:t.src,controls:!0,autoPlay:!0,playsInl
28ine:!0,preload:"metadata",className:"absolute inset-0 w-full h-full object-contain bg-black",children:"Ihr Browser unterstützt das Video-Tag nicht."})})}function Ao(){return e.jsxs("section",{"aria-label":"KOPP Reinigungsmittel – Videos",className:"mt-5 mb-2 rounded-2xl border border-emerald-200/70 dark:border-emerald-700/40 bg-gradient-to-br from-emerald-50/80 via-white to-sky-50/60 dark:from-emerald-950/30 dark:via-background dark:to-sky-950/20 p-4 sm:p-5",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx("span",{className:"inline-flex items-center justify-center h-7 w-7 rounded-full bg-emerald-600/10 text-emerald-700 dark:text-emerald-300",children:e.jsx(vt,{className:"h-3.5 w-3.5"})}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-sm font-bold tracking-tight",children:"KOPP Reinigungsmittel im Einsatz"}),e.jsx("p",{className:"text-[11px] text-muted-foreground",children:"Sehen Sie die Wirkung – Klick auf ein Video startet die Wiedergabe."})]})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-3",children:So.map(t=>e.jsx(zo,{video:t},"id"in t?t.id:t.src))})]})}const Hs=new Set(["H002394","H002425","H002426","H002427","H002431","H002432","H002433","H002434","H002435","H002436","H002437","H002438","H002439","H002850","H002851","H002852","H002853","H002854","H002855","H002856","H002857"]);function Co(t){return t?Hs.has(t.trim().toUpperCase()):!1}function Eo(){return e.jsxs("div",{className:"mb-5 rounded-2xl border border-amber-300/40 bg-gradient-to-br from-amber-50 to-white dark:from-amber-950/30 dark:to-slate-950/40 p-3 sm:p-4 shadow-sm",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(Ot,{className:"h-4 w-4 text-amber-600"}),e.jsx("span",{className:"text-[11px] font-bold uppercase tracking-widest text-amber-700 dark:text-amber-300",children:"Donaldson TopSpin™ — Funktionsweise"})]}),e.jsx("p",{className:"text-xs text-muted-foreground mb-3 leading-relaxed",children:"Wie der Zyklon-Vorabscheider Staub, Sand und Spreu schon vor dem Hauptluftfilter aus der Ansaugluft schleudert — Standzeiten Ihres Luftfilters bis zu 3× verlängert."}),e.jsx("div",{className:"relative w-full aspect-video overflow-hidden rounded-xl border border-border bg-black",children:e.jsx("video",{src:Yi.url,controls:!0,playsInline:!0,preload:"metadata",className:"absolute inset-0 w-full h-full object-contain"})})]})}const _o={diesel:{kw:.09,ps:.065},otto:{kw:.07,ps:.05}},gs=new Set(["D080020","D080026","D080056","D090055","D090073","D090101","D090120","D090121","D100029","D100030","D100031","D100032","D100068","D100072","D120035","D120036","D120037","D120038","D140110","D140111"]);function Nn(t){return(t||"").trim().toUpperCase().replace(/[\s\-./]/g,"")}function Lo(t,r,s){const n=Nn(t);if(n&&gs.has(n))return!0;if(r&&r.length)for(const a of r){const d=Nn(a==null?void 0:a.nummer);if(d&&gs.has(d))return!0}if(s){const a=s.toUpperCase();for(const d of gs)if(a.includes(d))return!0}return!1}function Po(){const[t,r]=m.useState("diesel"),[s,n]=m.useState("kw"),[a,d]=m.useState(""),u=parseFloat(a),c=!isNaN(u)&&u>0?{m3:u*_o[t][s]}:null;return e.jsx("div",{className:"mb-5",children:e.jsxs(Be,{className:"border-2 border-primary/20 overflow-hidden",children:[e.jsx(Pa,{className:"pb-3 bg-gradient-to-r from-primary/10 to-transparent",children:e.jsxs(Ia,{className:"flex items-center gap-3 text-base sm:text-lg",children:[e.jsx("div",{className:"w-9 h-9 rounded-full bg-primary/20 flex items-center justify-center",children:e.jsx(Ti,{className:"h-5 w-5 text-primary"})}),"Luftbedarf-Rechner"]})}),e.jsxs(Fa,{className:"space-y-4 p-4 sm:p-5",children:[e.jsx("div",{className:"bg-muted/40 rounded-xl p-3 sm:p-4 border",children:e.jsxs("div",{className:"grid sm:grid-cols-2 gap-3 text-sm",children:[e.jsxs("div",{className:"flex items-start gap-3 p-3 bg-amber-500/10 rounded-lg border border-amber-500/20",children:[e.jsx(dn,{className:"h-5 w-5 text-amber-600 shrink-0"}),e.jsxs("div",{children:[e.jsx("div",{className:"font-bold text-amber-700 dark:text-amber-400 mb-1",children:"Dieselmotor"}),e.jsxs("div",{className:"text-muted-foreground",children:["1 kW ≈ ",e.jsx("strong",{className:"text-foreground",children:"0,09 m³/min"})]}),e.jsxs("div",{className:"text-muted-foreground",children:["1 PS ≈ ",e.jsx("strong",{className:"text-foreground",children:"0,065 m³/min"})]})]})]}),e.jsxs("div",{className:"flex items-start gap-3 p-3 bg-green-500/10 rounded-lg border border-green-500/20",children:[e.jsx(mn,{className:"h-5 w-5 text-green-600 shrink-0"}),e.jsxs("div",{children:[e.jsx("div",{className:"font-bold text-green-700 dark:text-green-400 mb-1",children:"Ottomotor"}),e.jsxs("div",{className:"text-muted-foreground",children:["1 kW ≈ ",e.jsx("strong",{className:"text-foreground",children:"0,07 m³/min"})]}),e.jsxs("div",{className:"text-muted-foreground",children:["1 PS ≈ ",e.jsx("strong",{className:"text-foreground",children:"0,05 m³/min"})]})]})]})]})}),e.jsxs("div",{className:"border-t-2 border-dashed pt-4",children:[e.jsxs("div",{className:"grid sm:grid-cols-3 gap-3",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(ss,{className:"text-xs",children:"Motort
28yp"}),e.jsx(Gt,{value:t,onValueChange:x=>r(x),children:e.jsxs(st,{className:"grid w-full grid-cols-2 h-10",children:[e.jsxs(W,{value:"diesel",className:"text-xs gap-1",children:[e.jsx(dn,{className:"h-3 w-3"}),"Diesel"]}),e.jsxs(W,{value:"otto",className:"text-xs gap-1",children:[e.jsx(mn,{className:"h-3 w-3"}),"Otto"]})]})})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(ss,{className:"text-xs",children:"Einheit"}),e.jsx(Gt,{value:s,onValueChange:x=>n(x),children:e.jsxs(st,{className:"grid w-full grid-cols-2 h-10",children:[e.jsx(W,{value:"kw",className:"text-xs",children:"kW"}),e.jsx(W,{value:"ps",className:"text-xs",children:"PS"})]})})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs(ss,{className:"text-xs",children:["Motorleistung (",s.toUpperCase(),")"]}),e.jsx(Qe,{type:"number",min:"0",step:"1",placeholder:`z.B. ${s==="kw"?"75":"100"}`,value:a,onChange:x=>d(x.target.value),className:"h-10"})]})]}),c&&e.jsxs("div",{className:"mt-4 p-4 bg-gradient-to-br from-primary/15 to-primary/5 rounded-xl border-2 border-primary/30 text-center",children:[e.jsxs("p",{className:"text-xs text-muted-foreground mb-1",children:["Empfohlener Luftdurchsatz für"," ",e.jsxs("strong",{children:[a," ",s.toUpperCase()]})," ",t==="diesel"?"Diesel":"Otto","-Motor:"]}),e.jsxs("div",{className:"flex items-center justify-center gap-2",children:[e.jsx("span",{className:"text-3xl sm:text-4xl font-bold text-primary",children:c.m3.toFixed(2)}),e.jsx("span",{className:"text-lg text-muted-foreground",children:"m³/min"})]})]}),e.jsxs("p",{className:"text-xs text-muted-foreground mt-3 flex items-start gap-2 p-2 bg-muted/40 rounded",children:[e.jsx(bt,{className:"h-3 w-3 mt-0.5 shrink-0 text-primary"}),e.jsx("span",{children:"Bei staubigen Umgebungen 20–30 % Reserve einplanen."})]})]})]})]})})}const kn="70f4sr8s5Ns",Io=87,ps="FIBALON® Pool – Erklärfilm",Fo="Wie der Polymerfaserfilter Sand ersetzt und für kristallklares Wasser sorgt.";function Do(){const[t,r]=m.useState(!1);return e.jsxs("section",{"aria-label":"FIBALON® – Erklärvideo",className:"mt-5 mb-2 rounded-2xl border border-cyan-200/70 dark:border-cyan-700/40 bg-gradient-to-br from-cyan-50/80 via-white to-sky-50/60 dark:from-cyan-950/30 dark:via-background dark:to-sky-950/20 p-4 sm:p-5",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx("span",{className:"inline-flex items-center justify-center h-7 w-7 rounded-full bg-cyan-600/10 text-cyan-700 dark:text-cyan-300",children:e.jsx(Bt,{className:"h-3.5 w-3.5"})}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-sm font-bold tracking-tight",children:"FIBALON® in Aktion"}),e.jsx("p",{className:"text-[11px] text-muted-foreground",children:"Klick auf das Video startet die Wiedergabe – ohne Vorab-Tracking."})]})]}),t?e.jsx("div",{className:"relative w-full aspect-video rounded-xl overflow-hidden border border-border bg-black",children:e.jsx("iframe",{src:`https://www.youtube-nocookie.com/embed/${kn}?autoplay=1&rel=0&modestbranding=1&start=${Io}`,title:ps,loading:"lazy",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,className:"absolute inset-0 w-full h-full"})}):e.jsxs("button",{type:"button",onClick:()=>r(!0),className:"group relative w-full aspect-video rounded-xl overflow-hidden border border-border bg-gradient-to-br from-slate-900 to-slate-800 focus:outline-none focus:ring-2 focus:ring-cyan-500/60","aria-label":`Video abspielen: ${ps}`,children:[e.jsx("img",{src:`https://i.ytimg.com/vi/${kn}/hqdefault.jpg`,alt:"","aria-hidden":"true",loading:"lazy",className:"absolute inset-0 w-full h-full object-cover opacity-90 group-hover:opacity-100 group-hover:scale-[1.02] transition-all duration-500"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-slate-950/80 via-slate-950/10 to-transparent"}),e.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:e.jsx("span",{className:"flex items-center justify-center h-16 w-16 sm:h-20 sm:w-20 rounded-full bg-white/95 text-slate-900 shadow-xl group-hover:bg-cyan-500 group-hover:text-white transition-colors",children:e.jsx(Tn,{className:"h-7 w-7 sm:h-8 sm:w-8 fill-current ml-0.5"})})}),e.jsxs("div",{className:"absolute bottom-0 left-0 right-0 p-3 text-left",children:[e.jsx("p",{className:"text-sm font-semibold text-white drop-shadow leading-tight",children:ps}),e.jsx("p",{className:"text-[11px] text-white/80 mt-0.5",children:Fo})]})]})]})}function To({articleNumber:t,open:r,onOpenChange:s}){const n=String(t||"").toUpperCase(),a=n.startsWith("WGDB")?n.slice(4):n,d=a?`/dasbeste/artikel/${encodeURIComponent(a)}?embed=1`:"",u=a?`/dasbeste/artikel/${encodeURIComponent(a)}`:"",c=a?`https://www.wismet.de/dasbeste/artikel/${encodeURIComponent(a)}`:"",[x,f]=m.useState(!1),h=async()=>
28{if(c)try{await navigator.clipboard.writeText(c),f(!0),qe.success("Artikel-Link kopiert",{description:c}),setTimeout(()=>f(!1),1800)}catch{qe.error("Link konnte nicht kopiert werden")}};return e.jsx(Ze,{open:r&&!!a,onOpenChange:s,children:e.jsxs(tt,{className:"max-w-6xl w-[96vw] h-[92vh] p-0 gap-0 overflow-hidden","aria-describedby":void 0,children:[e.jsxs(al,{children:[e.jsxs(ht,{children:["GRANIT Artikel ",n]}),e.jsxs(wr,{children:['Detailansicht des GRANIT „Das Beste"-Artikels ',n]})]}),e.jsxs("div",{className:"flex items-center justify-between gap-3 border-b bg-slate-900 text-white px-4 py-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[e.jsx("span",{className:"rounded bg-amber-400 text-slate-900 text-[10px] font-bold px-1.5 py-0.5 uppercase tracking-wider",children:"Das Beste"}),e.jsx("span",{className:"font-mono text-xs",children:n})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[c&&e.jsxs("button",{type:"button",onClick:h,className:"inline-flex items-center gap-1 rounded px-2 py-1 text-xs hover:bg-white/10",title:"Öffentlichen Artikel-Link kopieren (z.B. für Kunden-Weitergabe)",children:[x?e.jsx(jt,{className:"h-3.5 w-3.5 text-emerald-400"}):e.jsx(Fr,{className:"h-3.5 w-3.5"}),x?"Kopiert":"Link"]}),u&&e.jsxs("a",{href:u,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 rounded px-2 py-1 text-xs hover:bg-white/10",title:"In neuem Tab öffnen",children:[e.jsx(Ar,{className:"h-3.5 w-3.5"}),"Tab"]}),e.jsx("button",{type:"button",onClick:()=>s(!1),className:"inline-flex items-center justify-center rounded p-1 hover:bg-white/10","aria-label":"Schließen",children:e.jsx(Ps,{className:"h-4 w-4"})})]})]}),d&&e.jsx("iframe",{src:d,title:`GRANIT Artikel ${n}`,className:"w-full flex-1 border-0 bg-white",style:{height:"calc(92vh - 40px)"}},d)]})})}const Ue=new Map;function vr(t,r=!1){return`${t}::${r?"admin":"public"}`}function Rs(t){return{article:t.article,stock:t.stock||null,datasheets:t.datasheets||[],zubehoer:t.zubehoer||[],alternativen:t.alternativen||[],lagerplaetze:t.lagerplaetze||[],oeRefs:t.oeRefs||[],allOeRefs:t.allOeRefs||[],vehiclePair:t.vehiclePair||null,gebindeSiblings:t.gebindeSiblings||[],partialFailures:Array.isArray(t.partialFailures)?t.partialFailures:[]}}function $o(t,r,s){if(!t)return r;const n={...t,partialFailures:r.partialFailures||[]};for(const a of s)if(a==="datasheets"&&(n.datasheets=r.datasheets),a==="zubehoer"&&(n.zubehoer=r.zubehoer),a==="alternativen"&&(n.alternativen=r.alternativen),a==="lagerplaetze"&&(n.lagerplaetze=r.lagerplaetze),a==="oeRefs"&&(n.oeRefs=r.oeRefs),a==="allOeRefs"&&(n.allOeRefs=r.allOeRefs),a==="gebindeSiblings"&&(n.gebindeSiblings=r.gebindeSiblings),a==="autoAlternativen"){const d=new Set(n.alternativen.map(u=>u.ArtikelNr));n.alternativen=[...n.alternativen.filter(u=>!u.isAutoGenerated),...r.alternativen.filter(u=>u.isAutoGenerated||!d.has(u.ArtikelNr))]}return n}const Nr=new Map;function Bo(t){const r=vr(t,!1);if(!t||Ue.has(r))return;const s=Nr.get(r);if(s)return s;const n=(async()=>{try{const{invokeThrottled:a}=await Da(async()=>{const{invokeThrottled:u}=await import("./index-wc8MInkF.js").then(c=>c.hS);return{invokeThrottled:u}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),{data:d}=await a("get-article-details",{body:{article_number:t,is_admin:!1}});if(d!=null&&d.success){const u=Rs(d);return Ue.set(r,u),u}return null}catch{return null}finally{Nr.delete(r)}})();return Nr.set(r,n),n}function fs(t,r="sm"){const s=t.toLowerCase(),n=r==="lg"?"h-5 w-5":"h-4 w-4";return s==="vid"?e.jsx($n,{className:n}):s==="img"?e.jsx(Ri,{className:n}):s==="pdf"?e.jsx(Cr,{className:n}):s==="xls"||s==="xlsx"||s==="csv"?e.jsx(Oi,{className:n}):s==="zip"||s==="rar"||s==="7z"?e.jsx(Vi,{className:n}):e.jsx(Wi,{className:n})}function wn(t){const r=t.toLowerCase();return r==="pdf"?{bg:"bg-red-100 dark:bg-red-950/40",text:"text-red-600 dark:text-red-400"}:r==="vid"?{bg:"bg-purple-100 dark:bg-purple-950/40",text:"text-purple-600 dark:text-purple-400"}:r==="img"?{bg:"bg-emerald-100 dark:bg-emerald-950/40",text:"text-emerald-600 dark:text-emerald-400"}
28:r==="xls"||r==="xlsx"||r==="csv"?{bg:"bg-green-100 dark:bg-green-950/40",text:"text-green-600 dark:text-green-400"}:r==="zip"||r==="rar"||r==="7z"?{bg:"bg-amber-100 dark:bg-amber-950/40",text:"text-amber-600 dark:text-amber-400"}:{bg:"bg-blue-100 dark:bg-blue-950/40",text:"text-blue-600 dark:text-blue-400"}}function yn(t,r){const s=t.toLowerCase();return s==="pdf"?r("article.pdfDocument"):s==="vid"?r("article.video"):s==="img"?r("article.image"):s==="xls"||s==="xlsx"?r("article.excelFile"):s==="csv"?r("article.csvFile"):s==="zip"?r("article.zipArchive"):t.toUpperCase()}function Sn(t){return t.toLowerCase()==="vid"}function zn(t){return t.toLowerCase()==="img"}function Mo(t){if(t.includes("youtube.com/watch")){const r=t.match(/[?&]v=([^&]+)/);if(r)return`https://www.youtube-nocookie.com/embed/${r[1]}`}if(t.includes("youtu.be/")){const r=t.match(/youtu\.be\/([^?]+)/);if(r)return`https://www.youtube-nocookie.com/embed/${r[1]}`}return t.includes("youtube.com/embed/")?t:`https://www.youtube-nocookie.com/embed/${t.trim()}`}function Ho(t){return String(t??"").toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/ö/g,"oe").replace(/ä/g,"ae").replace(/ü/g,"ue").replace(/ß/g,"ss")}function Ro(t,r){const s=t.trim().toUpperCase();if(/^WTP[A-Z0-9]*/.test(s))return!0;const n=Ho([r==null?void 0:r.Bezeichnung,r==null?void 0:r.Beschreibung,r==null?void 0:r.Bemerkungen,r==null?void 0:r.ArtikelArt,r==null?void 0:r.HL,r==null?void 0:r.HLNr].filter(
28Boolean).join(" "));return["trockenmittel","lufttrockner","druckluft","bremsanlage","oelabscheider","olabscheider","coalescer","coalescent","air dryer","dryer cartridge","desiccant"].some(a=>n.includes(a))}const Oo=({articleNumber:t,open:r,onOpenChange:s,referenceInfo:n,crossRefNumber:a,crossRefManufacturer:d,crossRefAlsoUsedBy:u,enableSeoJsonLd:c=!1,onAddToCompare:x,isInCompare:f,onArticleNotFound:h})=>{const[v,y]=m.useState(t),o=v,[N,w]=m.useState("details"),[k,b]=m.useState(!1),l=m.useCallback(()=>b(!1),[]),p=m.useId();Ta(p,r,()=>s(!1));const{addArticle:j}=$a(),{width:S,setWidth:T,resetWidth:$}=Ba(),[C,E]=m.useState(!1),_=g=>{const L=S;E(!0);const z=O=>{T(L+(g-O))},Y=O=>z(O.clientX),te=O=>z(O.touches[0].clientX),R=()=>{E(!1),window.removeEventListener("mousemove",Y),window.removeEventListener("touchmove",te),window.removeEventListener("mouseup",R),window.removeEventListener("touchend",R),document.body.style.userSelect=""};document.body.style.userSelect="none",window.addEventListener("mousemove",Y),window.addEventListener("touchmove",te),window.addEventListener("mouseup",R),window.addEventListener("touchend",R)};Ma(r,S),Ha(r,[o]),m.useEffect(()=>{y(t)},[t]);const q=m.useRef("");m.useEffect(()=>{if(r&&o){const g=o;if(q.current===g)return;q.current=g,j(o,"detail"),Ra("article_view",o,"detail_dialog")}else q.current=""},[r,o]);const[i,ee]=m.useState(null),[H,pe]=m.useState(null),[le,Ie]=m.useState([]),[ve,ze]=m.useState([]),[fe,F]=m.useState([]),[Q,D]=m.useState(!1),[P,I]=m.useState([]),[M,ne]=m.useState([]),[se,oe]=m.useState([]),[he,xe]=m.useState(null),[Re,it]=m.useState([]),[Nt,Yt]=m.useState([]),[Hr,Rr]=m.useState(!1),[Qn,Qt]=m.useState(null),[kt,Xt]=m.useState(1),[Js,Ys]=m.useState(""),[er,wt]=m.useState(0),[Qs,tr]=m.useState(!1),[Xn,Or]=m.useState(0),[rr,Vr]=m.useState(!1),[ea,Xs]=m.useState(!1),[Wr,yt]=m.useState(0),[ta,sr]=m.useState(!1),[Oe,en]=m.useState([]),[nr,tn]=m.useState(!1),[ar,Gr]=m.useState(null),Kr=m.useRef("");Ks();const{isAdmin:ae}=Lr(),{requestAddToCart:ra,addToCart:Lc,cartItems:sa}=Ir(),Ur=Oa(o),{data:ie}=Tl(o),{grossPrice:St,vatPercent:na}=Pr(),{showRetailPrices:Pc,getDisplayPrice:aa,setIsDealer:rn}=Ws(),{images:G,loading:ia}=Pn(o),lt=G.length>0?G[er%G.length]:null,la=(lt==null?void 0:lt.split("?")[0])??null,{t:V}=Se("search"),sn=Ro(o,i),Zr=m.useCallback(g=>{ee(g.article),pe(g.stock),Ie(g.datasheets),ze(g.zubehoer),F(g.alternativen),I(g.lagerplaetze),ne(g.oeRefs||[]),oe(g.allOeRefs||[]),xe(g.vehiclePair||null),it(g.gebindeSiblings||[]),Yt(g.partialFailures||[]),Qt(null),g.article.Standardpreis!=null&&g.article.Preis!=null&&g.article.Standardpreis!==g.article.Preis&&rn(!0)},[rn]);m.useEffect(()=>{tr(!1),Or(0)},[o,la]);const oa=()=>{if(Xn<5&&lt){Or(g=>g+1),zs(o);return}tr(!0)};m.useEffect(()=>{if(!r||G.length<=1)return;const g=L=>{rr?(L.key==="ArrowLeft"&&yt(z=>(z-1+G.length)%G.length),L.key==="ArrowRight"&&yt(z=>(z+1)%G.length),L.key==="Escape"&&Vr(!1)):(L.key==="ArrowLeft"&&wt(z=>Math.max(0,z-1)),L.key==="ArrowRight"&&wt(z=>z+1))};return window.addEventListener("keydown",g),()=>window.removeEventListener("keydown",g)},[r,G.length,rr]),m.useEffect(()=>{const g=L=>{if(L.origin!==window.location.origin)return;const z=L.data;(z==null?void 0:z.type)!=="gvo-popup-navigate"||!z.href||(sr(!1),s(!1),window.location.assign(z.href))};return window.addEventListener("message",g),()=>window.removeEventListener("message",g)},[s]),m.useEffect(()=>
28{if(!r||!ae||!o)return;const g=Ht.get(o);if(g){Gr({cart_count:g.totals.cart_count,total_quantity:g.totals.total_quantity});return}let L=!1;return(async()=>{try{const{data:{session:z}}=await me.auth.getSession(),Y=z==null?void 0:z.access_token;if(!Y)return;const te=await fetch("https://wlxniolwgjapqrebsyjp.supabase.co/functions/v1/admin-article-cart-users",{method:"POST",headers:{Authorization:`Bearer ${Y}`,apikey:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6IndseG5pb2x3Z2phcHFyZWJzeWpwIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzE5MjQxNTgsImV4cCI6MjA4NzUwMDE1OH0.NUO0jXZMywnKq7eambz1Ln3YhbYDz4uPYu8OtsiWaJY","Content-Type":"application/json"},body:JSON.stringify({article_number:o})}),R=await te.json();if(!te.ok)return;const O={rows:Array.isArray(R.rows)?R.rows:[],totals:{total_quantity:Number(R.total_quantity||0),cart_count:Number(R.cart_count||0),user_count:Number(R.user_count||0)},fetchedAt:Date.now()};Ht.set(o,O),L||Gr({cart_count:O.totals.cart_count,total_quantity:O.totals.total_quantity})}catch{}})(),()=>{L=!0}},[r,ae,o]);const ca=m.useCallback(g=>{yt(g),Vr(!0)},[]),nn=m.useRef(null);m.useEffect(()=>{if(!r||!o)return;let g=!1;const L=R=>{g||Zr(R)};Xt(1),Ys(""),wt(0),tr(!1),Kr.current="",zs(o),nn.current!==o&&(Va("click",o),nn.current=o);const z=vr(o,ae),Y=Ue.get(z);return Y?(L(Y),Rr(!1),()=>{g=!0}):((async()=>{Rr(!0),Qt(null),ee(null),pe(null),Ie([]),ze([]),F([]),I([]),ne([]),oe([]),xe(null),it([]),Yt([]);try{const R=ae?null:await Nr.get(z);if(R){L(R);return}const{data:O,error:B}=await xt("get-article-details",{body:{article_number:o,is_admin:ae,primary_only:!0}});if(B)throw B;if(O!=null&&O.success){const K=Rs(O);Ue.set(z,K),L(K),g||(ai({item_id:o,item_name:O.article.Bezeichnung||void 0,price:O.article.Preis||void 0,item_brand:O.article.HerstellerName||void 0}),ii({ecomm_pagetype:"product",ecomm_prodid:o,ecomm_totalvalue:O.article.Preis||void 0}))}else g||(Qt((O==null?void 0:O.error)||V("article.notFound")),h==null||h())}catch(R){g||Qt(li(R,V("article.notFound")))}finally{g||Rr(!1)}})(),()=>{g=!0})},[r,o,ae]),m.useEffect(()=>{if(!r||!o||Nt.length===0)return;const g=Array.from(new Set(Nt.map(R=>R.key).filter(Boolean)));if(g.length===0)return;let L=!1;const z=vr(o,ae),Y=`${z}:${g.slice().sort().join(",")}`;return Kr.current===Y?void 0:(Kr.current=Y,(async()=>{let R=g;for(let O=1;O<=5&&R.length>0&&!L;O++)try{const{data:B,error:K}=await xt("get-article-details",{body:{article_number:o,is_admin:ae,retry_sections:R},maxRetries:2,silent:!0,logErrors:O===5});if(L||K||!(B!=null&&B.success)){await new Promise(re=>window.setTimeout(re,Math.min(1500*O,6e3)));continue}const ue=Rs(B),Ne=Ue.get(z)||null,U=$o(Ne,ue,R);Ue.set(z,U),Zr(U),R=(ue.partialFailures||[]).map(re=>re.key).filter(Boolean),R.length>0&&await new Promise(re=>window.setTimeout(re,Math.min(1200*O,5e3)))}catch{await new Promise(B=>window.setTimeout(B,Math.min(1500*O,6e3)))}})(),()=>{L=!0})},[r,o,ae,Nt,Zr]),m.useEffect(()=>{if(!r||!o||!i||he)return;let g=!1;const L=vr(o,ae);return(async()=>{try{const{data:z,error:Y}=await xt("get-vehicle-pair",{body:{article_number:o},silent:!0,maxRetries:0,timeoutMs:3500,logErrors:!1});if(g||Y)return;const te=(z==null?void 0:z.vehiclePair)||null;if(!te)return;xe(te);const R=Ue.get(L);R&&Ue.set(L,{...R,vehiclePair:te})}catch{}})(),()=>{g=!0}},[r,o,ae,i,he]),m.useEffect(()=>{var Lt,Pt,It,A,Ee,Ge;const g="product-jsonld",L=(i==null?void 0:i.Preis)??(i==null?void 0:i.Standardpreis)??(i==null?void 0:i.Listenpreis),z=typeof L=="number"&&isFinite(L)?L:null;if(!c||!r||!i||!o||!z||z<=0){(Lt=document.getElementById(g))==null||Lt.remove();return}const Y="https://www.wismet.de",te=`${Y}/artikel/${encodeURIComponent(o)}`,R=G.length>0?G[0]:void 0,O=(H==null?void 0:H.Ampel)==="gruen"||(H==null?void 0:H.Ampel)==="gelb"?"https://schema.org/InStock":(H==null?void 0:H.Ampel)==="rot"?"https://schema.org/OutOfStock":"https://schema.org/PreOrder",B=[];(Pt=i.Bezeichnung)!=null&&Pt.trim()&&B.push(i.Bezeichnung.trim()),(It=i.Beschreibung)!=null&&It.trim()&&B.push(i.Beschreibung.trim()),(A=i.Bemerkungen)!=null&&A.trim()&&B.push(i.Bemerkungen.trim()),(Ee=i.HerstellerName)!=null&&Ee.trim()&&B.push(`Hersteller: ${i.HerstellerName.trim()}`),i.GebindeInhalt&&i.GebindeEinheit&&B.push(`Inhalt: ${i.GebindeInhalt} ${i.GebindeEinheit}`),B.push(`Artikelnummer: ${o}`);const K=B.join(". ")+". Filter & Ersatzteile bei Wismet.",Ne=`${new Date().getFullYear()}-12-31`,U=St(z),re={"@context":"https://schema.org","@type":"Product",name:i.Bezeichnung||o,sku:o,mpn:o,url:te,description:K,brand:i.HerstellerName?{"@type":"Brand",name:i.HerstellerName}:void 0,category:"Ersatzteile & Filter",itemCondition:"https://schema.org/NewCondition"};G.length>1?re.image=G:R&&(re.image=R),i.GewichtKG&&parseFloat(i.GewichtKG)>0&&(re.weight={"@type":"QuantitativeValue",value:parseFloat(i.GewichtKG),unitCode:"KGM"});const ge=[];i.Hoehe&&parseFloat(i.Hoehe)>
280&&ge.push({name:"Höhe",value:i.Hoehe,unit:"mm"}),i.Durchmesser_oben&&parseFloat(i.Durchmesser_oben)>0&&ge.push({name:"Durchmesser außen",value:i.Durchmesser_oben,unit:"mm"}),i.Durchmesser_innen&&parseFloat(i.Durchmesser_innen)>0&&ge.push({name:"Durchmesser innen",value:i.Durchmesser_innen,unit:"mm"}),i.Laenge&&parseFloat(i.Laenge)>0&&ge.push({name:"Länge",value:i.Laenge,unit:"mm"}),i.Breite&&parseFloat(i.Breite)>0&&ge.push({name:"Breite",value:i.Breite,unit:"mm"});const ke=ge.map(X=>({"@type":"PropertyValue",name:X.name,value:X.value,unitText:X.unit}));if(M.length>0){for(const ce of M)ke.push({"@type":"PropertyValue",name:"OE-Vergleichsnummer",value:`${ce.hersteller} ${ce.nummer}`.trim()});const X=[...new Set(M.map(ce=>ce.nummer).filter(Boolean))];X.length>0&&(re.keywords=X.join(", "))}ke.length>0&&(re.additionalProperty=ke);const Ce={"@type":"OfferShippingDetails",shippingDestination:{"@type":"DefinedRegion",addressCountry:"DE"},shippingRate:{"@type":"MonetaryAmount",value:"5.90",currency:"EUR"},deliveryTime:{"@type":"ShippingDeliveryTime",handlingTime:{"@type":"QuantitativeValue",minValue:0,maxValue:1,unitCode:"DAY"},transitTime:{"@type":"QuantitativeValue",minValue:1,maxValue:3,unitCode:"DAY"}}},lr={"@type":"MerchantReturnPolicy",applicableCountry:"DE",returnPolicyCategory:"https://schema.org/MerchantReturnFiniteReturnWindow",merchantReturnDays:14,returnMethod:"https://schema.org/ReturnByMail",returnFees:"https://schema.org/FreeReturn"};re.offers={"@type":"Offer",url:te,priceCurrency:"EUR",price:U.toFixed(2),priceValidUntil:Ne,availability:O,itemCondition:"https://schema.org/NewCondition",seller:{"@type":"Organization",name:"Wismet GmbH & Co. KG",url:Y},shippingDetails:Ce,hasMerchantReturnPolicy:lr};const Ve=X=>Array.isArray(X)?X.map(Ve):X&&typeof X=="object"?Object.fromEntries(Object.entries(X).filter(([ce,ct])=>ct!==void 0&&!ce.startsWith("_")).map(([ce,ct])=>[ce,Ve(ct)])):X,be=(Ge=i.HerstellerName)==null?void 0:Ge.trim(),We=[{"@type":"ListItem",position:1,name:"Start",item:Y+"/"},{"@type":"ListItem",position:2,name:"Filter & Ersatzteile",item:`${Y}/katalog`}];be?(We.push({"@type":"ListItem",position:3,name:be,item:`${Y}/hersteller/${encodeURIComponent(be)}`}),We.push({"@type":"ListItem",position:4,name:i.Bezeichnung||o,item:te})):We.push({"@type":"ListItem",position:3,name:i.Bezeichnung||o,item:te});const or={"@type":"BreadcrumbList","@id":`${te}#breadcrumb`,itemListElement:We},_t=[{q:`Passt der Artikel ${o} an mein Fahrzeug?`,a:be?`${i.Bezeichnung||o} ist ein Original-Teil bzw. passgenauer Ersatz von ${be}. Im Tab "Passende Fahrzeuge" auf der Produktseite sind alle freigegebenen Modelle aufgelistet. Bei Unsicherheit hilft unser Kundensupport unter 09662 4209901.`:`${i.Bezeichnung||o} ist über die Fahrzeug-Suche und unsere Filter-Suchmaschine eindeutig zuordenbar. Im Tab "Passende Fahrzeuge" auf der Produktseite sind alle freigegebenen Modelle gelistet. Bei Unsicherheit hilft unser Kundensupport unter 09662 4209901.`},{q:"Wie schnell wird der Artikel geliefert?",a:"Auf Lager befindliche Artikel werden bei Bestelleingang bis 15:30 Uhr noch am gleichen Werktag versendet. Die Standard-Lieferzeit innerhalb Deutschlands beträgt 1–3 Werktage per DHL."},{q:"Welche Bezahlmöglichkeiten gibt es?",a:"Wir akzeptieren Rechnungskauf (für Stammkunden), PayPal, Kreditkarte, Sofortüberweisung, Apple Pay und Google Pay. Die verfügbaren Zahlarten werden im Checkout passend zu Ihrer Bestellung angezeigt."},{q:"Wie funktioniert die Rückgabe?",a:"Sie haben 14 Tage volles Widerrufsrecht. Die Rücksendung ist innerhalb Deutschlands kostenlos – wir stellen das DHL-Retourenlabel auf Anfrage bereit. Details siehe Rückgabebedingungen auf wismet.de."}];if(M.length>0){const X=M.slice(0,5).map(ce=>`${ce.hersteller} ${ce.nummer}`.trim()).join(", ");_t.push({q:"Welche OE-Vergleichsnummern hat dieser Artikel?",a:`Dieser Artikel ist u. a. Ersatz für: ${X}${M.length>5?` und weiteren ${M.length-5} OE-Nummern`:""}. Die vollständige Liste sehen Sie im Tab "OE-Vergleichsnummern" auf der Produktseite.`})}const cr={"@type":"FAQPage","@id":`${te}#faq`,mainEntity:_t.map(({q:X,a:ce})=>
28({"@type":"Question",name:X,acceptedAnswer:{"@type":"Answer",text:ce}}))},dr={"@context":"https://schema.org","@graph":[Ve(re),Ve(or),Ve(cr)].filter(Boolean)};let Te=document.getElementById(g);return Te||(Te=document.createElement("script"),Te.id=g,Te.type="application/ld+json",document.head.appendChild(Te)),Te.textContent=JSON.stringify(dr),()=>{var X;(X=document.getElementById(g))==null||X.remove()}},[c,r,i,o,G,H,M,St]),m.useEffect(()=>{!r||!o||!i||(en([]),tn(!0),Zt("search-fahrzeugkatalog",{body:{action:"vehiclesByArticle",articleNumber:o},timeoutMs:4500}).then(({data:g})=>{g!=null&&g.success&&en(g.items||[])}).catch(()=>{}).finally(()=>tn(!1)))},[r,o,i]);const Fe=ie!=null&&ie.NurAlsVPE&&ie.VPE>0?ie.VPE:1,zt=Fe;m.useEffect(()=>{Fe>1&&kt<zt&&Xt(zt)},[Fe,zt]);const da=()=>{var O,B;let g=kt;Fe>1&&(g=Math.max(zt,Math.round(g/Fe)*Fe),g!==kt&&Xt(g));const L=typeof Ae=="number"&&Ae>0?Ae:(i==null?void 0:i.Preis)!=null?Number(i.Preis):0,z=(((O=an())==null?void 0:O.cartLabel)||"").trim(),Y=(((B=ln())==null?void 0:B.rules)||[]).filter(K=>{var ue;return((ue=K.giftArticle)==null?void 0:ue.toUpperCase())===o.toUpperCase()}).map(K=>(K.cartLabel||"🎁 Gratis-Geschenk").trim()).filter(Boolean),te=new Set([z,...Y].filter(Boolean));let R=(n||"").trim()||oi();Ur&&te.has(R.trim())&&(R="Zusätzlicher Kauf"),ra({articleNumber:o,quantity:g,referenceInfo:R,price:L,note:Js.trim()||void 0})},qr=i?[{label:V("article.content"),value:i.GebindeInhalt&&i.GebindeEinheit?`${i.GebindeInhalt} ${i.GebindeEinheit}`:"",unit:""},{label:V("article.diameterTop"),value:i.Durchmesser_oben,unit:"mm"},{label:V("article.diameterBottom"),value:i.Durchmesser_unten,unit:"mm"},{label:V("article.diameterInner"),value:i.Durchmesser_innen,unit:"mm"},{label:V("article.holeDiameter"),value:i.Lochdurchmesser,unit:"mm"},{label:V("article.height"),value:i.Hoehe,unit:"mm"},{label:V("article.length"),value:i.Laenge,unit:"mm"},{label:V("article.width"),value:i.Breite,unit:"mm"},{label:V("article.thread"),value:i.Gewinde,unit:""},{label:V("article.connection"),value:i.Anschluss,unit:""},{label:V("article.shippingWeight","Versandgewicht"),value:i.GewichtKG,unit:"kg"}].filter(g=>g.value&&String(g.value).trim()!==""&&String(g.value).trim()!=="0"):[],Jr=(i?[i.Beschreibung,i.Bemerkungen].filter(g=>g&&String(g).trim()!==""):[]).join(`
29`).replace(/\s*\|\s*/g,`
30`),ma=g=>{const L=g.trim().toLowerCase();return!!(!L||/^wismet[\s-]*art[\s.-]*n[ro]\.?\s*:?\s*\w+$/i.test(L)||L.length<20&&!L.includes(" "))},ir=(()=>{var or,_t,cr,dr,Te,Lt,Pt,It;if(Jr.trim()&&!ma(Jr))return Jr;if(!i)return"";const g=((or=i.Bezeichnung)==null?void 0:or.trim())||"",L=((_t=i.HerstellerName)==null?void 0:_t.trim())||"",z=L&&L!=="N/A"&&L!=="n/a"?L:"",Y=o,te=g.toLowerCase(),R={"MANN-FILTER":"dem Weltmarktführer für Filtrationstechnik","MANN+HUMMEL":"dem Weltmarktführer für Filtrationstechnik",DONALDSON:"dem Spezialisten für industrielle Filtrationslösungen",HENGST:"dem deutschen Premiumproduzenten für Filtersysteme",FLEETGUARD:"dem bewährten Cummins-Filterspezialisten",MAHLE:"dem Technologieführer für Motor- und Filtrationskomponenten",BOSCH:"dem weltweit führenden Technologiekonzern",PARKER:"dem Experten für Antriebs- und Steuerungstechnik",HYDAC:"dem Spezialisten für Hydraulik-Filtrationssysteme",STAUFF:"dem Experten für Hydraulik-Zubehör und Filtration",BALDWIN:"dem amerikanischen Traditionsunternehmen für Filtertechnik",WIX:"dem renommierten Filterhersteller","SF FILTER":"dem skandinavischen Filterspezialisten","FIL FILTER":"dem europäischen Hersteller hochwertiger Filtersysteme",FILTREC:"dem italienischen Spezialisten für Hydraulikfiltration","ARGO-HYTOS":"dem Experten für Fluidtechnik und mobile Hydraulik",GRANIT:"dem Landmaschinen-Ersatzteilspezialisten",GERNEX:"dem Schmierstoff-Experten für Land- und Forsttechnik",TOTAL:"dem weltweit tätigen Schmierstoffhersteller",SHELL:"einem der größten Schmierstoffhersteller weltweit",CASTROL:"dem britischen Premium-Schmierstoffhersteller",FUCHS:"dem deutschen Schmierstoff-Technologieführer",SONAX:"dem deutschen Premiumproduzenten für Fahrzeugpflege",FENDT:"dem deutschen Premium-Landmaschinenhersteller"},O=z.toUpperCase(),B=(cr=Object.entries(R).find(([A])=>O.includes(A.toUpperCase())))==null?void 0:cr[1],K=[],ue=(dr=i.Durchmesser_oben)==null?void 0:dr.trim(),Ne=(Te=i.Durchmesser_unten)==null?void 0:Te.trim(),U=(Lt=i.Durchmesser_innen)==null?void 0:Lt.trim(),re=(Pt=i.Hoehe)==null?void 0:Pt.trim();(It=i.GewichtKG)==null||It.trim(),ue&&ue!=="0"&&(ue===Ne?K.push(`einem Durchmesser von ${ue} mm`):Ne&&Ne!=="0"?K.push(`Durchmessern von ${ue}/${Ne} mm (oben/unten)`):K.push(`einem Außendurchmesser von ${ue} mm`)),U&&U!=="0"&&K.push(`${ue?"einem Innendurchmesser":"einem Durchmesser innen"} von ${U} mm`),re&&re!=="0"&&K.push(`einer Höhe von ${re} mm`);const ge=[{keyword:/luftfilter|air.?filter|luftfilterelement|luftfilterpatrone/i,generate:()=>{const A=[];return K.length&&A.push(`Mit ${K.join(" und ")} ist dieses Filterelement passgenau für die vorgesehenen Einbaupositionen konstruiert.`),B&&A.push(`
31Als Produkt von ${B} steht dieser Filter für höchste Filtrationseffizienz und lange Standzeiten.`),A.push(`
32Dieser ${z?`${z} `:""}Luftfilter schützt den Motor Ihrer Maschine zuverlässig vor Staub, Pollen und feinstem Abrieb – selbst unter extremen Einsatzbedingungen auf Baustellen, in der Landwirtschaft oder im Forst.`),A.push(`
33💡 Tipp: Ein regelmäßiger Luftfilterwechsel senkt den Kraftstoffverbrauch, schützt vor Motorverschleiß und sichert die volle Leistung Ihrer Maschine.`),A}},{keyword:/ölfilter|oil.?filter|oelfilter|schmierölfilter/i,generate:()=>{const A=[];return K.length&&A.push(`Die Abmessungen – ${K.join(", ")} – garantieren die exakte Passform für den vorgesehenen Einbauort.`),B&&A.push(`
34Gefertigt von ${B}, erfüllt dieser Filter die höchsten Anforderungen an Filtrationsleistung und Druckstabilität.`),A.push(`
35Dieser ${z?`${z} `:""}Ölfilter hält das Motoröl frei von metallischem Abrieb, Rußpartikeln und Verunreinigungen – für maximalen Schutz aller geschmierten Bauteile.`),A.push(`
36💡 Tipp: Wechseln Sie den Ölfilter immer zusammen mit dem Motoröl – so schützen Sie den Motor optimal und verlängern die Lebensdauer erheblich.`),A}},{keyword:/kraftstofffilter|fuel.?filter|dieselfilter|benzinfilter/i,generate:()=>{const A=[];return K.length&&A.push(`Mit ${K.join(" und ")} passt dieses Element exakt in die vorgesehene Filteraufnahme.`),B&&A.push(`
37Als Qualitätsprodukt von ${B} bietet er eine hervorragende Schmutzaufnahmekapazität bei geringem Druckabfall.`),A.push(`
38Dieser ${z?`${z} `:""}Kraftstofffilter schützt Einspritzpumpe und Injektoren vor Partikeln und Wasser im Kraftstoff – entscheidend für einen störungsfreien Motorbetrieb.`),A.push(`
39💡 Tipp: Besonders bei modernen Common-Rail-Systemen ist ein regelmäßiger Kraftstofffilterwechsel unverzichtbar – bereits kleinste Verunreinigungen können teure Schäden verursachen.`),A}},{keyword:/hydraulikfilter|hydraulic/i,generate:()=>{const A=[];return K.length&&A.push(`Die präzisen Abmessungen – ${K.join(", ")} – sichern die einwandfreie Funktion im Hydrauliksystem.`),B&&A.push(`
40Hergestellt von ${B}, gewährleistet dieses Filterelement die geforderte Reinheitsklasse und einen optimalen Volumenstrom.`),A.push(`
41Dieser ${z?`${z} `:""}Hydraulikfilter hält das Hydrauliköl frei von Partikeln und schützt Pumpen, Ventile und Zylinder vor vorzeitigem Verschleiß.`),A.push(`
42💡 Tipp: Verunreinigtes Hydrauliköl ist die häufigste Ursache für Ausfälle in Hydrauliksystemen. Regelmäßige Filterwechsel sparen bares Geld.`),A}}
42,{keyword:/innenraumfilter|kabinenfilter|cabin|pollenfilter/i,generate:()=>{const A=[];return K.length&&A.push(`Mit ${K.join(" und ")} ist er passgenau für die Klimaanlage Ihrer Maschine gefertigt.`),A.push(`
43Dieser ${z?`${z} `:""}Kabinenfilter sorgt für saubere, frische Atemluft in der Fahrerkabine – auch bei staubintensiven Arbeiten auf dem Feld oder der Baustelle.`),A.push(`
44💡 Tipp: Ein sauberer Kabinenfilter schützt nicht nur die Gesundheit des Fahrers, sondern verhindert auch unangenehme Gerüche und beschlagene Scheiben.`),A}},{keyword:/vorabscheider|pre.?cleaner|topspin|zyklonfilter/i,generate:()=>{const A=[];return K.length&&A.push(`Mit ${K.join(" und ")} ist er für die direkte Montage auf dem Luftfiltergehäuse Ihrer Maschine konzipiert.`),B&&A.push(`
45Entwickelt von ${B}, nutzt er das Fliehkraftprinzip für wartungsfreie Vorabscheidung – ohne bewegliche Teile.`),A.push(`
46Dieser ${z?`${z} `:""}Vorabscheider entfernt bis zu 90 % der groben Staubpartikel aus der Ansaugluft, bevor sie den Hauptluftfilter erreichen.`),A.push(`
47💡 Tipp: Ein Vorabscheider kann die Standzeit des Hauptluftfilters um das 2- bis 4-fache verlängern – ideal für staubige Einsatzbedingungen.`),A}},{keyword:/filter/i,generate:()=>{const A=[];return K.length&&A.push(`Die Abmessungen – ${K.join(", ")} – gewährleisten die exakte Passform für den vorgesehenen Einbauort.`),B&&A.push(`
48Als Qualitätsprodukt von ${B} vereint er Langlebigkeit mit maximaler Leistung.`),A.push(`
49Dieser ${z?`${z} `:""}Artikel bietet zuverlässigen Schutz vor Verunreinigungen und sichert den störungsfreien Betrieb Ihrer Maschine – Tag für Tag.`),A.push(`
50💡 Tipp: Rechtzeitige Wartung ist die günstigste Versicherung gegen teure Reparaturen. Halten Sie sich an die Wechselintervalle des Maschinenherstellers.`),A}},{keyword:/öl|oel|schmierstoff|motoröl|motoroel|getriebeöl|getriebeoel|hydrauliköl|kühlerfrostschutz|frostschutz|adblue|harnstoff/i,generate:()=>{var ce,ct;const A=[],Ee=(ce=i.GebindeInhalt)==null?void 0:ce.trim(),Ge=(ct=i.GebindeEinheit)==null?void 0:ct.trim(),X=Ee&&Ge?` im ${Ee}-${/liter/i.test(Ge)?"Liter":Ge}-Gebinde`:"";return A.push(`${g}${X} – ${B?`von ${B}. Dieser Schmierstoff bietet`:"bietet"} optimalen Verschleißschutz und zuverlässige Schmierung auch unter härtesten Betriebsbedingungen.`),z&&!B&&A.push(`
51${z} steht für geprüfte Qualität und die Einhaltung wichtiger Herstellerfreigaben.`),A.push(`
52💡 Tipp: Verwenden Sie stets den vom Maschinenhersteller freigegebenen Schmierstoff – die richtige Viskosität und Spezifikation schützt Ihren Motor und erhält die Garantie.`),A}},{keyword:/riemen|keil|zahnriemen/i,generate:()=>{const A=[];return B&&A.push(`Gefertigt von ${B}, ist er auf hohe Zugbelastungen und Temperaturschwankungen ausgelegt.`),A.push(`
53Dieser ${z?`${z} `:""}Antriebsriemen überträgt die Motorkraft zuverlässig auf Nebenaggregate wie Lichtmaschine, Wasserpumpe oder Klimakompressor.`),A.push(`
54💡 Tipp: Prüfen Sie Riemen regelmäßig auf Risse und Verschleiß – ein gerissener Riemen kann im schlimmsten Fall zum sofortigen Maschinenstillstand führen.`),A}},{keyword:/dichtung|o-ring|wellendichtring|simmering/i,generate:()=>{const A=[];return K.length&&A.push(`Mit ${K.join(" und ")} ist sie passgenau für die vorgesehene Einbauposition gefertigt.`),A.push(`
55Diese ${z?`${z} `:""}Dichtung sorgt für eine zuverlässige Abdichtung und verhindert das Austreten von Öl, Kühlmittel oder Druckluft – auch unter Vibration, Hitze und hohem Druck.`),A.push(`
56💡 Tipp: Verwenden Sie bei der Montage immer neue Dichtungen – einmal verformte Dichtungen können nicht wiederverwendet werden.`),A}},{keyword:/^caipan|cai[\s-]?pan/i,generate:()=>{const A=[],Ee={CAIPAN2591349:{name:"CAI-PAN®mint 400ml Hängeflasche",desc:"Die Original-Eutercreme auf Basis von reinem japanischem Pfefferminzöl – seit über 40 Jahren weltweit bewährt in der professionellen Milchviehhaltung.",features:["Reinigt, beruhigt und kühlt beanspruchte Euterhaut","Frei von Alkohol und Konservierungsstoffen","Zertifiziert für die ökologische Produktion (EU)"],tip:"Regelmäßige Euterpflege mit CAI-PAN®mint vor und nach dem Melken unter
56stützt die Eutergesundheit und beugt Hautirritationen vor."},CAIPAN2591350:{name:"CAI-PAN®mint 2500ml Hängeflasche",desc:"Die Original-Eutercreme im praktischen 2,5-Liter-Hängekanister – ideal für den wirtschaftlichen Einsatz in größeren Betrieben.",features:["Mit reinem CAI-PAN® japanischem Pfefferminzöl","Frei von Alkohol und Konservierungsstoffen","Zertifiziert für die ökologische Produktion (EU)"],tip:"Kombinieren Sie den Hängekanister mit dem CAI-PAN Universaldispenser für eine bequeme Dosierung direkt am Melkstand."},CAIPAN2591351:{name:"CAI-PAN®sprizz 500ml Sprühflasche (weiß)",desc:"Innovativer Euterspray auf Kräuterbasis – einfach aufsprühen, kein Einmassieren nötig. Zieht schnell ein und hinterlässt keine Rückstände.",features:["Kräuteressenzen: Thymian, Lavendel, Calendula","Geeignet für Melkstand und Melkroboter","Perfekt vor und nach dem Abkalben"],tip:"CAI-PAN®sprizz ist besonders zeitsparend bei großen Herden – einfach sprühen und fertig."},CAIPAN2591352:{name:"CAI-PAN®sprizz 500ml Sprühflasche (blau)",desc:"Innovativer Euterspray auf Kräuterbasis – einfach aufsprühen, kein Einmassieren nötig. Zieht schnell ein und hinterlässt keine Rückstände.",features:["Kräuteressenzen: Thymian, Lavendel, Calendula","Geeignet für Melkstand und Melkroboter","Perfekt vor und nach dem Abkalben"],tip:"CAI-PAN®sprizz ist besonders zeitsparend bei großen Herden – einfach sprühen und fertig."},CAIPAN2591353:{name:"CAI-PAN®sprizz 5000ml Kanister (weiß)",desc:"Der wirtschaftliche 5-Liter-Kanister CAI-PAN®sprizz für den Profi-Einsatz – ideal zum Nachfüllen der Sprühflaschen.",features:["Kräuteressenzen: Thymian, Lavendel, Calendula","Geeignet für Melkstand und Melkroboter","Perfekt vor und nach dem Abkalben"],tip:"Nutzen Sie den Kanister zum kostengünstigen Nachfüllen Ihrer CAI-PAN®sprizz Sprühflaschen."},CAIPAN2591354:{name:"CAI-PAN®sprizz 5000ml Kanister (blau)",desc:"Der wirtschaftliche 5-Liter-Kanister CAI-PAN®sprizz für den Profi-Einsatz – ideal zum Nachfüllen der Sprühflaschen.",features:["Kräuteressenzen: Thymian, Lavendel, Calendula","Geeignet für Melkstand und Melkroboter","Perfekt vor und nach dem Abkalben"],tip:"Nutzen Sie den Kanister zum kostengünstigen Nachfüllen Ihrer CAI-PAN®sprizz Sprühflaschen."},CAIPAN2591355:{name:"CAI-PAN® Klauenpflege 1000ml Dose",desc:"Hochwertiges Klauenfett zum Schutz und zur Pflege der Klauen – mit bewährter Rezeptur auf Basis von Buchenholzteer.",features:["Buchenholzteer – traditionell, schützt und nährt","Lanolin und Leinöl für langanhaltende Pflege","Vaseline schützt vor Feuchtigkeit"],tip:"Regelmäßige Klauenpflege beugt Klauenerkrankungen vor und fördert das Wohlbefinden Ihrer Tiere."},CAIPAN2591356:{name:"CAI-PAN Universaldispenser",desc:"Praktischer Universaldispenser (Spenderzitze) für alle 2500 ml CAI-PAN Hängekanister – für eine bequeme und hygienische Dosierung am Melkstand.",features:["Passend für alle 2500 ml Hängekanister","Einfache Montage und Bedienung","Hygienische Dosierung ohne Verschütten"],tip:"Kombinieren Sie den Dispenser mit dem CAI-PAN®mint 2500ml Hängekanister für eine optimale Arbeitsroutine."},CAIPAN2591358:{name:"CAI-PAN® Active Cool Spray – Duo Care 500ml",desc:"Erfrischendes Pflegespray für Pferde – kühlt und pflegt gleichzeitig. Ideal vor und nach dem Training für Regeneration und Wohlbefinden.",features:["Duo Care – erfrischt und kühlt gleichzeitig","Thymianöl für Mähnenwurzeln und Fellpflege","Vitamin E & Calendula beugen trockener Haut vor","Lavendel-Formulierung hilft Insekten abzuwehren"],tip:"Sprühen Sie das Active Cool Spray großzügig auf Beine und Rücken Ihres Pferdes nach dem Training – die natürliche Kühlung unterstützt die schnelle Regeneration."},CAIPAN2591359:{name:"CAI-PAN® Hufpflege 1000ml Dose (Pferde-Edition)",desc:"Speziell für Pferdehufe formuliertes Pflegemittel – schützt, nährt und pflegt den Huf mit bewährten Naturwirkstoffen.",features:["Buchenholzteer schützt und nährt den Huf","Lanolin und Leinöl für langanhaltende Hufpflege","Vaseline schützt vor Feuchtigkeit und äußeren Einflüssen"],tip:"Tragen Sie die Hufpflege regelmäßig auf gereinigte Hufe auf – so bleibt das Hufhorn geschmeidig und widerstandsfähig."},CAIPAN2591360:{name:"CAI-PAN® Power Gel 1000ml Flasche",desc:"Regenerationsgel für Pferde mit japanischem Pfefferminzöl, Eukalyptus und Kampfer – belebend und erfrischend nach dem Training.",features:["Japanisches Pfefferminzöl, Eukalyptus & Kampfer","Unterstützt die Regeneration von Muskeln, Sehnen und Gelenken","Belebend und erfrischend nach dem Training"],tip:"Massieren Sie das Power Gel nach intensivem Training sanft in die beanspruchten Muskelpartien ein – die durchblutungsfördernde Wirkung unterstützt eine schnelle Erholung."}},Ge=Y.toUpperCase(),X=Ee[Ge];return X?(A.push(`${X.desc}
56`),A.push(""),A.push("Eigenschaften:"),X.features.forEach(ce=>A.push(`• ${ce}`)),A.push(`
57💡 Tipp: ${X.tip}`)):(A.push(`${g} – ein hochwertiges Tierpflegeprodukt von CAI-PAN GmbH & Co. KG, dem dänischen Traditionsunternehmen für natürliche Tierpflege seit den 1980er Jahren.`),A.push(`
58CAI-PAN® setzt auf die Kraft reiner Naturwirkstoffe – insbesondere japanisches Pfefferminzöl – und verzichtet konsequent auf Alkohol und Konservierungsstoffe.`),A.push(`
59💡 Tipp: Entdecken Sie das gesamte CAI-PAN® Sortiment für Rinder und Pferde auf unserer Markenseite.`)),A}}],ke=Y.toUpperCase().startsWith("CAIPAN"),Ce=ge.find(A=>A.keyword.source.includes("caipan")),lr=ke&&Ce?Ce:ge.find(A=>A.keyword.test(te)),Ve=lr?lr.generate():[K.length?`Mit ${K.join(" und ")} ist es passgenau für die vorgesehene Einbauposition konstruiert.`:"",B?`
60Als Produkt von ${B} steht dieses Teil für geprüfte Qualität und dauerhafte Zuverlässigkeit.`:"",`
61${g}${z?` von ${z}`:""} – ein hochwertiges Ersatzteil für den zuverlässigen Einsatz in Land-, Forst- und Baumaschinen.`,`
62💡 Tipp: Setzen Sie auf Originalteile und Markenqualität – so erhalten Sie die Leistungsfähigkeit Ihrer Maschine und vermeiden ungeplante Stillstandzeiten.`].filter(Boolean),be=[],We=[...new Set(Oe.map(A=>{var Ee;return(Ee=A.hersteller)==null?void 0:Ee.trim()}).filter(Boolean))];if(We.length>0){const A=We.slice(0,6).join(", ");be.push(`${be.length?`
63`:""}Häufig verbaut in Fahrzeugen und Maschinen von ${A}${We.length>6?" u. a.":""}.`)}return be.length>0&&Ve.length>0&&be.push(""),be.push(...Ve),be.push(""),be.push(`wismet-Art-Nr.: ${Y}`),be.join(`
64`)})();let Yr="";if(i!=null&&i.GebindeInhalt&&(i!=null&&i.GebindeEinheit)&&(i!=null&&i.Preis)){const g=parseFloat(String(i.GebindeInhalt));if(g>0){const L=i.Preis/g,z=St(L),Y=/liter/i.test(i.GebindeEinheit)?"Liter":/^kg$/i.test(i.GebindeEinheit)?"kg":i.GebindeEinheit;Yr=V("article.unitPriceFormat",{gross:z.toFixed(2).replace(".",","),unit:Y,net:L.toFixed(2).replace(".",",")})}}const ua=i==null?void 0:i.Preis,Ae=i?aa(i.Preis,i.Standardpreis):null,At=Ae!=null?St(Ae):null;(i==null?void 0:i.Standardpreis)!=null&&(i==null?void 0:i.Preis)!=null&&(i.Standardpreis,i.Preis);const Qr=le.length>0,ha=ir||qr.length>0,Ct=ve.length>0,Et=fe.length>0,ot=Oe.length>0;m.useEffect(()=>{(N==="alternativen"&&!Et||N==="zubehoer"&&!Ct)&&w("details")},[N,Et,Ct]);const Xr=P.length>0,es=ae?se:M,ts=ae?se.length>0:!1,rs=ae,xa=!0,De=Wa(i==null?void 0:i.HerstellerName),ga=le.filter(g=>Sn(g.fileType)),pa=le.filter(g=>g.fileType.toLowerCase()==="pdf"),fa=le.filter(g=>zn(g.fileType)),ba=le.filter(g=>!Sn(g.fileType)&&g.fileType.toLowerCase()!=="pdf"&&!zn(g.fileType));return e.jsxs(Ze,{modal:!1,open:r,onOpenChange:g=>{rr||(g||sr(!1),s(g))},children:[e.jsxs(Ga,{className:`p-0 flex flex-col [&>button:last-child]:hidden sm:max-w-none lg:max-w-none xl:max-w-none ${C?"select-none":""}`,style:{width:"100%",maxWidth:`${S}px`},onInteractOutside:g=>g.preventDefault(),onOpenAutoFocus:g=>g.preventDefault(),children:[e.jsx("div",{onMouseDown:g=>{g.preventDefault(),_(g.clientX)},onTouchStart:g=>_(g.touches[0].clientX),onDoubleClick:()=>$(),role:"separator","aria-orientation":"vertical","aria-label":"Panelbreite anpassen",title:"Ziehen zum Verbreitern/Verschmälern (Doppelklick: Standard)",className:"hidden lg:flex absolute left-0 top-0 h-full w-2 z-[85] cursor-col-resize items-center justify-center group",children:e.jsx("span",{className:"h-16 w-1 rounded-full bg-border group-hover:bg-primary transition-colors"})}),e.jsx(ht,{className:"sr-only",children:(i==null?void 0:i.Bezeichnung)||o||"Artikeldetails"}),e.jsxs(wr,{className:"sr-only",children:["Detailansicht des Artikels ",o]}),i&&e.jsx(J,{type:"button",variant:"outline",size:"icon",title:"Artikeldatenblatt drucken","aria-label":"Artikeldatenblatt drucken",className:"absolute right-14 top-3 z-[81] h-9 w-9 rounded-full bg-background shadow-sm",onClick:()=>b(!0),children:e.jsx($i,{className:"h-4 w-4"})}),e.jsx("button",{onClick:()=>{sr(!1),s(!1)},className:"absolute right-3 top-3 z-[81] flex items-center justify-center h-9 w-9 rounded-full bg-primary text-primary-foreground shadow-lg hover:bg-primary/90 active:scale-95 transition-all cursor-pointer ring-2 ring-background","aria-label":"Schließen",children:e.jsx("span",{className:"text-base font-bold leading-none",children:"✕"})}),e.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto overflow-x-hidden overscroll-contain pb-[max(1rem,env(safe-area-inset-bottom))]",children:[Hr&&!i&&e.jsx("div",{className:"flex items-center justify-center py-20",children:e.jsx(Ye,{size:"md"})}),Qn&&e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 items-center gap-6 px-6 py-10 md:py-14",children:[e.jsxs("div",{className:"order-2 md:order-1 text-center md:text-left",children:[e.jsx("h2",{className:"text-3xl md:text-4xl font-black tracking-tight leading-tight mb-3",children:"Wir haben überall gesucht!"}),e.jsx("p",{className:"text-muted-foreground mb-6 max-w-md",children:"Anscheinend existiert dieser Artikel nicht (mehr). Er wurde möglicherweise aus unserem Sortiment entfernt. Nutzen Sie unsere Suche, um ein passendes Ersatzteil zu finden."}),e.jsxs("div",{className:"flex flex-wrap justify-center md:justify-start gap-3",children:[e.jsx(je,{to:"/search",onClick:()=>s(!1),children:e.jsxs(J,{variant:"outline",children:[e.jsx(at,{className:"mr-2 h-4 w-4"}),"Zur Suche"]})}),e.jsx(je,{to:"/",onClick:()=>s(!1),children:e.jsx(J,{children:"Zur Startseite"})})]})]}),e.jsx("div",{className:"order-1 md:order-2 flex justify-center",children:e.jsx("img",{src:Ka,alt:"Artikel nicht gefunden",width:896,height:896,loading:"lazy",className:"w-56 md:w-80 h-auto object-contain select-none pointer-events-none"})})]}),i&&e.jsxs("div",{className:"flex flex-col",children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-[minmax(0,0.85fr)_minmax(0,1fr)] gap-0 items-start",children:[e.jsxs("div",{className:"flex flex-col self-start md:sticky md:top-2",children:[(i.MftLogo||(i.RabattProzent??0
64)>0)&&e.jsxs("div",{className:"flex items-center justify-between gap-2 bg-muted/30 px-4 md:px-6 pt-3",children:[e.jsx("span",{className:"min-w-0 flex items-center",children:i.MftLogo&&e.jsx(Le,{mftLogo:i.MftLogo,className:"h-7 w-auto max-w-[140px]"})}),(i.RabattProzent??0)>0&&e.jsxs(Z,{className:"shrink-0 bg-primary text-primary-foreground text-sm font-bold px-2 py-0.5",children:["-",i.RabattProzent.toFixed(0),"%"]})]}),e.jsx("div",{className:"flex items-center justify-center bg-muted/30 p-4 md:p-6 relative overflow-hidden aspect-square max-h-[42vh]",children:ia?e.jsx(Ye,{}):G.length>0&&!Qs?e.jsxs(e.Fragment,{children:[G.length>1&&e.jsx(J,{variant:"ghost",size:"icon",className:"absolute left-2 z-10 h-9 w-9 rounded-full bg-background/80 hover:bg-background",onClick:()=>wt(g=>(g-1+G.length)%G.length),children:e.jsx(Sr,{className:"h-4 w-4"})}),e.jsx("img",{src:lt||"",alt:V("article.imageOf",{current:er%G.length+1,total:G.length}),className:"w-full h-full object-contain cursor-pointer hover:opacity-80 transition-opacity",onClick:g=>{g.stopPropagation(),ca(er%G.length)},onError:oa,onLoad:()=>{tr(!1),Or(0)}}),G.length>1&&e.jsxs(e.Fragment,{children:[e.jsx(J,{variant:"ghost",size:"icon",className:"absolute right-2 z-10 h-9 w-9 rounded-full bg-background/80 hover:bg-background",onClick:()=>wt(g=>(g+1)%G.length),children:e.jsx(Me,{className:"h-4 w-4"})}),e.jsx("span",{className:"absolute bottom-2 text-xs text-muted-foreground",children:V("article.imageOf",{current:er%G.length+1,total:G.length})})]})]}):o.toUpperCase().startsWith("CAIPAN")?e.jsx("img",{src:Ua,alt:"CAI-PAN",className:"h-32 w-32 object-contain"}):e.jsx(ye,{className:"h-16 w-16 text-muted-foreground"})}),(()=>{var Ne;const g=o.trim().toUpperCase(),L=new Set([g]),z=ve.filter(U=>{const re=String(U.ArtikelNr||"").trim().toUpperCase();return!re||L.has(re)?!1:(L.add(re),!0)}),Y=((Ne=o.match(/^([A-Z]+)/))==null?void 0:Ne[1])||"",te=Y?z.filter(U=>U.ArtikelNr.startsWith(Y)):[],R=z.filter(U=>!te.includes(U)),O=[...te,...R],B=O.length>0?O:he?[he]:[],K=O.length===0&&!!he,ue=B.length>1?"Passende Filter / Teile dazu:":"Passender Filter / Teil dazu:";return B.length===0?null:e.jsx("div",{className:"px-3 md:px-4 pt-2 pb-1",children:B.length===1?(()=>{var ge,ke,Ce;const U=B[0],re=K?`${U.Bezeichnung||""} (über gemeinsame Fahrzeug-Zuordnung erkannt)`:U.Bezeichnung||"";return e.jsxs("button",{type:"button",onClick:()=>{D(!1),y(U.ArtikelNr)},title:re,className:"w-full max-w-full flex flex-col items-start gap-1.5 rounded-xl border border-emerald-500/40 bg-emerald-500/10 px-2.5 py-2 hover:bg-emerald-500/20 transition-colors cursor-pointer text-left overflow-hidden",children:[e.jsx("span",{className:"text-[10px] uppercase tracking-wide text-emerald-700 dark:text-emerald-400 opacity-70 leading-tight",children:ue}),e.jsxs("span",{className:"inline-flex max-w-full items-center gap-1.5 rounded-full bg-background/70 border border-emerald-500/30 pl-1 pr-2 py-0.5 text-xs font-medium text-emerald-700 dark:text-emerald-400 overflow-hidden",children:[e.jsx("span",{className:"flex-shrink-0 h-6 w-6 rounded-full overflow-hidden bg-background border border-emerald-500/30",children:e.jsx(nt,{articleNumber:U.ArtikelNr,className:"w-full h-full object-contain",disableClick:!0})}),e.jsxs("span",{className:"min-w-0 leading-tight",children:[e.jsx($t,{nr:U.ArtikelNr,textClassName:"font-bold whitespace-nowrap"}),(((ge=U.BemerkungDE)==null?void 0:ge.trim())||((ke=U.Bezeichnung)==null?void 0:ke.trim()))&&e.jsx("span",{className:"ml-1.5 text-foreground/80 break-words",children:((Ce=U.BemerkungDE)==null?void 0:Ce.trim())||U.Bezeichnung.trim()})]}),e.jsx(rt,{className:"h-3 w-3 flex-shrink-0"})]})]})})():e.jsxs("div",{className:"max-w-full",children:[e.jsxs("button",{type:"button",onClick:()=>D(U=>!U),className:"inline-flex items-center gap-2 rounded-lg border border-emerald-500/40 bg-emerald-500/5 px-3 py-1.5 text-xs font-semibold text-emerald-700 dark:text-emerald-400 hover:bg-emerald-500/15 transition-colors","aria-expanded":Q,children:[e.jsx(ye,{className:"h-3.5 w-3.5"}),B.length," passende Filter / Teile dazu",e.jsx(qt,{className:`h-3.5 w-3.5 transition-transform ${Q?"rotate-180":""}`})]}),Q&&e.jsx("div",{className:"mt-2 flex flex-wrap gap-1.5 rounded-xl border border-emerald-500/30 bg-emerald-500/5 p-2",children:B.map(U=>{var ge,ke,Ce;const re=K?`${U.Bezeichnung||""} (über gemeinsame Fahrzeug-Zuordnung erkannt)`:U.Bezeichnung||"";return e.jsxs("button",{type:"button",onClick:()=>{D(!1),y(U.ArtikelNr)},className:"inline-flex max-w-full items-center gap-1.5 rounded-full bg-background/70 border border-emerald-500/30 pl-1 pr-2 py-0.5 text-xs font-medium text-emerald-700 dark:text-emerald-400 hover:bg-emerald-500/20 transition-colors text-left",title:re,children:[e.jsx("span",{className:"flex-shrink-0 h-6 w-6 rounded-full overflow-hidden bg-background border border-emerald-500/30",children:e.jsx(nt,{articleNumber:U.ArtikelNr,className:"w-full h-full object-contain"})}),e.jsxs("span",{className:"min-w-0 leading-tight",children:[e.jsx($t,{nr:U.ArtikelNr,textClassName:"font-bold whitespace-nowrap"}),(((ge=U.BemerkungDE)==null?void 0:ge.trim())||((ke=U.Bezeichnung)==null?void 0:ke.trim()))&&e.jsx("span",{className:"ml-1.5 text-foreground
64/80 break-words",children:((Ce=U.BemerkungDE)==null?void 0:Ce.trim())||U.Bezeichnung.trim()})]}),e.jsx(rt,{className:"h-3 w-3 flex-shrink-0"})]},U.ArtikelNr)})})]})})})()]}),e.jsxs("div",{className:"p-3 md:p-4 flex flex-col gap-2 overflow-hidden",children:[a?e.jsx("div",{className:"-mt-0.5",children:e.jsx(io,{crossNr:a,manufacturer:d,alsoUsedBy:u,size:"lg",plain:!0})}):n?e.jsx("p",{className:"text-[11px] text-muted-foreground truncate",children:n.split(/\s*[›·:]\s*/).map((g,L,z)=>e.jsxs("span",{children:[g.trim(),L<z.length-1&&e.jsx("span",{className:"mx-1 text-muted-foreground/50",children:"›"})]},L))}):null,e.jsx(Za,{articleNumber:o}),Hl(o)&&e.jsx($l,{size:"sm",className:"w-fit"}),e.jsx("h2",{className:"text-base md:text-lg font-bold pr-8 break-words leading-snug",children:i.Bezeichnung||"Artikel"}),e.jsxs("p",{className:"text-xs text-muted-foreground flex items-center gap-1 flex-wrap",children:[V("article.articleNr")," ",e.jsx($t,{nr:o})," ",e.jsx(Vn,{articleNumber:o})," ",e.jsx(dl,{articleNumber:o})]}),e.jsx(lc,{siblings:Re,currentArticleNr:o,onSelect:g=>y(g)}),e.jsx(co,{articleNumber:o,className:"mt-0.5"}),e.jsx(jo,{articleNumber:o,className:"mt-1"}),sn&&e.jsxs(Ze,{children:[e.jsx(As,{asChild:!0,children:e.jsxs("button",{type:"button",onClick:g=>g.stopPropagation(),className:"inline-flex items-center gap-1.5 mt-2 px-2.5 py-1 rounded-full text-xs font-medium border border-sky-500/40 bg-sky-500/10 text-sky-700 dark:text-sky-400 hover:bg-sky-500/20 transition-colors w-fit",title:"Trockenmittelpatronen – Varianten erklärt",children:[e.jsx(vt,{className:"h-3 w-3"}),"Lufttrockner: Standard oder Ölabscheider?"]})}),e.jsxs(tt,{className:"max-w-4xl w-[95vw] max-h-[90vh] overflow-y-auto",children:[e.jsx(ht,{className:"sr-only",children:"Trockenmittelpatronen Varianten erklärt"}),e.jsx(wr,{className:"sr-only",children:"Vergleich zwischen Standard-Trockenmittelpatrone und Trockenmittelpatrone mit Ölabscheider für Druckluft-Bremsanlagen."}),e.jsx(Zn,{})]})]}),At!=null&&Ae!=null&&e.jsx("div",{className:"mt-1 flex items-start gap-4",children:e.jsxs("div",{className:"flex-1 min-w-0",children:[(i.RabattProzent??0)>0&&i.Listenpreis!=null&&i.Listenpreis>(Ae??0)&&i.Standardpreis===i.Preis&&e.jsxs("div",{className:"mb-1",children:[e.jsxs("span",{className:"text-sm text-muted-foreground line-through",children:[St(i.Listenpreis).toFixed(2).replace(".",",")," €"]}),e.jsxs(Z,{variant:"secondary",className:"ml-2 text-xs font-semibold bg-green-100 text-green-700 dark:bg-green-900/40 dark:text-green-400 border-green-200 dark:border-green-800",children:["-",i.RabattProzent.toFixed(0).replace(".",","),"%"]})]}),e.jsxs("span",{className:"text-2xl font-bold text-primary",children:[At.toFixed(2).replace(".",",")," €"]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[V("article.inclVat",{vat:na}),","," ",e.jsx("a",{href:"/zahlung",className:"underline hover:text-primary transition-colors",children:V("article.shippingCosts")})]}),e.jsxs("p",{className:"text-xs font-semibold text-orange-600 dark:text-orange-400",children:["(",V("article.netPrice"),": ",Number(Ae).toFixed(2).replace(".",",")," €)"]}),Yr&&e.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:Yr}),e.jsx("div",{className:"mt-1.5",children:e.jsx(qa,{articleNumber:o,articleDescription:i==null?void 0:i.Bezeichnung,currentPrice:At??void 0,mftLogo:i==null?void 0:i.MftLogo,manufacturer:i==null?void 0:i.Hersteller})})]})}),ua!=null?e.jsxs("div",{className:"mt-1.5",children:[Ur&&e.jsxs("div",{className:"text-sm text-muted-foreground italic space-y-1 mb-3 p-3 rounded-lg bg-amber-50 border border-amber-200",children:[e.jsx("p",{className:"font-medium text-amber-900 not-italic",children:"🎁 Dieser Artikel wird automatisch als Gratis-Geschenk hinzugefügt."}),(()=>{if(Ja(o)){const z=an();return z?e.jsxs("p",{className:"text-xs not-italic text-amber-800",children:["Bedingung: Netto-Bestellwert ab"," ",e.jsxs("span",{className:"font-semibold",children:[z.minOrderNet.toFixed(2).replace(".",",")," €"]})," ","· max. 1× pro Bestellung · solange der Vorrat reicht."]}):null}const g=ln(),L=g==null?void 0:g.rules.find(z=>z.active&&z.giftArticle&&z.giftArticle.toUpperCase()===o.toUpperCase());return L?e.jsxs("p",{className:"text-xs not-italic text-amber-800",children:["Bedingung: Ab"," ",e.jsxs("span",{className:"font-semibold",children:[L.minCount," Artikel"]})," ","mit Präfix „",L.prefix,'" im Warenkorb · max. 1× pro Bestellung.']}):null})(),e.jsxs("p",{className:"text-xs not-italic text-amber-800 pt-1 border-t border-amber-200 mt-2",children:["ℹ️ Sie können diesen Art
64ikel ",e.jsx("strong",{children:"zusätzlich ganz normal als Kaufartikel"})," in den Warenkorb legen — die Geschenk-Position bleibt davon unberührt."]})]}),e.jsxs(e.Fragment,{children:[e.jsxs("p",{className:"text-sm font-medium mb-1.5",children:[Ur?"Zusätzlich kaufen — Menge:":`${V("common.quantity")}:`,Fe>1&&e.jsxs("span",{className:"text-xs text-primary font-normal ml-2",children:["(nur in ",Fe,"er-Schritten bestellbar)"]})]}),e.jsxs("div",{className:"flex flex-wrap gap-2 items-center",children:[e.jsxs("div",{className:"flex items-center",children:[e.jsx(Rt,{value:kt,min:zt,step:Fe,className:"rounded-r-none border-r-0",onCommit:Xt}),(()=>{const g=Ya(sa,o),L=g>0;return e.jsxs(J,{size:"icon",onClick:da,className:`h-[2.875rem] w-[2.875rem] relative rounded-l-none ${L?"bg-green-600 hover:bg-green-700 text-white":""}`,"aria-label":V("article.addToCart"),children:[e.jsx(He,{className:"h-5 w-5"}),L&&e.jsx("span",{className:"absolute -top-1.5 -right-1.5 bg-white text-green-700 text-[10px] font-bold rounded-full h-5 min-w-[20px] flex items-center justify-center px-1 shadow border border-green-200",children:g})]})})(),e.jsx(Ds,{nr:o,qty:kt,source:"artikeldetail",className:"h-[2.875rem] w-[2.875rem] sm:h-8 sm:w-8"})]}),e.jsx(Rn,{articleNumber:o,referenceNumber:(i.Bezeichnung,void 0),description:i.Bezeichnung,price:i.Preis,mftLogo:i.MftLogo,manufacturer:i.HerstellerName,size:"default"}),x&&e.jsx(J,{variant:f?"default":"outline",size:"icon",className:"h-9 w-9 shrink-0",title:V(f?"unified.compareRemove":"unified.compareAdd"),onClick:()=>{const g={};i.Hoehe&&(g.Hoehe=i.Hoehe),i.Durchmesser_oben&&(g.Durchmesser_oben=i.Durchmesser_oben),i.Durchmesser_unten&&(g.Durchmesser_unten=i.Durchmesser_unten),i.Durchmesser_innen&&(g.Durchmesser_innen=i.Durchmesser_innen),i.Lochdurchmesser&&(g.Lochdurchmesser=i.Lochdurchmesser),i.Gewinde&&(g.Gewinde=i.Gewinde),i.Laenge&&(g.Laenge=i.Laenge),i.Breite&&(g.Breite=i.Breite),i.Anschluss&&(g.Anschluss=i.Anschluss),i.GewichtKG&&(g.GewichtKG=i.GewichtKG),x({articleNumber:o,bezeichnung:i.Bezeichnung,hersteller:i.HerstellerName,price:i.Preis,standardpreis:i.Standardpreis,mftLogo:i.MftLogo,stock:H||null,dimensions:g})},children:e.jsx(Tt,{className:"h-4 w-4"})})]}),ie&&ie.VPE>0&&ie.NurAlsVPE&&e.jsxs("div",{className:"mt-2 rounded-lg border-2 border-red-400 dark:border-red-600 bg-red-50 dark:bg-red-950/30 text-red-800 dark:text-red-300 ring-2 ring-red-200 dark:ring-red-800/50 p-2.5 text-xs flex items-center gap-2 flex-wrap",children:[e.jsxs("p",{className:"flex items-center gap-1 font-bold text-red-600 dark:text-red-400",children:[e.jsx(ye,{className:"h-4 w-4 flex-shrink-0"}),"Nur als VPE (",ie.VPE,"er ",ie.VPEEinheit||"Karton",")"]}),e.jsxs("span",{className:"text-[11px]",children:["· Mindestmenge: ",ie.VPE," ",ie.InhaltEinheit||"Stück"," · Preis gilt pro ",ie.InhaltEinheit||"Stück"]})]}),ie&&ie.VPE>0&&!ie.NurAlsVPE&&e.jsxs("div",{className:"mt-2 rounded-lg border border-amber-200 dark:border-amber-800 bg-amber-50 dark:bg-amber-950/30 text-amber-800 dark:text-amber-300 p-2.5 text-xs flex items-center gap-2 flex-wrap",children:[e.jsxs("p",{className:"flex items-center gap-1 font-semibold",children:[e.jsx(ye,{className:"h-3.5 w-3.5 flex-shrink-0"}),"VPE: ",ie.VPE,"× ",ie.InhaltEinheit||"Stück"," (",ie.VPEEinheit||"Karton",")"]}),e.jsxs("span",{className:"text-[11px]",children:["· Preis gilt pro ",ie.InhaltEinheit||"Stück"," · ",ie.Hinweis||"Auch als VPE erhältlich"]})]}),e.jsx("div",{className:"mt-2",children:e.jsx(Qe,{type:"text",value:Js,onChange:g=>Ys(g.target.value.slice(0,500)),placeholder:"Ihre Notiz",className:"h-9 text-xs",maxLength:500})})]})]}):e.jsx("button",{type:"button",onClick:()=>Xs(!0),className:"mt-3 text-sm text-amber-600 dark:text-amber-400 font-medium hover:underline cursor-pointer text-left",children:V("article.onRequest")}),(()=>{const g=i.Preis==null,L=Number((H==null?void 0:H.Bestand)??0)-Number((H==null?void 0:H.RueckstandKunde)??0);if(g){const z=Number((H==null?void 0:H.RueckstandLieferant)??0);return L>0||z>0?e.jsx(e.Fragment,{children:e.jsx(pt,{stock:H,articleNumber:o})}):null}return e.jsx(e.Fragment,{children:e.jsx(pt,{stock:H,showFallback:!0,articleNumber:o})})})(),i.GebindeInhalt&&i.GebindeEinheit&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:[V("article.container"),": ",i.GebindeInhalt," ",i.GebindeEinheit]})]})]}),(ha||xa)&&e.jsxs(e.Fragment,{children:[e.jsx(Qa,{}),e.jsx("div",{className:"px-4 md:px-6 py-3",children:e.jsxs(Gt,{value:N,onValueChange:w,className:"w-full",children:[e.jsxs("div",{className:"mb-4",children:[e.jsxs(st,{className:"article-tabgrid md:hidden grid grid-cols-4 gap-1.5 h-auto bg-transparent p-0 w-full",children:[e.jsxs(W,{value:"details",className:"flex-col gap-1 h-auto py-2.5 px-1 rounded-xl bg-muted/40 border border-transparent data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all",children:[e.jsx(ye,{className:"h-4 w-4"}),e.jsx("span",{className:"article-tablabel text-[10px] font-medium leading-tight",children:V("article.details")})]}),Qr&&e.jsxs(W,{value:"datasheets",className:"flex-col gap-1 h-auto py-2.5 px-1 rounded-xl bg-muted/40 border border-transparent data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all relative",children:[e.jsx(Cr,{className:"h-4 w-4"}),e.jsx("span",{className:"article-tablabel text-[10px] font-medium leading-tight",children:"Daten"}),e.jsx("span",{className:"absolute top-1 right-1 text-[9px] bg-foreground
64/80 text-background rounded-full min-w-[14px] h-[14px] flex items-center justify-center px-1 font-bold tabular-nums",children:le.length})]}),Et&&e.jsxs(W,{value:"alternativen",className:"flex-col gap-1 h-auto py-2.5 px-1 rounded-xl bg-muted/40 border border-transparent data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all relative",children:[e.jsx(Wt,{className:"h-4 w-4"}),e.jsx("span",{className:"article-tablabel text-[10px] font-medium leading-tight",children:"Alternativen"}),e.jsx("span",{className:"absolute top-1 right-1 text-[9px] bg-foreground/80 text-background rounded-full min-w-[14px] h-[14px] flex items-center justify-center px-1 font-bold tabular-nums",children:fe.length})]}),ot&&e.jsxs(W,{value:"vehicles",className:"flex-col gap-1 h-auto py-2.5 px-1 rounded-xl bg-muted/40 border border-transparent data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all relative",children:[e.jsx(Vt,{className:"h-4 w-4"}),e.jsx("span",{className:"article-tablabel text-[10px] font-medium leading-tight",children:"Fahrzeuge"}),!nr&&Oe.length>0&&e.jsx("span",{className:"absolute top-1 right-1 text-[9px] bg-foreground
64/80 text-background rounded-full min-w-[14px] h-[14px] flex items-center justify-center px-1 font-bold tabular-nums",children:Oe.length})]}),ot&&e.jsxs(W,{value:"fitcheck",className:"flex-col gap-1 h-auto py-2.5 px-1 rounded-xl bg-emerald-50 dark:bg-emerald-950/30 border border-emerald-300/60 dark:border-emerald-700/40 text-emerald-700 dark:text-emerald-400 data-[state=active]:bg-emerald-600 data-[state=active]:text-white data-[state=active]:border-emerald-600 data-[state=active]:shadow-md transition-all",children:[e.jsx(Pe,{className:"h-4 w-4"}),e.jsx("span",{className:"article-tablabel text-[10px] font-semibold leading-tight",children:"Fz-Check"})]}),Ct&&e.jsxs(W,{value:"zubehoer",className:"flex-col gap-1 h-auto py-2.5 px-1 rounded-xl bg-muted/40 border border-transparent data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all relative",children:[e.jsx(Es,{className:"h-4 w-4"}),e.jsx("span",{className:"article-tablabel text-[10px] font-medium leading-tight",children:"Zubehör"}),e.jsx("span",{className:"absolute top-1 right-1 text-[9px] bg-foreground
64/80 text-background rounded-full min-w-[14px] h-[14px] flex items-center justify-center px-1 font-bold tabular-nums",children:ve.length})]}),e.jsxs(W,{value:"gpsr",className:"flex-col gap-1 h-auto py-2.5 px-1 rounded-xl bg-muted/40 border border-transparent data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all",children:[e.jsx(ft,{className:"h-4 w-4"}),e.jsx("span",{className:"article-tablabel text-[10px] font-medium leading-tight",children:"Sicherheit"})]}),De&&e.jsxs(W,{value:"brand",className:"flex-col gap-1 h-auto py-2.5 px-1 rounded-xl bg-muted/40 border border-transparent data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all",children:[e.jsx(zr,{className:"h-4 w-4"}),e.jsx("span",{className:"article-tablabel text-[10px] font-medium leading-tight",children:"Marke"})]}),e.jsxs(W,{value:"gvo",className:"flex-col gap-1 h-auto py-2.5 px-1 rounded-xl bg-primary/10 border border-primary/30 text-primary data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all",children:[e.jsx(ds,{className:"h-4 w-4"}),e.jsx("span",{className:"article-tablabel text-[10px] font-semibold leading-tight",children:"Ihre Rechte"})]}),o.toUpperCase().startsWith("CAIPAN")&&e.jsx(je,{to:"/cai-pan",onClick:()=>s(!1),className:"contents",children:e.jsx(W,{value:"_caipan_link",asChild:!0,children:e.jsxs("span",{className:"flex flex-col gap-1 h-auto py-2.5 px-1 rounded-xl bg-green-50 dark:bg-green-950/30 border border-green-300/60 text-green-800 dark:text-green-400 items-center justify-center cursor-pointer",children:[e.jsx(un,{className:"h-4 w-4"}),e.jsx("span",{className:"article-tablabel text-[10px] font-semibold leading-tight",children:"CAI-PAN®"})]})})}),ae&&e.jsxs(e.Fragment,{children:[e.jsxs(W,{value:"lagerplaetze",className:"flex-col gap-1 h-auto py-2.5 px-1 rounded-xl bg-violet-50/70 dark:bg-violet-950/30 border border-dashed border-violet-300 dark:border-violet-700 text-violet-700 dark:text-violet-300 data-[state=active]:bg-violet-600 data-[state=active]:text-white data-[state=active]:border-violet-600 transition-all relative",children:[e.jsx(Is,{className:"h-4 w-4"}),e.jsx("span",{className:"article-tablabel text-[10px] font-medium leading-tight",children:"Lager"}),Xr&&e.jsx("span",{className:"absolute top-1 right-1 text-[9px] bg-violet-700 text-white rounded-full min-w-[14px] h-[14px] flex items-center justify-center px-1 font-bold tabular-nums",children:P.length})]}),e.jsxs(W,{value:"bestandsdetails",className:"flex-col gap-1 h-auto py-2.5 px-1 rounded-xl bg-violet-50/70 dark:bg-violet-950/30 border border-dashed border-violet-300 dark:border-violet-700 text-violet-700 dark:text-violet-300 data-[state=active]:bg-violet-600 data-[state=active]:text-white data-[state=active]:border-violet-600 transition-all",children:[e.jsx(Fs,{className:"h-4 w-4"}),e.jsx("span",{className:"article-tablabel text-[10px] font-medium leading-tight",children:"Bestand"})]}),rs&&e.jsxs(W,{value:"crossrefs",className:"flex-col gap-1 h-auto py-2.5 px-1 rounded-xl bg-violet-50/70 dark:bg-violet-950/30 border border-dashed border-violet-300 dark:border-violet-700 text-violet-700 dark:text-violet-300 data-[state=active]:bg-violet-600 data-[state=active]:text-white data-[state=active]:border-violet-600 transition-all relative",children:[e.jsx(Tt,{className:"h-4 w-4"}),e.jsx("span",{className:"article-tablabel text-[10px] font-medium leading-tight",children:"Cross-Ref"}),ts&&e.jsx("span",{className:"absolute top-1 right-1 text-[9px] bg-violet-700 text-white rounded-full min-w-[14px] h-[14px] flex items-center justify-center px-1 font-bold tabular-nums",children:es.length})]}),e.jsxs(W,{value:"ek",className:"flex-col gap-1 h-auto py-2.5 px-1 rounded-xl bg-violet-50/70 dark:bg-violet-950/30 border border-dashed border-violet-300 dark:border-violet-700 text-violet-700 dark:text-violet-300 data-[state=active]:bg-violet-600 data-[state=active]:text-white data-[state=active]:border-violet-600 transition-all",children:[e.jsx(Cs,{className:"h-4 w-4"}),e.jsx("span",{className:"article-tablabel text-[10px] font-medium leading-tight",children:"EK"})]}),e.jsxs(W,{value:"carts",className:"flex-col gap-1 h-auto py-2.5 px-1 rounded-xl bg-violet-50/70 dark:bg-violet-950/30 border border-dashed border-violet-300 dark:border-violet-700 text-violet-700 dark:text-violet-300 data-[state=active]:bg-violet-600 data-[state=active]:text-white data-[state=active]:border-violet-600 transition-all",children:[e.jsx(He,{className:"h-4 w-4"}),e.jsx("span",{className:"article-tablabel text-[10px] font-medium leading-tight",children:"In Körben"})]})]})]}),e.jsxs(st,{className:"article-tabgrid hidden md:grid grid-cols-6 lg:grid-cols-8 gap-2 h-auto bg-transparent p-0 w-full",children:[e.jsxs(W,{value:"details",className:"flex-col gap-1.5 h-auto py-3 px-2 rounded-xl bg-muted/40 border border-transparent data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all",children:[e.jsx(ye,{className:"h-5 w-5"}),e.jsx("span",{className:"article-tablabel text-xs font-medium leading-tight",children:V("article.details")})]}),Qr&&e.jsxs(W,{value:"datasheets",className:"flex-col gap-1.5 h-auto py-3 px-2 rounded-xl bg-muted/40 border border-transparent data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all relative",children:[e.jsx(Cr,{className:"h-5 w-5"}),e.jsx("span",{className:"article-tablabel text-xs font-medium leading-tight",children:V("article.datasheets")}),e.jsx("span",{className:"absolute top-1.5 right-1.5 text-[10px] bg-foreground
64/80 text-background rounded-full min-w-[16px] h-[16px] flex items-center justify-center px-1 font-bold tabular-nums",children:le.length})]}),Et&&e.jsxs(W,{value:"alternativen",className:"flex-col gap-1.5 h-auto py-3 px-2 rounded-xl bg-muted/40 border border-transparent data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all relative",children:[e.jsx(Wt,{className:"h-5 w-5"}),e.jsx("span",{className:"article-tablabel text-xs font-medium leading-tight",children:V("article.alternatives")}),e.jsx("span",{className:"absolute top-1.5 right-1.5 text-[10px] bg-foreground/80 text-background rounded-full min-w-[16px] h-[16px] flex items-center justify-center px-1 font-bold tabular-nums",children:fe.length})]}),ot&&e.jsxs(W,{value:"vehicles",className:"flex-col gap-1.5 h-auto py-3 px-2 rounded-xl bg-muted/40 border border-transparent data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all relative",children:[e.jsx(Vt,{className:"h-5 w-5"}),e.jsx("span",{className:"article-tablabel text-xs font-medium leading-tight",children:V("article.vehicles")}),!nr&&Oe.length>0&&e.jsx("span",{className:"absolute top-1.5 right-1.5 text-[10px] bg-foreground
64/80 text-background rounded-full min-w-[16px] h-[16px] flex items-center justify-center px-1 font-bold tabular-nums",children:Oe.length})]}),ot&&e.jsxs(W,{value:"fitcheck",className:"flex-col gap-1.5 h-auto py-3 px-2 rounded-xl bg-emerald-50 dark:bg-emerald-950/30 border border-emerald-300/60 dark:border-emerald-700/40 text-emerald-700 dark:text-emerald-400 data-[state=active]:bg-emerald-600 data-[state=active]:text-white data-[state=active]:border-emerald-600 data-[state=active]:shadow-md transition-all",children:[e.jsx(Pe,{className:"h-5 w-5"}),e.jsx("span",{className:"article-tablabel text-xs font-semibold leading-tight",children:"Fz-Check"})]}),Ct&&e.jsxs(W,{value:"zubehoer",className:"flex-col gap-1.5 h-auto py-3 px-2 rounded-xl bg-muted/40 border border-transparent data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all relative",children:[e.jsx(Es,{className:"h-5 w-5"}),e.jsx("span",{className:"article-tablabel text-xs font-medium leading-tight",children:V("article.accessories")}),e.jsx("span",{className:"absolute top-1.5 right-1.5 text-[10px] bg-foreground
64/80 text-background rounded-full min-w-[16px] h-[16px] flex items-center justify-center px-1 font-bold tabular-nums",children:ve.length})]}),e.jsxs(W,{value:"gpsr",className:"flex-col gap-1.5 h-auto py-3 px-2 rounded-xl bg-muted/40 border border-transparent data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all",children:[e.jsx(ft,{className:"h-5 w-5"}),e.jsx("span",{className:"article-tablabel text-xs font-medium leading-tight",children:V("article.gpsr.tabTitle","Sicherheit")})]}),De&&e.jsxs(W,{value:"brand",className:"flex-col gap-1.5 h-auto py-3 px-2 rounded-xl bg-muted/40 border border-transparent data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all",children:[e.jsx(zr,{className:"h-5 w-5"}),e.jsx("span",{className:"article-tablabel text-xs font-medium leading-tight",children:"Marke"})]}),o.toUpperCase().startsWith("CAIPAN")&&e.jsx(je,{to:"/cai-pan",onClick:()=>s(!1),className:"contents",children:e.jsx(W,{value:"_caipan_link",asChild:!0,children:e.jsxs("span",{className:"flex flex-col gap-1.5 h-auto py-3 px-2 rounded-xl bg-green-50 dark:bg-green-950/30 border border-green-300/60 text-green-800 dark:text-green-400 items-center justify-center cursor-pointer",children:[e.jsx(un,{className:"h-5 w-5"}),e.jsx("span",{className:"article-tablabel text-xs font-semibold leading-tight",children:"CAI-PAN®"})]})})}),e.jsxs(W,{value:"gvo",className:"flex-col gap-1.5 h-auto py-3 px-2 rounded-xl bg-primary/10 border border-primary/30 text-primary data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary data-[state=active]:shadow-md transition-all",children:[e.jsx(ds,{className:"h-5 w-5"}),e.jsx("span",{className:"article-tablabel text-xs font-semibold leading-tight",children:"Ihre Rechte"})]})]}),ae&&e.jsxs("div",{className:"hidden md:flex items-center gap-2 mt-2 px-1 flex-wrap",children:[e.jsx("span",{className:"text-[9px] text-muted-foreground/60 uppercase tracking-wider font-semibold select-none shrink-0",children:"Admin"}),e.jsxs(st,{className:"bg-transparent p-0 gap-1 h-auto flex-wrap",children:[e.jsxs(W,{value:"lagerplaetze",className:"gap-1.5 text-[11px] px-2.5 py-1 rounded-md border border-violet-300/50 bg-violet-50/60 text-violet-700 data-[state=active]:bg-violet-600 data-[state=active]:text-white data-[state=active]:border-violet-600 dark:bg-violet-950/30 dark:text-violet-300 dark:border-violet-600",children:[e.jsx(Is,{className:"h-3 w-3"}),V("article.storage"),Xr&&e.jsx("span",{className:"text-[9px] bg-violet-200/80 text-violet-700 dark:bg-violet-800/40 dark:text-violet-300 rounded-full px-1 py-0 tabular-nums",children:P.length})]}),e.jsxs(W,{value:"bestandsdetails",className:"gap-1.5 text-[11px] px-2.5 py-1 rounded-md border border-violet-300/50 bg-violet-50/60 text-violet-700 data-[state=active]:bg-violet-600 data-[state=active]:text-white data-[state=active]:border-violet-600 dark:bg-violet-950/30 dark:text-violet-300 dark:border-violet-600",children:[e.jsx(Fs,{className:"h-3 w-3"}),"Bestandsdetails"]}),rs&&e.jsxs(W,{value:"crossrefs",className:"gap-1.5 text-[11px] px-2.5 py-1 rounded-md border border-violet-300/50 bg-violet-50/60 text-violet-700 data-[state=active]:bg-violet-600 data-[state=active]:text-white data-[state=active]:border-violet-600 dark:bg-violet-950/30 dark:text-violet-300 dark:border-violet-600",children:[e.jsx(Tt,{className:"h-3 w-3"}),"Cross-Referenzen",ts&&e.jsx("span",{className:"text-[9px] bg-violet-200/80 text-violet-700 dark:bg-violet-800/40 dark:text-violet-300 rounded-full px-1 py-0 tabular-nums",children:es.length})]}),e.jsxs(W,{value:"ek",className:"gap-1.5 text-[11px] px-2.5 py-1 rounded-md border border-violet-300/50 bg-violet-50/60 text-violet-700 data-[state=active]:bg-violet-600 data-[state=active]:text-white data-[state=active]:border-violet-600 dark:bg-violet-950/30 dark:text-violet-300 dark:border-violet-600",children:[e.jsx(Cs,{className:"h-3 w-3"}),"EK / Lieferanten"]}),e.jsxs(W,{value:"carts",className:"gap-1.5 text-[11px] px-2.5 py-1 rounded-md border border-violet-300/50 bg-vi
64olet-50/60 text-violet-700 data-[state=active]:bg-violet-600 data-[state=active]:text-white data-[state=active]:border-violet-600 dark:bg-violet-950/30 dark:text-violet-300 dark:border-violet-600",children:[e.jsx(He,{className:"h-3 w-3"}),"In Warenkörben",ar&&ar.cart_count>0&&e.jsxs("span",{className:"text-[9px] bg-violet-200/80 text-violet-700 dark:bg-violet-800/40 dark:text-violet-300 rounded-full px-1 py-0 tabular-nums",children:[ar.total_quantity,"/",ar.cart_count]})]})]})]})]}),e.jsxs(de,{value:"details",children:[e.jsx(ho,{artikelArt:i==null?void 0:i.ArtikelArt,onNavigate:()=>s(!1)}),(o==null?void 0:o.toUpperCase())==="WDIV2590022"&&e.jsx(ro,{}),(o==null?void 0:o.toUpperCase())==="WDIV352708"&&e.jsx(so,{}),e.jsx(gl,{articleNumber:o}),e.jsx(nc,{descriptionText:ir,dimensions:qr,bezeichnung:(i==null?void 0:i.Bezeichnung)||"",articleNumber:o,hl:i==null?void 0:i.HL,hlNr:i==null?void 0:i.HLNr,oeRefs:M,allOeRefs:se,showAirDryerInfo:sn}),e.jsx(Al,{bezeichnung:i==null?void 0:i.Bezeichnung,beschreibung:ir,gebindeInhalt:i==null?void 0:i.GebindeInhalt,gebindeEinheit:i==null?void 0:i.GebindeEinheit})]}),Qr&&e.jsx(de,{value:"datasheets",children:e.jsx(ac,{videos:ga,pdfs:pa,images:fa,otherFiles:ba})}),Ct&&e.jsx(de,{value:"zubehoer",children:e.jsx(An,{items:[...ve].sort((g,L)=>(g.HerstellerName||"").localeCompare(L.HerstellerName||"","de",{sensitivity:"base"})||g.ArtikelNr.localeCompare(L.ArtikelNr)),onArticleClick:y,articleNumber:o,label:V("article.relatedAccessories"),showManufacturerLogo:!0})}),Et&&e.jsx(de,{value:"alternativen",children:e.jsx(An,{items:[...fe].sort((g,L)=>(g.HerstellerName||"").localeCompare(L.HerstellerName||"","de",{sensitivity:"base"})||g.ArtikelNr.localeCompare(L.ArtikelNr)),onArticleClick:y,articleNumber:o,label:V("article.alternativeArticles"),showManufacturerLogo:!0})}),ot&&e.jsx(de,{value:"vehicles",children:e.jsx(Xo,{vehicles:Oe,loading:nr,parentReferenceInfo:n})}),ot&&e.jsx(de,{value:"fitcheck",children:e.jsx(lo,{articleNumber:o,vehicles:Oe,vehiclesLoading:nr})}),ae&&e.jsx(de,{value:"lagerplaetze",children:Xr?e.jsx(Uo,{lagerplaetze:P}):e.jsx(Ts,{icon:e.jsx(Bi,{className:"h-8 w-8"}),title:"Keine Lagerorte hinterlegt",description:"Für diesen Artikel sind aktuell keine Lagerorte in der Warenwirtschaft erfasst.",hint:"Lagerorte werden automatisch aus der WaWi synchronisiert"})}),ae&&e.jsx(de,{value:"bestandsdetails",children:e.jsx(Jo,{articleNumber:o,fallbackStock:H})}),ae&&e.jsx(de,{value:"ek",children:e.jsx(ol,{articleNumber:o})}),ae&&e.jsx(de,{value:"carts",children:e.jsx(qo,{articleNumber:o,onTotals:g=>Gr({cart_count:g.cart_count,total_quantity:g.total_quantity})})}),rs&&e.jsx(de,{value:"crossrefs",children:ts?e.jsx(Qo,{oeRefs:es,onArticleClick:g=>y(g),showSearch:ae}):e.jsx(Ts,{icon:e.jsx(Tt,{className:"h-8 w-8"}),title:"Keine Cross-Referenzen bekannt",description:"Für diesen Artikel sind keine OE- oder Fremdnummern hinterlegt.",hint:"Cross-Referenzen werden aus dem Fahrzeugkatalog abgeleitet"})}),e.jsx(de,{value:"gpsr",children:e.jsx(Ko,{details:i,articleNumber:o})}),De&&e.jsx(de,{value:"brand",children:e.jsxs("div",{className:"rounded-xl border border-border bg-gradient-to-br from-muted/30 to-background p-5 md:p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-start gap-5",children:[e.jsx("div",{className:"flex-shrink-0 w-20 md:w-28 bg-white rounded-xl p-3 shadow-sm border border-border flex items-center justify-center",children:e.jsx("img",{src:De.logo,alt:De.name,className:"h-10 md:h-14 w-auto object-contain"})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h3",{className:"text-lg font-bold text-foreground",children:De.name}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1 leading-relaxed",children:De.description})]})]}),e.jsxs(je,{to:De.route,className:"inline-flex items-center gap-2 rounded-lg bg-primary px-4 py-2.5 text-sm font-semibold text-primary-foreground shadow-md hover:bg-primary/90 active:scale-[0.97] transition-all",children:[e.jsx(Er,{className:"h-4 w-4"}),"Mehr zu ",De.name," erfahren",e.jsx(Me,{className:"h-4 w-4"})]})]})}),e.jsx(de,{value:"gvo",children:e.jsxs("div",{className:"rounded-xl border-2 border-primary/30 bg-gradient-to-br from-primary/5 via-background to-primary/5 p-5 md:p-6 space-y-5",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"flex h-14 w-14 shrink-0 items-center justify-center rounded-xl bg-primary text-primary-foreground shadow-lg shadow-primary/25",children:e.jsx(ds,{className:"h-7 w-7"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-bold text-foreground",children:"Freie Ersatzteilwahl – Ihr gutes Recht!"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"EU-Gruppenfreistellungsverordnung (Kfz-GVO Nr. 461/2010)"})]})]}),e.jsxs("div",{className:"rounded-lg bg-primary text-primary-foreground px-5 py-4 shadow-lg shadow-primary/20 border border-primary flex items-center gap-4",children:[e.jsx("span",{className:"text-4xl shrink-0",children:"🏛️"}),e.jsxs("p",{className:"text-[13px] font-bold leading-snug text-center flex-1",children:["Gesetzlich garantiert: Sie dürfen Ersatzteile wie Filter, Öle und Versc
64hleißteile ",e.jsx("span",{className:"underline decoration-2 underline-offset-2",children:"frei wählen"})," und in ",e.jsx("span",{className:"underline decoration-2 underline-offset-2",children:"jeder Werkstatt"})," einbauen lassen. Ihre Garantie bleibt bei OE-Qualität erhalten!"]}),e.jsx("span",{className:"text-4xl shrink-0",children:"🏛️"})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[e.jsxs("div",{className:"flex items-start gap-3 rounded-lg border bg-card p-3",children:[e.jsx("span",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-emerald-100 dark:bg-emerald-950/40 text-2xl",children:"🛒"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Freie Teilewahl"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Sie bestimmen, welche Ersatzteile verwendet werden"})]})]}),e.jsxs("div",{className:"flex items-start gap-3 rounded-xl border-2 border-primary bg-primary/10 p-3 shadow-md shadow-primary/10",children:[e.jsx("span",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-primary/20 text-2xl",children:"🔧"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-bold text-primary",children:"⚠️ Einbaupflicht!"}),e.jsxs("p",{className:"text-xs font-medium text-foreground",children:["Werkstätten ",e.jsx("strong",{className:"underline",children:"müssen"})," mitgebrachte Teile einbauen"]})]})]}),e.jsxs("div",{className:"flex items-start gap-3 rounded-xl border-2 border-emerald-500 bg-emerald-50 dark:bg-emerald-950/30 p-3 shadow-md shadow-emerald-500/10",children:[e.jsx("span",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-emerald-200 dark:bg-emerald-900/50 text-2xl",children:"🛡️"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-bold text-emerald-700 dark:text-emerald-400",children:"✅ Garantie bleibt!"}),e.jsxs("p",{className:"text-xs font-medium text-foreground",children:[e.jsx("strong",{children:"Kein"})," Garantieverlust bei gleichwertiger Qualität"]})]})]}),e.jsxs("div",{className:"flex items-start gap-3 rounded-lg border bg-card p-3",children:[e.jsx("span",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-violet-100 dark:bg-violet-950/40 text-2xl",children:"🏭"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold text-foreground",children:"Freie Werkstattwahl"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Auch freie Werkstätten – keine Vertragsbindung nötig"})]})]})]}),e.jsxs("div",{className:"rounded-xl overflow-hidden border bg-foreground shadow-md",children:[e.jsx("video",{ref:g=>{if(!g)return;const L=new IntersectionObserver(([z])=>{z.isIntersecting&&(g.play().catch(()=>{}),L.disconnect())},{threshold:.5});L.observe(g)},src:Xa.url,controls:!0,muted:!0,preload:"metadata",playsInline:!0,className:"w-full aspect-video object-contain",children:"Ihr Browser unterstützt das Video-Format nicht."}),e.jsx("p",{className:"text-[11px] text-center text-muted-foreground/60 py-1.5 bg-muted/50",children:"Die GVO in 15 Sekunden erklärt"})]}),e.jsxs(Ze,{open:ta,onOpenChange:sr,children:[e.jsx(As,{asChild:!0,children:e.jsxs("button",{className:"inline-flex items-center gap-2 rounded-lg bg-primary px-4 py-2.5 text-sm font-semibold text-primary-foreground shadow-md hover:bg-primary/90 active:scale-[0.97] transition-all cursor-pointer",children:[e.jsx(Er,{className:"h-4 w-4"}),"Alle Infos zur Gruppenfreistellungsverordnung",e.jsx(Ar,{className:"h-3.5 w-3.5"})]})}),e.jsx(tt,{className:"max-w-5xl w-[95vw] h-[85vh] p-0 overflow-hidden [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:rounded-full [&>button]:h-8 [&>button]:w-8 [&>button]:top-3 [&>button]:right-3 [&>button]:shadow-lg [&>button]:hover:bg-primary/90 [&>button]:flex [&>button]:items-center [&>button]:justify-center",children:e.jsx("iframe",{src:"/gruppenfreistellung?embed=1",title:"Gruppenfreistellungsverordnung",className:"w-full h-full border-0"})})]})]})})]})})]}),e.jsx(Ll,{articleNumber:o,open:r,onArticleChange:y,wrapperClassName:"mx-6 mb-6 rounded-lg border bg-muted/30 px-6 py-4"})]})]})]}),k&&i&&e.jsx(ei,{number:o,title:i.Bezeichnung||o,manufacturer:i.HerstellerName,image:G.length>0&&!Qs?lt:null,grossPrice:At!=null?`${At.toFixed(2).replace(".",",")} €`:null,netPrice:Ae!=null?`${Number(Ae).toFixed(2).replace(".",",")} €`:null,sections:[{title:"Technische Daten",rows:qr.map(g=>({label:g.label,value:`${g.value}${g.unit?` ${g.unit}`:""}`}))},{title:"Beschreibung",text:ir}],onDone:l}),e.jsx(Ze,{open:rr,onOpenChange:Vr,children:e.jsxs(tt,{className:"max-w-6xl w-[95vw] h-[90vh] p-3 flex flex-col",children:[e.jsx(ht,{className:"sr-only",children:"Artikelbild vergrößern"}),e.jsxs("div",{className:"relative flex items-center justify-center",children:[G.length>1&&e.jsx(J,{variant:"ghost",size:"icon",className:"absolute left-0 z-10 h-10 w-10 rounded-full bg-background/80 hover:bg-background",onClick:()=>yt(g=>(g-1+G.length)%G.length),children:e.jsx(Sr,{className:"h-5 w-5"})}),e.jsx(cl,{src:G[Wr%G.length],alt:V("article.imageOf",{current:Wr%G.length+1,total:G.length})}),G.length>1&&e.jsx(J,{variant:"ghost",size:"icon",className:"absolute right-0 z-10 h-10 w-10 rounded-full bg-background/80 hover:bg-background",onClick:()=>yt(g=>(g+1)%G.length),children:e.jsx(Me,{className:"h-5 w-5"})})]}),e.jsxs("p",{className:"text-center text-sm text-muted-foreground mt-1",children:[o,G.length>1&&` – ${V("article.imageOf",{current:Wr%G.length+1,total:G.length})}`]})]})}),e.jsx(ti,{open:ea,onOpenChange:Xs,articleNumber:o,articleDescription:i==null?void 0:i.Bezeichnung})]})},Vo=()=>In.from("gpsr_mft_logos");let _e=null,$e=null,ut=null,Mt=!1;function Wo(t=!1){return Mt&&_e&&$e?Promise.resolve():(t&&(ut=null,_e=null,$e=null),ut||(ut=Promise.all([In.from("gpsr_manufacturers").select("manufacturer_key, name, address, contact"),Vo().select("logo_key, name, address, contact")]).then(([r,s])=>{_e=(r.data||[]).map(n=>({key:(n.manufacturer_key||"").toUpperCase(),name:n.name||"",address:n.address||"",contact:n.contact||""})),$e=(s.data||[]).map(n=>({logoKey:n.logo_key||"",logoKeyLower:(n.logo_key||"").toLowerCase(),name:n.name||"",address:n.address||"",contact:n.contact||""})),Mt=_e.length>0||$e.length>0}).catch(()=>{_e=[],$e=[],Mt=!1,ut=null}),ut))}function Go(t,r){const s=(t||"").toUpperCase().trim();if(s&&_e){const n=_e.find(a=>a.key===s)||_e.find(a=>s.includes(a.key));
64if(n&&(n.address||n.contact))return{name:n.name,address:n.address,contact:n.contact,source:"name"}}if(r&&$e){const a=(r.includes("/")?r.split("/").pop():r).trim().toLowerCase(),d=$e.find(u=>u.logoKeyLower===a);if(d&&(d.address||d.contact))return{name:d.name,address:d.address,contact:d.contact,source:"logo"}}return{name:"",address:"",contact:"",source:"none"}}function Ko({details:t,articleNumber:r}){const{t:s}=Se("search"),[n,a]=m.useState(!!(_e&&$e)),[d,u]=m.useState(0);m.useEffect(()=>{(!(_e&&$e)||!Mt)&&Wo(d>0).then(()=>a(!0))},[d]),m.useEffect(()=>{if(n&&!Mt&&d<2){const f=setTimeout(()=>u(h=>h+1),2e3);return()=>clearTimeout(f)}},[n,d]);const c=n?Go(t.HerstellerName,t.MftLogo):null,x=t.HerstellerName||(c==null?void 0:c.name)||null;return e.jsx("div",{className:"space-y-3",children:e.jsxs("div",{className:"text-sm text-muted-foreground space-y-2",children:[e.jsxs("p",{className:"font-medium text-foreground",children:[s("article.gpsr.dealerLabel","Verantwortlicher Händler"),":"]}),e.jsxs("p",{children:["Wismet GmbH & Co. KG & Co. KG",e.jsx("br",{}),"Adlholz 18",e.jsx("br",{}),"92256 Hahnbach",e.jsx("br",{}),"Deutschland"]}),e.jsxs("p",{children:["E-Mail: ",e.jsx("a",{href:"mailto:[email protected]",className:"underline hover:text-primary",children:"[email protected]"})," · ","Web: ",e.jsx("a",{href:"https://www.wismet.de",className:"underline hover:text-primary",target:"_blank",rel:"noopener noreferrer",children:"www.wismet.de"})]}),e.jsxs("div",{className:"mt-2 pt-2 border-t border-border/50",children:[e.jsxs("p",{className:"font-medium text-foreground mb-1",children:[s("article.gpsr.manufacturer","Hersteller"),":"]}),c&&c.source!=="none"?e.jsxs("p",{children:[c.name,c.address&&e.jsxs(e.Fragment,{children:[e.jsx("br",{}),c.address]}),c.contact&&e.jsxs(e.Fragment,{children:[e.jsx("br",{}),c.contact]})]}):x?e.jsxs("p",{children:[x," – ",s("article.gpsr.onRequest","Herstellerangaben auf Anfrage. Bitte kontaktieren Sie uns für weitere Informationen.")]}):e.jsx("p",{className:"italic",children:s("article.gpsr.onRequest","Herstellerangaben auf Anfrage. Bitte kontaktieren Sie uns für weitere Informationen.")})]}),e.jsxs("p",{className:"mt-1.5",children:[e.jsxs("span",{className:"font-medium text-foreground",children:[s("article.gpsr.identification","Produktidentifikation"),":"]})," ",s("article.gpsr.identificationNote","Artikelnummer"),": ",r,t.GewichtKG&&parseFloat(t.GewichtKG)>0&&` · ${s("article.weight","Versandgewicht")}: ${parseFloat(t.GewichtKG).toFixed(2)} kg`]})]})})}function Uo({lagerplaetze:t}){const{t:r}=Se("search");return e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:t.length===1?r("article.storageAssigned",{count:t.length}):r("article.storageAssignedPlural",{count:t.length})}),e.jsx("div",{className:"rounded-lg border border-border overflow-hidden",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"bg-muted/50 border-b border-border",children:[e.jsx("th",{className:"text-left px-4 py-2 font-semibold",children:r("article.storageLocation")}),e.jsx("th",{className:"text-center px-4 py-2 font-semibold w-40",children:r("article.mainStorage")})]})}),e.jsx("tbody",{children:t.map((s,n)=>{const a=String(s.Hauptlagerplatz)==="1"||String(s.Hauptlagerplatz)==="-1";return e.jsxs("tr",{className:`border-b border-border last:border-b-0 ${a?"bg-primary/5":""}`,children:[e.jsx("td",{className:"px-4 py-2.5 font-mono text-sm",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Is,{className:`h-3.5 w-3.5 shrink-0 ${a?"text-primary":"text-muted-foreground"}`}),s.LagerOrt]})}),e.jsx("td",{className:"px-4 py-2.5 text-center",children:a?e.jsx(Z,{variant:"default",className:"text-xs",children:r("article.mainStorageBadge")}):e.jsx("span",{className:"text-muted-foreground text-xs",children:"—"})})]},n)})})]})})]})}const Ht=new Map,bs=new Map,Zo=6e4;function qo({articleNumber:t,onTotals:r}){const s=Ht.get(t),[n,a]=m.useState((s==null?void 0:s.rows)??[]),[d,u]=m.useState((s==null?void 0:s.totals)??{total_quantity:0,cart_count:0,user_count:0}),[c,x]=m.useState(!s),[f,h]=m.useState(!1),[v,y]=m.useState(null),o=async(b=!1)=>{const l=Date.now(),p=Ht.get(t);if(!b&&p&&l-p.fetchedAt<Zo){a(p.rows),u(p.totals),x(!1);return}!!p?h(!0):x(!0),y(null);try{let S=bs.get(t);S||(S=(async()=>{const{data:{session:$}}=await me.auth.getSession(),C=$==null?void 0:$.access_token;if(!C)throw new Error("Keine Session");const E=await fetch("https://wlxniolwgjapqrebsyjp.supabase.co/functions/v1/admin-article-cart-users",{method:"POST",headers:{Authorization:`Bearer ${C}`,apikey:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6IndseG5pb2x3Z2phcHFyZWJzeWpwIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzE5MjQxNTgsImV4cCI6MjA4NzUwMDE1OH0.NUO0jXZMywnKq7eambz1Ln3YhbYDz4uPYu8OtsiWaJY","Content-Type":"application/json"},body:JSON.stringify({article_number:t})}),_=await E.json();if(!E.ok)throw new Error((_==null?void 0:_.error)||`HTTP ${E.status}`);const q={rows:Array.isArray(_.rows)?_.rows:[],totals:{total_quantity:Number(_.total_quantity||0),cart_
64count:Number(_.cart_count||0),user_count:Number(_.user_count||0)},fetchedAt:Date.now()};return Ht.set(t,q),q})(),bs.set(t,S),S.finally(()=>bs.delete(t)));const T=await S;a(T.rows),u(T.totals),r==null||r(T.totals)}catch(S){y(String((S==null?void 0:S.message)||S))}finally{x(!1),h(!1)}};m.useEffect(()=>{o(!1)},[t]);const N=b=>{if(!b)return"—";try{return new Date(b).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return b}},w=b=>b.toLocaleString("de-DE",{style:"currency",currency:"EUR"}),k=b=>{var l,p,j;return((l=b.display_name)==null?void 0:l.trim())||((p=b.company)==null?void 0:p.trim())||((j=b.email)==null?void 0:j.trim())||(b.auth_uid?"(Nutzer)":"(Gast)")};return e.jsxs("div",{className:"rounded-xl border-2 border-dashed border-violet-300 dark:border-violet-700 bg-violet-50/40 dark:bg-violet-950/20 p-4 md:p-5 space-y-4",children:[e.jsxs("div",{className:"flex items-start gap-3 flex-wrap",children:[e.jsx("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-violet-600 text-white shadow-sm",children:e.jsx(He,{className:"h-5 w-5"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("h3",{className:"text-sm font-bold text-violet-900 dark:text-violet-200 flex items-center gap-2",children:["In offenen Warenkörben",e.jsx("span",{className:"text-[10px] font-medium uppercase tracking-wide bg-violet-200/70 text-violet-800 dark:bg-violet-800/40 dark:text-violet-300 px-1.5 py-0.5 rounded",children:"Admin"})]}),e.jsx("p",{className:"text-xs text-muted-foreground mt-0.5 leading-snug",children:"Zeigt alle aktuell aktiven Kunden-Warenkörbe, in denen dieser Artikel liegt."})]}),e.jsxs(J,{size:"sm",variant:"outline",onClick:()=>o(!0),disabled:c||f,className:"h-8 gap-1.5 text-xs",children:[e.jsx(Wt,{className:`h-3.5 w-3.5 ${c||f?"animate-spin":""}`}),"Aktualisieren"]})]}),c&&e.jsxs("div",{className:"flex items-center justify-center gap-2 py-8 text-sm text-muted-foreground",children:[e.jsx(Je,{className:"h-4 w-4 animate-spin"})," Lade Warenkorb-Einträge…"]}),v&&!c&&e.jsxs("div",{className:"rounded-md border border-destructive/40 bg-destructive/10 p-3 text-xs text-destructive",children:["Fehler: ",v]}),!c&&!v&&n.length===0&&e.jsx("div",{className:"text-center py-8 text-sm text-muted-foreground italic",children:"Dieser Artikel liegt aktuell in keinem aktiven Warenkorb."}),!c&&!v&&n.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-3 gap-2 text-xs",children:[e.jsxs("div",{className:"rounded-md bg-white/70 dark:bg-slate-900/40 border border-violet-200/60 dark:border-violet-800/40 p-2.5",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"Menge gesamt"}),e.jsx("div",{className:"text-lg font-bold text-violet-900 dark:text-violet-200 tabular-nums",children:d.total_quantity})]}),e.jsxs("div",{className:"rounded-md bg-white/70 dark:bg-slate-900/40 border border-violet-200/60 dark:border-violet-800/40 p-2.5",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"Kunden"}),e.jsx("div",{className:"text-lg font-bold text-violet-900 dark:text-violet-200 tabular-nums",children:d.user_count})]}),e.jsxs("div",{className:"rounded-md bg-white/70 dark:bg-slate-900/40 border border-violet-200/60 dark:border-violet-800/40 p-2.5",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"Warenkörbe"}),e.jsx("div",{className:"text-lg font-bold text-violet-900 dark:text-violet-200 tabular-nums",children:d.cart_count})]})]}),e.jsx("div",{className:"overflow-x-auto rounded-md border border-violet-200/60 dark:border-violet-800/40 bg-white dark:bg-slate-900",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{className:"bg-violet-100/60 dark:bg-violet-900/30 text-violet-900 dark:text-violet-200",children:e.jsxs("tr",{children:[e.jsx("th",{className:"text-left px-3 py-2 font-semibold",children:"Kunde"}),e.jsx("th",{className:"text-left px-3 py-2 font-semibold",children:"Warenkorb"}),e.jsx("th",{className:"text-right px-3 py-2 font-semibold",children:"Menge"}),e.jsx("th",{className:"text-right px-3 py-2 font-semibold",children:"Preis"}),e.jsx("th",{className:"text-left px-3 py-2 font-semibold",children:"Hinzugefügt"}),e.jsx("th",{className:"text-left px-3 py-2 font-semibold",children:"Notiz"})]})}),e.jsx("tbody",{children:n.map(b=>
64e.jsxs("tr",{className:"border-t border-violet-100 dark:border-violet-900/40 hover:bg-violet-50/40 dark:hover:bg-violet-950/30",children:[e.jsxs("td",{className:"px-3 py-2 align-top",children:[e.jsx("div",{className:"font-medium text-foreground",children:k(b)}),b.customer_number&&e.jsxs("div",{className:"text-[10px] text-muted-foreground font-mono",children:["Kd-Nr. ",b.customer_number]}),b.email&&b.email!==k(b)&&e.jsx("div",{className:"text-[10px] text-muted-foreground truncate max-w-[200px]",children:b.email}),!b.auth_uid&&e.jsx("span",{className:"inline-block text-[9px] uppercase tracking-wide bg-amber-100 text-amber-800 dark:bg-amber-900/40 dark:text-amber-300 px-1 py-0.5 rounded mt-0.5",children:"Gast"})]}),e.jsxs("td",{className:"px-3 py-2 align-top",children:[e.jsxs("div",{className:"font-mono text-[11px]",children:["#",b.cart_number||b.cart_id]}),b.cart_name&&e.jsx("div",{className:"text-[10px] text-muted-foreground truncate max-w-[160px]",children:b.cart_name})]}),e.jsx("td",{className:"px-3 py-2 align-top text-right tabular-nums font-semibold",children:b.quantity}),e.jsx("td",{className:"px-3 py-2 align-top text-right tabular-nums text-muted-foreground",children:w(b.price)}),e.jsx("td",{className:"px-3 py-2 align-top text-muted-foreground whitespace-nowrap",children:N(b.added_at)}),e.jsxs("td",{className:"px-3 py-2 align-top text-muted-foreground max-w-[220px]",children:[b.item_note&&e.jsxs("div",{className:"italic",children:["„",b.item_note,'"']}),b.reference_info&&e.jsx("div",{className:"text-[10px]",children:ri(b.reference_info)}),!b.item_note&&!b.reference_info&&e.jsx("span",{className:"text-muted-foreground/50",children:"—"})]})]},b.item_id))})]})})]})]})}function Jo({articleNumber:t,fallbackStock:r}){const[s,n]=m.useState(null),[a,d]=m.useState(!0),[u,c]=m.useState(null),x=m.useCallback(async()=>{d(!0);try{const{data:h}=await Zt("get-stock-info",{body:{articleNumbers:[t]}});if(h!=null&&h.success&&h.stockMap){const v=Object.keys(h.stockMap).find(y=>y.toUpperCase()===t.toUpperCase());v&&h.stockMap[v]&&n(h.stockMap[v])}c(new Date)}catch(h){console.error("[LiveBestandsdetails] fetch error:",h)}finally{d(!1)}},[t]);m.useEffect(()=>{x()},[x]);const f=s||r;return a&&!f?e.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground py-8 justify-center",children:[e.jsx(Ye,{size:"sm"}),e.jsx("span",{children:"Bestandsdaten werden live abgefragt…"})]}):f?e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[s&&e.jsxs(Z,{variant:"outline",className:"text-[10px] gap-1 border-green-300 text-green-700 dark:border-green-700 dark:text-green-400",children:[e.jsx("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-green-500 animate-pulse"})," Live"]}),u&&e.jsxs("span",{children:["Stand: ",u.toLocaleTimeString("de-DE",{hour:"2-digit",minute:"2-digit",second:"2-digit"})]})]}),e.jsxs(J,{variant:"ghost",size:"sm",onClick:x,disabled:a,className:"h-7 text-xs gap-1",children:[e.jsx(Wt,{className:`h-3 w-3 ${a?"animate-spin":""}`}),"Aktualisieren"]})]}),e.jsx(Yo,{stock:f})]}):e.jsx(Ts,{icon:e.jsx(Mi,{className:"h-8 w-8"}),title:"Keine Bestandsdaten verfügbar",description:"Zu diesem Artikel liegen derzeit keine detaillierten Bestandsinformationen vor.",hint:"Bestandsdaten werden bei der nächsten Synchronisierung aktualisiert"})}function Yo({stock:t}){const{translateUnit:r}=si(),{user:s}=Ks(),n=r(t.Mengeneinheit),a=j=>{if(j==null)return 0;const S=typeof j=="string"?parseFloat(j):j;return isNaN(S)?0:S},d=a(t.Bestand),u=a(t.RueckstandKunde),c=a(t.RueckstandLieferant),x=Math.max(0,d-u),f=Math.max(0,d-u+c),h=Math.max(0,f-x),v=a(t.SollBestand),y=a(t.MeldeBestand),o=t.SollBestand!=null&&t.SollBestand!==""||t.MeldeBestand!=null&&t.MeldeBestand!=="",N=o&&y>0&&d<=y,w=o&&v>0&&d<v,k=N&&v>0?Math.max(0,v-d):0,b=j=>{if(!j)return"—";try{return new Date(j).toLocaleDateString("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"})}catch{return"—"}},l=t.AeltestesBestellDatumLieferant?Math.max(0,Math.floor((Date.now()-new Date(t.AeltestesBestellDatumLieferant).getTime())/864e5)):null;if(!s){const j=(t.Ampel||"").toLowerCase().trim(),S=x>=1||j==="g";return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-border p-4",children:[e.jsx("span",{className:`inline-block h-3.5 w-3.5 rounded-full ${S?"bg-green-500":"bg-orange-400"}`}),e.jsx("span",{className:"text-sm font-medium",children:S?"Auf Lager – sofort lieferbar":"Derzeit nicht auf Lager"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Den exakten Lagerbestand zeigen wir nur eingeloggten Kunden. Bitte melden Sie sich an, um die genaue verfügbare Menge zu sehen."})]})}const p=[{label:"Bestand (Roh)",value:d,note:"Lagerbestand aus WaWi"},{label:"Sollbestand",value:t.SollBestand??"—",note:"Zielbestand für optimale Lieferbereitschaft (aus WaWi)"},{label:"Meldebestand",value:t.MeldeBestand??"—",note:"Untergrenze, ab der nachbestellt werden muss (aus WaWi)"}
64,{label:"Rückstand Kunde",value:u,note:"Reserviert für einen oder mehrere Kundenaufträge"},{label:"Rückstand Lieferant",value:c,note:"Offene Menge aus einer oder mehreren Lieferantenbestellungen"},{label:"Älteste Lieferanten-Bestellung",value:t.AeltestesBestellDatumLieferant?`${b(t.AeltestesBestellDatumLieferant)}${l!=null?` (${l} Tage)`:""}`:"—",note:"Datum der ältesten offenen Lieferanten-Bestellung"},{label:"Ampel (WaWi)",value:t.Ampel||"—",note:"g=grün, o=orange, r=rot, x/leer=Bestands-Fallback (≥1 → g, 0 → o)"},{label:"Mengeneinheit",value:n,note:"Aus Preisliste (Fallback: Stück)"}];return e.jsxs("div",{className:"space-y-4",children:[o&&e.jsxs("div",{className:`rounded-xl border-2 p-4 sm:p-5 ${N?"border-red-400 bg-red-50 dark:bg-red-950/40":w?"border-amber-400 bg-amber-50 dark:bg-amber-950/40":"border-green-400 bg-green-50 dark:bg-green-950/40"}`,children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[N?e.jsx(Ls,{className:"h-5 w-5 text-red-600 dark:text-red-400"}):w?e.jsx(Ls,{className:"h-5 w-5 text-amber-600 dark:text-amber-400"}):e.jsx(ft,{className:"h-5 w-5 text-green-600 dark:text-green-400"}),e.jsx("h4",{className:"font-bold text-base sm:text-lg",children:N?"⚠ Meldebestand erreicht/unterschritten — WaWi bestellt nach!":w?"Sollbestand nicht erreicht":"Bestand im grünen Bereich"})]}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-5 gap-3",children:[e.jsxs("div",{className:"rounded-lg bg-white/70 dark:bg-black/20 p-3 flex flex-col items-center justify-between min-h-[5.75rem]",children:[e.jsx("div",{className:"text-[11px] uppercase tracking-wide text-green-600 dark:text-green-400 font-semibold text-center leading-tight min-h-[2rem] flex items-center",children:"Sollbestand"}),e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx("div",{className:"text-2xl sm:text-3xl font-bold font-mono",children:v||"—"}),e.jsx("div",{className:"text-[10px] text-muted-foreground mt-0.5",children:n})]})]}),e.jsxs("div",{className:"rounded-lg bg-white/70 dark:bg-black/20 p-3 flex flex-col items-center justify-between min-h-[5.75rem]",children:[e.jsx("div",{className:"text-[11px] uppercase tracking-wide text-red-600 dark:text-red-400 font-semibold text-center leading-tight min-h-[2rem] flex items-center",children:"Meldebestand"}),e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx("div",{className:`text-2xl sm:text-3xl font-bold font-mono ${N?"text-red-600 dark:text-red-400":""}`,children:y||"—"}),e.jsx("div",{className:"text-[10px] text-muted-foreground mt-0.5",children:n})]})]}),e.jsxs("div",{className:"rounded-lg bg-white/70 dark:bg-black/20 p-3 flex flex-col items-center justify-between min-h-[5.75rem]",children:[e.jsx("div",{className:"text-[11px] uppercase tracking-wide text-muted-foreground font-semibold text-center leading-tight min-h-[2rem] flex items-center",children:"Lagerbestand"}),e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx("div",{className:"text-2xl sm:text-3xl font-bold font-mono",children:d}),e.jsx("div",{className:"text-[10px] text-muted-foreground mt-0.5",children:n})]})]}),e.jsxs("div",{className:"rounded-lg bg-white/70 dark:bg-black/20 p-3 flex flex-col items-center justify-between min-h-[5.75rem]",children:[e.jsx("div",{className:"text-[11px] uppercase tracking-wide text-muted-foreground font-semibold text-center leading-tight min-h-[2rem] flex items-center",children:"Rückstand Kunde"}),e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx("div",{className:`text-2xl sm:text-3xl font-bold font-mono ${u>0?"text-amber-600 dark:text-amber-400":""}`,children:u}),e.jsx("div",{className:"text-[10px] text-muted-foreground mt-0.5",children:u>0?"reserviert":n})]})]}),e.jsxs("div",{className:"rounded-lg bg-white/70 dark:bg-black/20 p-3 flex flex-col items-center justify-between min-h-[5.75rem]",children:[e.jsx("div",{className:"text-[11px] uppercase tracking-wide text-muted-foreground font-semibold text-center leading-tight min-h-[2rem] flex items-center",children:"Effektiv verfügbar"}),e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx("div",{className:`text-2xl sm:text-3xl font-bold font-mono ${N?"text-red-600 dark:text-red-400":w?"text-amber-600 dar
64k:text-amber-400":"text-green-600 dark:text-green-400"}`,children:x}),e.jsx("div",{className:"text-[10px] text-muted-foreground mt-0.5",children:n})]})]})]}),e.jsxs("p",{className:"mt-2 text-[11px] text-muted-foreground",children:["Berechnung: Lagerbestand (",d,") − Rückstand Kunde (",u,") = Effektiv verfügbar (",x,")"]}),N&&y>0&&e.jsxs("p",{className:"mt-3 text-sm font-medium text-red-700 dark:text-red-300",children:["Der Bestand (",d,") liegt bei oder unter dem Meldebestand (",y,"). Die WaWi bestellt automatisch nach",k>0?` — Bestellmenge bis zum Sollbestand: ${k} ${n}`:"","."]}),N&&y>0&&k>0&&e.jsxs("p",{className:"mt-1 text-[11px] text-muted-foreground",children:["Bestellregel der WaWi: bei Bestand ≤ Meldebestand wird so viel nachbestellt (VPE aufgerundet), dass der Sollbestand (",v,") wieder erreicht ist."]}),w&&!N&&v>0&&e.jsxs("p",{className:"mt-3 text-sm font-medium text-amber-700 dark:text-amber-300",children:["Der Bestand (",d,") liegt unter dem Sollbestand (",v,") — der Meldebestand (",y,") ist aber noch nicht erreicht."]})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Nachvollziehbare Bestandsberechnung für die Kundenanzeige."}),e.jsx("div",{className:"rounded-lg border border-border overflow-hidden",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"bg-muted/50 border-b border-border",children:[e.jsx("th",{className:"text-left px-4 py-2 font-semibold",children:"Wert"}),e.jsx("th",{className:"text-right px-4 py-2 font-semibold w-32",children:"Anzahl"}),e.jsx("th",{className:"text-left px-4 py-2 font-semibold text-muted-foreground",children:"Erklärung"})]})}),e.jsx("tbody",{children:p.map((j,S)=>e.jsxs("tr",{className:"border-b border-border last:border-b-0",children:[e.jsx("td",{className:"px-4 py-2.5 font-medium",children:j.label}),e.jsx("td",{className:"px-4 py-2.5 text-right font-mono",children:j.value}),e.jsx("td",{className:"px-4 py-2.5 text-muted-foreground text-xs",children:j.note})]},S))})]})}),e.jsxs("div",{className:"rounded-lg border-2 border-primary/30 bg-primary/5 p-4 space-y-3",children:[e.jsxs("h4",{className:"font-semibold text-sm flex items-center gap-2",children:[e.jsx(Fs,{className:"h-4 w-4 text-primary"}),"So berechnet sich die Kundenanzeige"]}),e.jsx("div",{className:"space-y-2 text-sm",children:e.jsxs("div",{className:"grid grid-cols-[1fr_auto] gap-x-4 gap-y-1",children:[e.jsx("span",{children:"Lagerbestand"}),e.jsx("span",{className:"font-mono text-right font-semibold",children:d}),e.jsx("span",{className:"text-red-600",children:"− Kundenreservierungen"}),e.jsxs("span",{className:"font-mono text-right font-semibold text-red-600",children:["−",u]}),e.jsx("div",{className:"col-span-2 border-t border-border/50 my-1"}),e.jsx("span",{className:"font-semibold",children:"= Sofort verfügbar"}),e.jsx("span",{className:"font-mono text-right font-bold text-lg",children:x}),c>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"col-span-2 border-t border-border/50 my-1"}),e.jsx("span",{className:"text-blue-600",children:"+ Offene Lieferantenbestellungen → im Zulauf"}),e.jsxs("span",{className:"font-mono text-right font-semibold text-blue-600",children:["+",c]})]})]})}),e.jsxs("div",{className:"pt-2 border-t border-border/50 space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-3 text-sm",children:[e.jsx("span",{className:`inline-block h-3 w-3 rounded-full ${x>=1?"bg-green-500":"bg-orange-400"}`}),e.jsxs("span",{children:["Kunde sieht: ",e.jsx("strong",{children:x>=1?`${x} ${n} auf Lager`:"nicht auf Lager"})]})]}),h>0&&e.jsxs("div",{className:"flex items-center gap-3 text-sm",children:[e.jsx("span",{className:"inline-block h-3 w-3 rounded-full bg-blue-500"}),e.jsxs("span",{children:["+ ",e.jsxs("strong",{children:[h," ",n," im Zulauf"]}),l!=null&&e.jsxs("span",{className:"text-muted-foreground ml-1",children:["(bestellt vor ",l," Tagen)"]})]})]})]})]})]})}function Qo({oeRefs:t,onArticleClick:r,showSearch:s=!1}){const[n,a]=m.useState(""),d=n.toLowerCase().trim(),u=d?t.filter(f=>f.hersteller.toLowerCase().includes(d)||f.nummer.toLowerCase().includes(d)):t,c=new Map;for(const f of u){const h=f.hersteller||"Sonstige";c.has(h)||c.set(h,[]),c.get(h).push(f.nummer)}const x=[...c.entries()].sort((f,h)=>f[0].localeCompare(h[0]));return e.jsxs("div",{className:"space-y-3",children:[s&&e.jsxs("div",{className:"relative",children:[e.jsx(at,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),e.jsx(Qe,{placeholder:"Hersteller oder Nummer suchen…",value:n,onChange:f=>a(f.target.value),className:"pl-8 h-8 text-xs"})]}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[u.length," Cross-Referenz",u.length!==1?"en":""," von ",x.length," Hersteller",x.length!==1?"n":"",d&&` (gefiltert aus ${t.length})`]}),e.jsx("div",{className:"grid gap-3 sm:grid-cols-2",children:x.map(([f,h])=>e.jsxs("div",{className:"rounded-lg border border-border bg-card p-3",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(Tt,{className:"h-3.5 w-3.5 text-primary shrink-0"}),e.jsx("span",{className:"text-sm font-semibold text-foreground truncate",children:f}),e.jsx(Z,{variant:"secondary",className:"text-[10px] ml-auto shrink-0",children:h.length})]}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:h.map(v=>e.jsxs("span",{className:"inline-flex items-center gap-0.5 text-xs font-mono bg-muted rounded-md border border-transparent hover:border-primary/20 transition-colors",children:[e.jsx("button",{onClick:()=>r==null?void 0:r(v),className:"hover:bg-primary/10 hover:text-primary px-2 py-1 rounded-l-md transition-colors cursor-pointer",title:`${v} öffnen`,"aria-label":`Artikel ${v} öffnen`,children:v}),e.jsx("button",{onClick:y=>{y.stopPropagation(),navigator.clipboard.writeText(v);const o=y.currentTarget;o.classList.add("text-green-600"),setTimeout(()=>
64o.classList.remove("text-green-600"),1200)},className:"px-1 py-1 rounded-r-md hover:bg-primary/10 text-muted-foreground hover:text-primary transition-colors cursor-pointer",title:"Nummer kopieren","aria-label":`${v} kopieren`,children:e.jsx(Fr,{className:"h-3 w-3"})})]},v))})]},f))}),d&&u.length===0&&e.jsxs("p",{className:"text-sm text-muted-foreground text-center py-4",children:["Keine Treffer für „",n,'"']})]})}function Xo({vehicles:t,loading:r,onArticleClick:s,parentReferenceInfo:n}){const[a,d]=m.useState(""),[u,c]=m.useState(null),[x,f]=m.useState(null),[h,v]=m.useState(""),[y,o]=m.useState(!1),[N,w]=m.useState(new Set),[k,b]=m.useState(new Map),{requestAddToCart:l}=Ir(),{grossPrice:p}=Pr(),{showRetailPrices:j,getDisplayPrice:S}=Ws(),T=m.useCallback(async(D,P)=>{if(N.has(P)){w(I=>{const M=new Set(I);return M.delete(P),M});return}if(w(I=>new Set(I).add(P)),!k.has(P)){b(I=>new Map(I).set(P,{loading:!0,groups:[]}));try{const{data:I}=await Zt("search-fahrzeugkatalog",{body:{action:"artikel",katalogName:D.katalogName,hersteller:D.hersteller,fahrzeug:D.fahrzeug}});b(M=>new Map(M).set(P,{loading:!1,groups:(I==null?void 0:I.groups)||[]}))}catch{b(I=>new Map(I).set(P,{loading:!1,groups:[]}))}}},[N,k]),{t:$}=Se("search");if(r)return e.jsxs("div",{className:"flex items-center justify-center py-8",children:[e.jsx(Ye,{className:"mr-2"}),e.jsx("span",{className:"text-sm text-muted-foreground",children:$("article.vehiclesLoading")})]});if(t.length===0)return e.jsx("p",{className:"text-sm text-muted-foreground py-4",children:$("article.noVehiclesFound")});const C=new Map;for(const D of t){const P=D.hersteller||"Unbekannt";C.set(P,(C.get(P)||0)+1)}const E=Array.from(C.entries()).sort((D,P)=>D[0].localeCompare(P[0])),_=new Map;for(const[D,P]of E){const I=(D[0]||"#").toUpperCase(),M=/[A-Z]/.test(I)?I:"#";_.set(M,(_.get(M)||0)+P)}const q=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","#"],i=h.trim().toLowerCase(),ee=E.filter(([D])=>{if(i)return D.toLowerCase().includes(i);if(x){const P=(D[0]||"#").toUpperCase();return(/[A-Z]/.test(P)?P:"#")===x}return!0}),H=a.trim().toLowerCase(),pe=t.filter(D=>{if(u&&D.hersteller!==u)return!1;if(!H)return!0;const P=[D.hersteller,D.fahrzeug,D.katalogName,D.artikelArt,...D.variants.flatMap(I=>[I.Typ,I.PS,I.Zusatz1show,I.Zusatz2show,I.Zusatz3show])].join(" ").toLowerCase();return H.split(/\s+/).every(I=>P.includes(I))}),le=new Map;for(const D of pe){const P=D.hersteller||"Unbekannt";le.has(P)||le.set(P,[]),le.get(P).push(D)}const Ie=Array.from(le.entries()).sort((D,P)=>D[0].localeCompare(P[0])),ve=()=>{const D=new Set(N);for(const P of pe)D.add(`${P.hersteller}|${P.fahrzeug}|${P.katalogName}`);w(D);for(const P of pe){const I=`${P.hersteller}|${P.fahrzeug}|${P.katalogName}`;k.has(I)||T(P,I)}},ze=()=>w(new Set),fe=N.size>0,F=!u&&!H&&E.length>1,Q=E.length>24;return e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3 flex-wrap",children:[e.jsxs("h3",{className:"text-sm font-bold uppercase tracking-wide flex items-center gap-2 shrink-0",children:[e.jsx(Vt,{className:"h-4 w-4 text-primary"}),u||H?$("article.vehicleCount",{shown:pe.length,total:t.length}):`${t.length} ${t.length===1?"Fahrzeug":"Fahrzeuge"} · ${E.length} Hersteller`]}),!F&&e.jsx("button",{type:"button",onClick:fe?ze:ve,className:"ml-auto text-[11px] px-2 py-1 rounded border border-border hover:bg-accent text-muted-foreground hover:text-foreground transition-colors whitespace-nowrap",children:fe?"Alle zuklappen":"Alle aufklappen"})]}),e.jsxs("div",{className:"relative mb-3",children:[e.jsx(at,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),e.jsx(Qe,{placeholder:"Hersteller, Modell, Typ oder PS suchen…",value:a,onChange:D=>{d(D.target.value),D.target.value&&c(null)},className:"h-10 pl-9 text-sm w-full"}),a&&e.jsx("button",{type:"button",onClick:()=>d(""),className:"absolute right-2 top-1/2 -translate-y-1/2 h-6 w-6 flex items-center justify-center rounded text-muted-foreground hover:text-foreground hover:bg-accent","aria-label":"Suche löschen",children:e.jsx(Ps,{className:"h-3.5 w-3.5"})})]}),u&&e.jsxs("div",{className:"flex items-center gap-2 mb-3 flex-wrap",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground",children:"Gefiltert nach:"}),e.jsxs("button",{onClick:()=>{c(null),f(null),v("")},className:"inline-flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-full bg-primary text-primary-foreground font-semibold",children:[u,e.jsxs("span",{className:"opacity-80",children:["(",C.get(u)||0,")"]}),e.jsx(Ps,{className:"h-3 w-3"})]})]}),F&&E.length>1&&e.jsxs("div",{className:"mb-4 border-2 border-primary/60 rounded-xl p-4 bg-primary/5 shadow-sm ring-1 ring-primary/20",children:[e.jsxs("div",{className:"flex items-start gap-2.5 mb-3",children:[e.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-primary text-primary-foreground flex items-center justify-center text-sm font-bold shadow",children:"1"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm font-bold text-foreground leading-tight",children:"Bitte Hersteller wählen"}),e.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:["Wählen Sie einen Hersteller, um die passenden Fahrzeuge anzuzeigen",Q&&!y&&!x&&!i&&e.jsxs(e.Fragment,{children:[" · ",e.jsxs("span",{className:"font-medium",children:[E.length," Hersteller verfügbar"]})]})]})]})]}),e.jsxs("div",{className:"relative mb-2",children:[e.jsx(at,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),e.jsx(Qe,{placeholder:"Hersteller suchen…",value:h,onChange:D=>{v(D.target.value),f(null)},className:"h-8 pl-8 text-xs bg-background"})]}),Q&&!i&&e.jsxs("div",{className:"flex flex-wrap gap-1 mb-2 pb-2 border-b border-border",children:[e.jsx("button",{onClick:()=>{f(null),o(!1)},className:`text-[10px] font-bold w-7 h-7 rounded transition-colors ${x?"bg-background border border-border text-foreground hover:bg-accent":"bg-primary text-primary-foreground"}`,children:"Alle"}),q.map(D=>{const P=_.has(D),I=x===D;return e.jsx("button",{disabled:!P,onClick:()=>f(I?null:D),className:`text-[10px] font-bold w-7 h-7 rounded transition-colors ${I?"bg-primary text-primary-foreground":P?"bg-background border border-border text-foreground hover:bg-accent":"bg-muted/40 text-muted-foreground
64/40 cursor-not-allowed"}`,children:D},D)})]}),(()=>{const D=Q&&!x&&!i&&!y?24:ee.length,P=ee.slice(0,D),I=ee.length-P.length;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-wrap gap-2 max-h-[260px] overflow-y-auto",children:[P.map(([M,ne])=>e.jsxs("button",{onClick:()=>c(M),className:"text-sm font-semibold leading-tight px-3.5 py-2 rounded-full border-2 border-primary/40 bg-background text-foreground hover:bg-primary hover:text-primary-foreground hover:border-primary hover:shadow-md hover:-translate-y-0.5 active:translate-y-0 transition-all whitespace-nowrap shadow-sm",children:[M," ",e.jsxs("span",{className:"opacity-60 font-normal",children:["(",ne,")"]})]},M)),ee.length===0&&e.jsx("p",{className:"text-xs text-muted-foreground py-2",children:"Keine Hersteller gefunden."})]}),I>0&&e.jsxs("button",{onClick:()=>o(!0),className:"mt-2 text-xs font-medium text-primary hover:underline",children:["+ ",I," weitere Hersteller anzeigen"]})]})})()]}),!F&&e.jsxs("div",{className:"space-y-4 max-h-[480px] overflow-y-auto pr-1",children:[Ie.map(([D,P])=>e.jsxs("div",{children:[e.jsxs("div",{className:"sticky top-0 z-10 -mx-1 px-1 py-1 bg-background/95 backdrop-blur border-b border-border mb-2 flex items-center gap-2",children:[e.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:D}),e.jsxs("span",{className:"text-[10px] text-muted-foreground",children:[P.length," ",P.length===1?"Fahrzeug":"Fahrzeuge"]})]}),e.jsx("div",{className:"space-y-1.5",children:P.map((I,M)=>{const ne=`${I.hersteller}|${I.fahrzeug}|${I.katalogName}`,se=N.has(ne),oe=k.get(ne),he=[];for(const xe of I.variants){const Re=[xe.Typ,xe.PS?`${xe.PS} PS`:"",xe.Zusatz1show,xe.Zusatz2show,xe.Zusatz3show].filter(Boolean).map(ni);Re.length&&he.push(Re.join(" · "))}return e.jsxs("div",{className:`border rounded-lg overflow-hidden transition-colors ${se?"border-primary/40 shadow-sm":"border-border hover:border-primary/30"}`,children:[e.jsx("button",{onClick:()=>T(I,ne),className:`w-full p-3 text-left transition-colors ${se?"bg-primary/5":"hover:bg-accent/40"}`,children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm font-semibold leading-tight",children:I.fahrzeug}),he.length>0&&e.jsxs("div",{className:"mt-1.5 flex flex-wrap gap-1",children:[he.slice(0,6).map((xe,Re)=>e.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-muted text-muted-foreground",children:xe},Re)),he.length>6&&e.jsxs("span",{className:"text-[10px] text-muted-foreground",children:["+",he.length-6]})]})]}),e.jsxs("div",{className:"flex flex-col items-end gap-1 shrink-0",children:[e.jsx(Z,{variant:"secondary",className:"text-[10px]",children:I.katalogName}),I.artikelArt&&e.jsx(Z,{variant:"outline",className:"text-[10px]",children:I.artikelArt})]}),se?e.jsx(Zs,{className:"h-4 w-4 text-primary shrink-0 mt-0.5"}):e.jsx(qt,{className:"h-4 w-4 text-muted-foreground shrink-0 mt-0.5"})]})}),se&&e.jsx("div",{className:"border-t border-border bg-muted/20",children:oe!=null&&oe.loading?e.jsxs("div",{className:"flex items-center gap-2 py-4 px-3",children:[e.jsx(Ye,{size:"xs"}),e.jsx("span",{className:"text-sm text-muted-foreground",children:$("article.articlesLoading")})]}):oe!=null&&oe.groups&&oe.groups.length>0?e.jsx("div",{children:oe.groups.map((xe,Re)=>e.jsxs("div",{children:[e.jsx("div",{className:"px-3 pt-2 pb-1",children:e.jsx("p",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wide",children:xe.ArtikelArt})}),xe.articles.map((it,Nt)=>e.jsx(ec,{article:it,onClick:()=>s==null?void 0:s(it.ArtikelNr),addItem:(Yt,Hr)=>l({articleNumber:Yt,quantity:Hr,referenceInfo:n?`${n} · Fahrzeugkatalog`:"Artikeldetail · Fahrzeugkatalog"}),grossPrice:p,getDisplayPrice:S,showRetailPrices:j},`${it.ArtikelNr}-${Nt}`))]},Re))}):e.jsx("p",{className:"text-sm text-muted-foreground py-3 px-3",children:$("article.noArticlesFound")})})]},M)})})]},D)),pe.length===0&&e.jsx("p",{className:"text-sm text-muted-foreground py-4 text-center",children:$("article.noVehicleMatch")})]})]})}function ec({article:t,onClick:r,addItem:s,grossPrice:n,getDisplayPrice:a,showRetailPrices:d}){const[u,c]=m.useState(1),{t:x}=Se("search"),f=t.price!=null?a(t.price,t.standardpreis):null;return e.jsxs("div",{className:"px-3 py-2.5 border-b border-border last:border-b-0 hover:bg-muted/40 cursor-pointer transition-colors",onClick:r,children:[e.jsxs("div",{className:"hidden sm:flex items-center gap-3",children:[e.jsx("div",{className:"w-14 h-14 flex-shrink-0 rounded-md overflow-hidden bg-background border border-border",children:e.jsx(nt,{articleNumber:t.ArtikelNr,className:"w-full h-full object-contain p-1"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:e.jsxs(Z,{variant:"outline",className:"font-bold text-xs gap-1.5 px-2 py-1",children:[t.ArtikelNr,t.mftLogo&&e.jsx(Le,{mftLogo:t.mftLogo,className:"h-4 opacity-70"})]})}),e.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5 truncate",children:[t.ArtFilter||"",t.BemerkungFilter?t.ArtFilter?` – ${t.BemerkungFilter}`:t.BemerkungFilter:""]})]}),e.jsxs("div",{className:"flex-shrink-0 text-right min-w-[80px]",children:[f!=null?e.jsxs("div",{children:[e.jsxs("span",{className:"font-bold text-sm text-foreground",children:[n(f).toFixed(2).replace(".",",")," €"]}),e.jsxs("p",{className:"text-[10px] text-muted-foreground",children:[Number(f).toFixed(2).replace(".",",")," € ",x("article.netPrice").toLowerCase()]}),e.jsx(Gs,{price:f,gebindeInhalt:t.GebindeInhalt,gebindeEinheit:t.GebindeEinheit})]}
64):e.jsx("p",{className:"text-[11px] text-amber-600 dark:text-amber-400 font-medium",children:x("article.priceOnRequest")}),e.jsx(pt,{stock:t.stock,showFallback:t.price!=null})]}),e.jsxs("div",{className:"flex items-center gap-1.5 flex-shrink-0",onClick:h=>h.stopPropagation(),children:[e.jsx(Rn,{articleNumber:t.ArtikelNr,size:"sm"}),f!=null&&e.jsx(e.Fragment,{children:e.jsxs("div",{className:"flex items-center",children:[e.jsx(Rt,{value:u,min:1,step:1,size:"sm",className:"rounded-r-none border-r-0",onCommit:c}),e.jsx(J,{size:"icon",className:"h-10 w-10 bg-primary hover:bg-primary/90 rounded-l-none",onClick:()=>s(t.ArtikelNr,u),"aria-label":"In den Warenkorb",children:e.jsx(He,{className:"h-3.5 w-3.5"})}),e.jsx(Ds,{nr:t.ArtikelNr,qty:u,source:"artikeldetail",className:"h-10 w-10 sm:h-8 sm:w-8"})]})})]})]}),e.jsxs("div",{className:"flex sm:hidden gap-2.5",children:[e.jsx("div",{className:"w-12 h-12 flex-shrink-0 rounded-md overflow-hidden bg-background border border-border",children:e.jsx(nt,{articleNumber:t.ArtikelNr,className:"w-full h-full object-contain p-0.5"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.jsx(Z,{variant:"outline",className:"font-bold text-[11px] gap-1 px-1.5 py-0.5",children:t.ArtikelNr}),t.mftLogo&&e.jsx(Le,{mftLogo:t.mftLogo,className:"h-3.5 opacity-70"})]}),e.jsxs("p",{className:"text-[11px] text-muted-foreground mt-0.5 truncate",children:[t.ArtFilter||"",t.BemerkungFilter?t.ArtFilter?` – ${t.BemerkungFilter}`:t.BemerkungFilter:""]}),e.jsxs("div",{className:"flex items-center justify-between mt-1 gap-2",children:[e.jsx("div",{children:f!=null?e.jsxs("span",{className:"font-bold text-xs text-foreground",children:[n(f).toFixed(2).replace(".",",")," €"]}):e.jsx("span",{className:"text-[10px] text-amber-600 font-medium",children:x("article.priceOnRequest")})}),e.jsx(pt,{stock:t.stock,showFallback:t.price!=null})]}),f!=null&&e.jsxs("div",{className:"flex items-center mt-1.5",onClick:h=>h.stopPropagation(),children:[e.jsx(Rt,{value:u,min:1,step:1,size:"sm",className:"rounded-r-none border-r-0",onCommit:c}),e.jsx(J,{size:"icon",className:"h-10 w-10 bg-primary hover:bg-primary/90 rounded-l-none",onClick:()=>s(t.ArtikelNr,u),"aria-label":"In den Warenkorb",children:e.jsx(He,{className:"h-3 w-3"})}),e.jsx(Ds,{nr:t.ArtikelNr,qty:u,source:"artikeldetail",className:"h-10 w-10 sm:h-8 sm:w-8"})]})]})]})]})}const kr={HLP:{label:"HLP – Hydrauliköl mit Verschleißschutz",description:"Hydrauliköl nach DIN 51524 Teil 2 mit Wirkstoffen zur Erhöhung der Lebensdauer. Enthält Additive gegen Korrosion, Oxidation und Verschleiß. Standard für die meisten Hydrauliksysteme in Land- und Baumaschinen.",color:"bg-blue-50 dark:bg-blue-950/30 border-blue-200 dark:border-blue-800 text-blue-800 dark:text-blue-300"},HVLP:{label:"HVLP – Hydrauliköl mit verbessertem Viskositätsverhalten",description:"Hydrauliköl nach DIN 51524 Teil 3 – wie HLP, aber mit hohem Viskositätsindex (VI). Die Zähflüssigkeit ändert sich bei Temperaturwechseln weniger stark. Ideal für Maschinen bei stark wechselnden Temperaturen.",color:"bg-teal-50 dark:bg-teal-950/30 border-teal-200 dark:border-teal-800 text-teal-800 dark:text-teal-300"},HLPD:{label:"HLPD – HLP mit Detergent-Wirkung",description:"HLP-Öl mit zusätzlichen Reinigungsadditiven (Detergents), die Ablagerungen und Schlammbildung im Hydrauliksystem verhindern. Sinnvoll bei älteren Anlagen oder Systemen ohne regelmäßige Ölpflege.",color:"bg-indigo-50 dark:bg-indigo-950/30 border-indigo-200 dark:border-indigo-800 text-indigo-800 dark:text-indigo-300"},HEES:{label:"HEES – Biologisch abbaubares Hydrauliköl (Synthetische Ester)",description:"Hydrauliköl auf Basis synthetischer Ester – biologisch schnell abbaubar nach OECD 301. Geeignet für forstliche Einsätze, Wasserschutzgebiete und überall dort, wo Umweltverträglichkeit gefordert ist. Bietet gute Temperaturstabilität, hohe Alterungsbeständigkeit und hervorragendes Verschleißschutzverhalten. Auch als „HEES Synth“ bekannt.",color:"bg-green-50 dark:bg-green-950/30 border-green-200 dark:border-green-800 text-green-800 dark:text-green-300"},HETG:{label:"HETG – Biologisch abbaubares Hydrauliköl (Pflanzenöl-Basis)",description:"Hydrauliköl auf Basis pflanzlicher Triglyceride (z. B. Rapsöl) – biologisch schnell abbaubar. Besonders umweltfreundlich, aber eingeschränkter Temperaturbereich. Für Forstmaschinen und Geräte in sensiblen Gebieten.",color:"bg-green-50 dark:bg-green-950/30 border-green-200 dark:border-green-800 text-green-800 dark:text-green-300"},HEPG:{label:"HEPG – Biologisch abbaubares Hydrauliköl (Polyglykol-Basis)",description:"Hydrauliköl auf Polyglykol-Basis – biologisch abbaubar, sehr gute Temperaturstabilität. Achtung: Eingeschränkte Verträglichkeit mit Standarddichtungen und konventionellen Ölen.",color:"bg-green-50 dark:bg-green-950/30 border-green-200 dark:border-green-800 text-green-800 dark:text-green-300"},CLP:{label:"CLP – Getriebeöl mit EP-Eigenschaften",description:"Getriebeöl nach DIN 51517 Teil 3 mit Extreme-Pressure-Additiven (EP) für hohe Zahnflankenpressung. Ausgelegt für geschlossene Industriegetriebe in Mühlen, Mischern oder Förderanlagen.",color:"bg-orange-50 dark:bg-orange-950/30 border-orange-200 dark:border-orange-800 text-orange-800 dark:text-orange-300"},STOU:{label:"STOU – Super Tractor Oil Universal",description:"Allzwecköl für Motor, Getriebe, Hydraulik und Nassbremse in einem Produkt. Reduziert die Ölvielfalt im Betrieb erheblich. Erfordert die Freigabe des Maschinenherstellers.",color:"bg-
64amber-50 dark:bg-amber-950/30 border-amber-200 dark:border-amber-800 text-amber-800 dark:text-amber-300"},UTTO:{label:"UTTO – Universal Tractor Transmission Oil",description:"Universalöl für Getriebe, Hydraulik und Nassbremse – aber nicht für den Motor. Reduziert die Ölvielfalt und vereinfacht die Wartung. Herstellerfreigabe beachten.",color:"bg-amber-50 dark:bg-amber-950/30 border-amber-200 dark:border-amber-800 text-amber-800 dark:text-amber-300"},ATF:{label:"ATF – Automatic Transmission Fluid",description:"Spezialöl für Automatikgetriebe, Servolenkungen und bestimmte Hydrauliksysteme. Zeichnet sich durch sehr gutes Kälteverhalten, hohe Scherstabilität und exakte Reibwert-Eigenschaften aus.",color:"bg-rose-50 dark:bg-rose-950/30 border-rose-200 dark:border-rose-800 text-rose-800 dark:text-rose-300"},"GL-4":{label:"GL-4 – Getriebeöl API GL-4",description:"Getriebeöl mit mildem EP-Schutz nach API GL-4. Geeignet für manuell geschaltete Getriebe und Achsgetriebe mit moderater Belastung. In vielen Traktoren und Nutzfahrzeugen Standard.",color:"bg-purple-50 dark:bg-purple-950/30 border-purple-200 dark:border-purple-800 text-purple-800 dark:text-purple-300"},"GL-5":{label:"GL-5 – Getriebeöl API GL-5",description:"Hochleistungs-Getriebeöl nach API GL-5 mit starkem EP-Schutz. Für Hypoid-Achsantriebe und Getriebe unter hoher Last und Stoßbelastung. Nicht immer kompatibel mit Synchronringen aus Messing.",color:"bg-purple-50 dark:bg-purple-950/30 border-purple-200 dark:border-purple-800 text-purple-800 dark:text-purple-300"}},Os={hydraulik:{title:"Hydrauliköle im Vergleich",keys:["HLP","HVLP","HLPD"]},bio:{title:"Biologisch abbaubare Hydrauliköle",keys:["HEES","HETG","HEPG"]},getriebe:{title:"Getriebeöle im Vergleich",keys:["CLP","GL-4","GL-5","ATF"]},traktor:{title:"Traktor-Universalöle",keys:["STOU","UTTO"]}};function tc(t,r){const s=`${t} ${r}`.toUpperCase();if(/\bHEES[\s-]?SYNTH\b/i.test(s)||/\bHEES\b/i.test(s))return{key:"HEES",info:kr.HEES};const n=Object.keys(kr).sort((a,d)=>d.length-a.length);for(const a of n){if(a==="HEES")continue;if(new RegExp(`\\b${a.replace("-","[-\\s]?")}\\b`,"i").test(s))return{key:a,info:kr[a]}}return null}function rc(t){return Object.values(Os).filter(r=>r.keys.includes(t))}function sc({detectedKey:t}){const[r,s]=m.useState(!1),a=[...rc(t)];if(["HLP","HVLP","HLPD"].includes(t)&&!a.some(u=>u.title.includes("Biologisch"))&&a.push(Os.bio),["HEES","HETG","HEPG"].includes(t)&&!a.some(u=>u.title.includes("Vergleich"))&&a.unshift(Os.hydraulik),a.length===0)return null;const d=a.reduce((u,c)=>u+c.keys.filter(x=>x!==t).length,0);return d===0?null:e.jsxs("div",{className:"mb-4",children:[e.jsxs("button",{onClick:()=>s(!r),className:"flex items-center gap-2 text-xs font-medium text-primary hover:underline cursor-pointer",children:[e.jsx(Er,{className:"h-3.5 w-3.5"}),r?"Vergleich ausblenden":`Was unterscheidet die Öltypen? (${d} weitere anzeigen)`,r?e.jsx(Zs,{className:"h-3 w-3"}):e.jsx(qt,{className:"h-3 w-3"})]}),r&&e.jsxs("div",{className:"mt-3 space-y-4",children:[a.map(u=>e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-bold uppercase tracking-wide text-muted-foreground mb-2",children:u.title}),e.jsx("div",{className:"space-y-1.5",children:u.keys.map(c=>{const x=kr[c];if(!x)return null;const f=c===t;return e.jsxs("div",{className:`flex items-start gap-2 p-2.5 rounded-lg border text-xs transition-colors ${f?`${x.color} ring-2 ring-primary/30`:"border-border bg-muted/30 text-muted-foreground"}`,children:[e.jsxs("span",{className:`font-bold shrink-0 min-w-[3.5rem] ${f?"":"text-foreground"}`,children:[c,f&&e.jsx("span",{className:"ml-1 text-[10px] font-normal opacity-70",children:"← dieses Produkt"})]}),e.jsx("span",{className:"leading-relaxed",children:x.description})]},c)})})]},u.title)),e.jsxs("p",{className:"text-[10px] text-muted-foreground italic",children:["💡 Tipp: Nutzen Sie unseren ",e.jsx("a",{href:"/oelfinder",className:"text-primary underline font-medium",children:"Schmierstofffinder"}),", um das passende Öl für Ihre Maschine zu finden."]})]})]})}function nc({descriptionText:t,dimensions:r,bezeichnung:s,articleNumber:n,hl:a,hlNr:d,oeRefs:u=[],allOeRefs:c=[],showAirDryerInfo:x=!1}){const{t:f}=Se("search"),h=tc(s||"",t);m.useMemo(()=>{const l=I=>{const M=String(I).replace(",",".").match(/\d+(?:\.\d+)?/g);return M?M.map(ne=>parseFloat(ne)).filter(ne=>!isNaN(ne)&&ne>0):[]},p=I=>{for(const M of I){const ne=r.find(se=>se.label.toLowerCase().includes(M.toLowerCase()));if(ne){const se=l(String(ne.value));if(se.length>0)return se}}return[]},j=p(["durchmesser oben","ø oben","diameter top"]),S=p(["durchmesser unten","ø unten","diameter bottom"]),T=p(["durchmesser innen","ø innen","diameter inner"]),$=p(["lochdurchmesser","hole diameter"]),C=p(["höhe","hoehe","height"]),E=p(["länge","laenge","length"]),_=p(["breite","
64width"]),q=j[0],i=S[0],ee=T[0],H=T[1],pe=$[0],le=C[0],Ie=C[1],ve=E[0],ze=_[0],fe=!!(q||i||ee||pe),F=!!(ve&&ze),Q={diameter_top_1:q,diameter_top_2:j[1],diameter_bottom_1:i,diameter_bottom_2:S[1],diameter_inner_1:ee,diameter_inner_2:H,hole_diameter_1:pe,height_1:le,height_2:Ie,length_1:ve,length_2:E[1],width_1:ze,width_2:_[1]},D=Object.entries(Q).filter(([I,M])=>M!=null).map(([I])=>I);let P;return fe&&!F?P="round":F&&!fe&&(P="rectangular"),{values:Q,activeFields:D,shape:P,showSketch:fe||F}},[r]);const v=!!n&&n.toUpperCase().startsWith("WFIB"),y=!!n&&n.toUpperCase().startsWith("WKOP"),o=(t||"").toUpperCase(),N=c.length>0?c:u,w=N.some(l=>{const p=((l==null?void 0:l.nummer)||"").trim().toUpperCase().replace(/[\s\-./]/g,"");return p.length>0&&Hs.has(p)}),k=Co(n)||w||[...Hs].some(l=>o.includes(l)),b=Lo(n,N,t);return e.jsxs("div",{children:[v&&e.jsxs("a",{href:"https://www.wismet.de/fibalon",className:"group relative block mb-5 overflow-hidden rounded-2xl border border-cyan-300/50 shadow-lg shadow-cyan-500/20 hover:shadow-xl hover:shadow-cyan-500/30 transition-all duration-300 no-underline hover:-translate-y-0.5",children:[e.jsx("img",{src:"/__l5e/assets-v1/cb9a53de-4757-48e8-90a6-e761b702d8b1/pool-summer-hero.jpg",alt:"","aria-hidden":"true",loading:"lazy",className:"absolute inset-0 h-full w-full object-cover scale-105 group-hover:scale-110 transition-transform duration-700"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-cyan-950/85 via-sky-900/55 to-cyan-700/30"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-cyan-950/40 via-transparent to-amber-300/10"}),e.jsx("div",{className:"absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-500 bg-gradient-to-r from-transparent via-white/15 to-transparent -translate-x-full group-hover:translate-x-full [transition:transform_1.2s_ease,opacity_0.5s]"}),e.jsxs("div",{className:"relative flex items-center gap-4 p-4 sm:p-5",children:[e.jsx("div",{className:"flex-shrink-0 h-12 w-12 sm:h-14 sm:w-14 rounded-full bg-white/15 backdrop-blur-md border border-white/30 flex items-center justify-center shadow-lg",children:e.jsx(Bt,{className:"h-6 w-6 sm:h-7 sm:w-7 text-cyan-100 drop-shadow"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-1.5 mb-0.5",children:[e.jsx(vt,{className:"h-3 w-3 text-amber-300"}),e.jsx("span",{className:"text-[10px] sm:text-xs font-bold uppercase tracking-[0.18em] text-amber-200 drop-shadow",children:"Sommer-Tipp · Kristallklares Wasser"})]}),e.jsx("p",{className:"text-sm sm:text-base font-extrabold text-white leading-snug drop-shadow-[0_2px_6px_rgba(0,0,0,0.5)]",children:"FIBALON® – der Polymerfaserfilter als Sandersatz"}),e.jsxs("p",{className:"hidden sm:block text-xs text-cyan-50/90 mt-1 drop-shadow",children:["Alle Infos, Anwendung & Varianten auf"," ",e.jsx("span",{className:"underline decoration-amber-300/70 underline-offset-2 group-hover:decoration-amber-200",children:"wismet.de/fibalon"})]})]}),e.jsxs("div",{className:"flex-shrink-0 hidden sm:inline-flex items-center gap-1.5 rounded-full bg-white/95 px-3.5 py-2 text-xs font-bold text-cyan-900 shadow-md group-hover:bg-amber-300 group-hover:text-cyan-950 transition-colors",children:["Entdecken",e.jsx(rt,{className:"h-3.5 w-3.5 transition-transform group-hover:translate-x-0.5"})]}),e.jsx(rt,{className:"sm:hidden h-5 w-5 text-white flex-shrink-0"})]})]}),v&&e.jsx(Do,{}),r.length>0&&e.jsxs("div",{className:"mb-5 overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm dark:border-slate-800 dark:bg-slate-950",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 border-b border-slate-200 bg-gradient-to-r from-slate-900 via-slate-800 to-slate-900 px-4 py-2.5 dark:border-slate-800",children:[e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded-md bg-amber-500/90 text-slate-950 shadow-sm",children:e.jsx(_s,{className:"h-4 w-4",strokeWidth:2.5})}),e.jsx("h4",{className:"text-[13px] font-bold uppercase tracking-[0.14em] text-white",children:f("article.dimensions")})]}),e.jsxs("span",{className:"hidden sm:inline text-[10px] font-mono uppercase tracking-widest text-amber-300/80",children:["Datasheet · ",r.length]})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2",children:r.map((l,p)=>{const j=!isNaN(parseFloat(String(l.value))),S=l.unit==="kg"?parseFloat(String(l.value)).toFixed(2):l.value;return e.jsxs("div",{className:`group flex items-baseline justify-between gap-3 border-slate-100 px-4 py-2.5 transition-colors hover:bg-amber-50/60 dark:border-slate-800/70 dark:hover:bg-amber-500/5 ${p%2===1?"sm:bg-slate-50/60 dark:sm:bg-slate-900/40":""} ${p<r.length-1?"border-b":""} ${p%2===0&&p<r.length-1?"sm:border-r":""}`,children:[e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400",children:l.label}),e.jsxs("span",{className:"flex items-baseline gap-1 whitespace-nowrap",children:[e.jsx("span",{className:`text-[15px] font-bold text-slate-900 dark:text-slate-100 ${j?"font-mono tabular-nums":""}`,children:S}),l.unit&&j&&e.jsx("span",{className:"text-[10px] font-mono italic uppercase tracking-wider text-amber-600 dar
64k:text-amber-400",children:l.unit})]})]},l.label)})})]}),t&&e.jsxs("div",{className:"mb-5 overflow-hidden rounded-xl border border-slate-200 bg-white shadow-sm dark:border-slate-800 dark:bg-slate-950",children:[e.jsxs("div",{className:"flex items-center gap-2.5 border-b border-slate-200 bg-gradient-to-r from-slate-900 via-slate-800 to-slate-900 px-4 py-2.5 dark:border-slate-800",children:[e.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded-md bg-amber-500/90 text-slate-950 shadow-sm",children:e.jsx(Er,{className:"h-4 w-4",strokeWidth:2.5})}),e.jsx("h3",{className:"text-[13px] font-bold uppercase tracking-[0.14em] text-white",children:f("article.description")}),e.jsx("span",{className:"ml-auto hidden sm:inline text-[10px] font-mono uppercase tracking-widest text-amber-300/80",children:"Produktinfo"})]}),e.jsxs("div",{className:"relative px-4 py-3.5",children:[e.jsx("div",{className:"pointer-events-none absolute left-0 top-3 bottom-3 w-1 rounded-r bg-gradient-to-b from-amber-400 via-amber-500 to-amber-600"}),e.jsx("div",{className:"pl-3 text-[13.5px] leading-relaxed text-slate-700 whitespace-pre-line dark:text-slate-300",children:t})]})]}),n&&/^WCA\d/i.test(n)&&e.jsx("div",{className:"mb-5 rounded-lg border border-emerald-500/40 bg-emerald-500/5 p-3",children:e.jsx(il,{})}),x&&e.jsx("div",{className:"mb-4 overflow-hidden rounded-xl border-2 border-sky-300/70 bg-gradient-to-br from-sky-50 via-background to-amber-50 p-3.5 shadow-sm dark:border-sky-700/60 dark:from-sky-950/30 dark:via-background dark:to-amber-950/20",children:e.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[e.jsxs("div",{className:"flex min-w-0 items-start gap-3",children:[e.jsx("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-xl bg-sky-600 text-primary-foreground shadow-sm",children:e.jsx(Ot,{className:"h-5 w-5"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-sm font-extrabold leading-tight text-foreground",children:"Trockenmittelpatrone: Standard oder mit Ölabscheider?"}),e.jsx("p",{className:"mt-1 text-xs leading-relaxed text-muted-foreground",children:"Für Druckluft-Bremsanlagen gibt es zwei Bauarten: reine Trocknung und Kombi-Patronen mit Ölabscheider."}),e.jsxs("div",{className:"mt-2 flex flex-wrap gap-1.5",children:[e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full border border-sky-200 bg-background/80 px-2 py-0.5 text-[11px] font-semibold text-sky-700 dark:border-sky-800 dark:text-sky-300",children:[e.jsx(Ot,{className:"h-3 w-3"})," Standard"]}),e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full border border-amber-200 bg-background/80 px-2 py-0.5 text-[11px] font-semibold text-amber-700 dark:border-amber-800 dark:text-amber-300",children:[e.jsx(Bt,{className:"h-3 w-3"})," mit Ölabscheider"]})]})]})]}),e.jsxs(Ze,{children:[e.jsx(As,{asChild:!0,children:e.jsxs("button",{type:"button",className:"inline-flex w-full shrink-0 items-center justify-center gap-2 rounded-lg bg-primary px-3.5 py-2.5 text-xs font-bold text-primary-foreground shadow-sm transition-colors hover:bg-primary/90 sm:w-auto",children:["Unterschiede ansehen",e.jsx(rt,{className:"h-3.5 w-3.5"})]})}),e.jsxs(tt,{className:"max-w-4xl w-[95vw] max-h-[90vh] overflow-y-auto",children:[e.jsx(ht,{className:"sr-only",children:"Trockenmittelpatronen Varianten erklärt"}),e.jsx(wr,{className:"sr-only",children:"Vergleich zwischen Standard-Trockenmittelpatrone und Trockenmittelpatrone mit Ölabscheider für Druckluft-Bremsanlagen."}),e.jsx(Zn,{})]})]})]})}),h&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`flex items-start gap-2.5 p-3 rounded-lg border text-sm mb-3 ${h.info.color}`,children:[e.jsx(Bt,{className:"h-4 w-4 mt-0.5 flex-shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-[13px] mb-0.5",children:h.info.label}),e.jsx("p",{className:"text-xs leading-relaxed opacity-90",children:h.info.description})]})]}),e.jsx(sc,{detectedKey:h.key})]}),n&&e.jsx(Gl,{articleNumber:n,hl:a,hlNr:d}),y&&e.jsx(Ao,{}
64),k&&e.jsx(Eo,{}),b&&e.jsx(Po,{})]})}function ac({videos:t,pdfs:r,images:s,otherFiles:n}){var k,b;const{t:a}=Se("search"),[d,u]=m.useState(!1),[c,x]=m.useState(0),[f,h]=m.useState({}),[v,y]=m.useState({}),o=s.filter((l,p)=>!v[p]),N=o.map(l=>l.url),w=l=>{x(l),u(!0)};return e.jsxs("div",{className:"space-y-6",children:[r.length>0&&e.jsxs("div",{children:[e.jsxs("h4",{className:"text-sm font-bold mb-3 flex items-center gap-2",children:[e.jsx(Cr,{className:"h-4 w-4 text-primary"}),a("article.datasheets")]}),e.jsx("div",{className:"space-y-2",children:r.map((l,p)=>{const j=wn(l.fileType);return e.jsxs("a",{href:l.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 p-3 rounded-lg border border-border hover:bg-muted/50 transition-colors group",children:[e.jsx("div",{className:`flex-shrink-0 h-10 w-10 rounded-lg ${j.bg} ${j.text} flex items-center justify-center`,children:fs(l.fileType,"lg")}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm font-medium truncate group-hover:text-primary transition-colors",children:l.description||a("article.pdfDocument")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:yn(l.fileType,a)})]}),e.jsx(Ar,{className:"h-4 w-4 text-muted-foreground group-hover:text-primary flex-shrink-0"})]},p)})})]}),s.length>0&&e.jsx("div",{children:o.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("h4",{className:"text-sm font-bold mb-3 flex items-center gap-2",children:[e.jsx(Hi,{className:"h-4 w-4 text-primary"}),a("article.image")]}),e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3",children:s.map((l,p)=>{if(v[p])return null;const j=o.indexOf(l);return e.jsxs("button",{onClick:()=>w(j),className:"block rounded-lg border border-border overflow-hidden hover:border-primary transition-colors group cursor-pointer bg-muted/30",children:[e.jsxs("div",{className:"aspect-square flex items-center justify-center p-2",children:[!f[p]&&!v[p]&&e.jsx(Ye,{}),e.jsx("img",{src:l.url,alt:l.description||`${a("article.image")} ${p+1}`,className:`max-h-full max-w-full object-contain transition-opacity ${f[p]?"opacity-100":"opacity-0"}`,loading:"lazy",onLoad:()=>h(S=>({...S,[p]:!0})),onError:()=>y(S=>({...S,[p]:!0}))})]}),l.description&&e.jsx("p",{className:"text-xs text-muted-foreground p-1.5 truncate group-hover:text-primary transition-colors border-t border-border",children:l.description})]},p)})})]})}),e.jsx(Ze,{open:d,onOpenChange:u,children:e.jsxs(tt,{className:"max-w-3xl w-auto p-2",children:[e.jsxs("div",{className:"relative flex items-center justify-center",children:[N.length>1&&e.jsx(J,{variant:"ghost",size:"icon",className:"absolute left-0 z-10 h-10 w-10 rounded-full bg-background/80 hover:bg-background",onClick:()=>x(l=>(l-1+N.length)%N.length),children:e.jsx(Sr,{className:"h-5 w-5"})}),N.length>0&&e.jsx("img",{src:N[c%N.length],alt:((k=o[c%o.length])==null?void 0:k.description)||a("article.image"),className:"max-h-[80vh] object-contain",onLoad:l=>{const p=l.currentTarget;p.naturalWidth<300?p.style.width=`${p.naturalWidth*2}px`:p.style.width=""}}),N.length>1&&e.jsx(J,{variant:"ghost",size:"icon",className:"absolute right-0 z-10 h-10 w-10 rounded-full bg-background/80 hover:bg-background",onClick:()=>x(l=>(l+1)%N.length),children:e.jsx(Me,{className:"h-5 w-5"})})]}),o.length>0&&e.jsxs("p",{className:"text-center text-sm text-muted-foreground mt-1",children:[((b=o[c%o.length])==null?void 0:b.description)||a("article.image"),N.length>1&&` – ${c%N.length+1} / ${N.length}`]})]})}),t.length>0&&e.jsxs("div",{children:[e.jsxs("h4",{className:"text-sm font-bold mb-3 flex items-center gap-2",children:[e.jsx($n,{className:"h-4 w-4 text-primary"}),a("article.video")]}),e.jsx("div",{className:"grid grid-cols-1 gap-4",children:t.map((l,p)=>e.jsxs("div",{className:"space-y-2",children:[l.description&&e.jsx("p",{className:"text-sm text-muted-foreground",children:l.description}),(()=>{const S=Mo(l.url).match(/embed\/([A-Za-z0-9_-]+)/),T=S?S[1]:l.url.trim();return e.jsx(Ln,{videoId:T,title:l.description||`Video ${p+1}`,className:"relative w-full aspect-video rounded-lg overflow-hidden border border-border bg-muted/30"})})()]},p))})]}),n.length>0&&e.jsxs("div",{children:[e.jsxs("h4",{className:"text-sm font-bold mb-3 flex items-center gap-2",children:[fs(n[0].fileType),a("article.otherFiles")]}),e.jsx("div",{className:"space-y-2",children:n.map((l,p)=>{const j=wn(l.fileType);return e.jsxs("a",{href:l.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 p-3 rounded-lg border border-border hover:bg-muted/50 transition-colors group",children:[e.jsx("div",{className:`flex-shrink-0 h-10 w-10 rounded-lg ${j.bg} ${j.text} flex items-center justify-center`,children:fs(l.fileType,"lg")}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm font-medium truncate group-hover:text-primary transition-colors",children:l.description||a("article.otherFiles")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:yn(l.fileType,a)})]}),e.jsx(Ar,{className:"h-4 w-4 text-muted-foreground group-hover:text-primary flex-shrink-0"})]},p)})})]})]})}function An({items:t,onArticleClick:r,articleNumber:s,label:n,showManufacturerLogo:a}){const[d,u]=m.useState({}),{grossPrice:c}=Pr(),{requestAddToCart:x}=Ir(),{t:f}=Se("search"),h=o=>d[o]||1,v=(o,N)=>u(w=>({...w,[o]:Math.max(1,N)})),y=n;return e.jsx("div",{children:e.jsx("div",{className:"space-y-3",children:t.map((o,N)=>e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center gap-3 p-3 rounded-lg border border-border hover:bg-muted/50 transition-colors group",children:[e.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0",children:[e.jsx(ic,{articleNumber:o.ArtikelNr}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[a&&o.MftLogo&&e.jsx(Le,{mftLogo:o.MftLogo,className:"h-5 w-auto shrink-0"}),e.jsx("button",{onClick:()=>r(o.ArtikelNr),"data-article-nr":o.ArtikelNr,className:"text-sm font-medium text-primary hover:underline cursor-pointer text-left",children:o.ArtikelNr}),a&&o.HerstellerName&&!o.MftLogo&&e.jsx("span",{className:"text-xs font-medium text-muted-foreground truncate",children:o.HerstellerName})]}),e.jsx("p",{className:"text-sm text-foreground truncate",children:o.Bezeichnung}),o.dimensions&&(()=>{const w={Hoehe:"Höhe",Durchmesser_oben:"Ø oben",Durchmesser_unten:"Ø unten",Durchmesser_innen:"Ø innen",Lochdurchmesser:"Ø Loch",Gewinde:"Gewinde",Laenge:"Länge",Breite:"Breite"},b=["Hoehe","Durchmesser_oben","Durchmesser_unten","Durchmesser_innen","Lochdurchmesser","Gewinde","Laenge","Breite"].filter(l=>{var p;return((p=o.dimensions)==null?void 0:p[l])&&String(o.dimensions[l]).trim()!==""&&String(o.dimensions[l]).trim()!=="0"}
64).map(l=>({k:l,v:String(o.dimensions[l]).trim()}));return b.length===0?null:e.jsx("div",{className:"flex flex-wrap gap-x-3 gap-y-0.5 text-xs text-muted-foreground mt-0.5",children:b.map(({k:l,v:p})=>e.jsxs("span",{children:[e.jsxs("span",{className:"font-medium",children:[w[l],":"]})," ",e.jsxs("span",{className:"text-foreground",children:[p,l==="Gewinde"?"":" mm"]})]},l))})})(),o.BemerkungDE&&e.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:o.BemerkungDE}),e.jsx("div",{className:"mt-1",children:e.jsx(pt,{stock:o.stock,showFallback:!0})})]})]}),e.jsxs("div",{className:"flex items-center gap-2 sm:gap-3 flex-wrap sm:flex-nowrap",children:[o.Preis!=null&&e.jsxs("div",{className:"text-right shrink-0",children:[e.jsxs("p",{className:"text-sm font-bold text-primary",children:[c(o.Preis).toFixed(2).replace(".",",")," €"]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[Number(o.Preis).toFixed(2).replace(".",",")," € ",f("article.netPrice").toLowerCase()]}),e.jsx(Gs,{price:o.Preis,gebindeInhalt:o.GebindeInhalt,gebindeEinheit:o.GebindeEinheit})]}),e.jsxs("div",{className:"flex items-center",children:[e.jsx(Rt,{value:h(N),min:1,step:1,size:"sm",className:"rounded-r-none border-r-0",onCommit:w=>v(N,w)}),e.jsx(J,{size:"icon",className:"h-10 w-10 shrink-0 rounded-l-none",onClick:()=>x({articleNumber:o.ArtikelNr,quantity:h(N),referenceInfo:`${y} → ${s}`}),title:f("article.addToCart"),children:e.jsx(He,{className:"h-5 w-5"})})]})]})]},N))})})}function ic({articleNumber:t}){const{images:r,loading:s}=Pn(t),[n,a]=m.useState(!1),[d,u]=m.useState(0),c=r[0]||null,x=(c==null?void 0:c.split("?")[0])??null;m.useEffect(()=>{a(!1),u(0)},[t,x]);const f=()=>{if(d<5&&c){u(h=>h+1),zs(t);return}a(!0)};return s?e.jsx("div",{className:"h-12 w-12 rounded bg-muted/40 shrink-0"}):!c||n?e.jsx("div",{className:"h-12 w-12 rounded bg-muted/30 flex items-center justify-center shrink-0",children:e.jsx(ye,{className:"h-5 w-5 text-muted-foreground"})}):e.jsx("img",{src:c,alt:t,className:"h-12 w-12 object-contain rounded shrink-0",onError:f,onLoad:()=>{a(!1),u(0)}})}const Br=t=>{const r=String(t.articleNumber||"").toUpperCase();return r.startsWith("WGDB")?e.jsx(To,{articleNumber:r,open:t.open,onOpenChange:t.onOpenChange}):e.jsx(Oo,{...t})};function lc({siblings:t,currentArticleNr:r,onSelect:s}){if(!t||t.length<2)return null;const n=new Set,a=t.filter(c=>{const x=(c.ArtikelNr||"").trim().toUpperCase();return!x||n.has(x)?!1:(n.add(x),!0)}).sort((c,x)=>{const f=parseFloat(String(c.GebindeInhalt||"").replace(",",".")),h=parseFloat(String(x.GebindeInhalt||"").replace(",","."));return isNaN(f)&&isNaN(h)?0:isNaN(f)?1:isNaN(h)?-1:f-h}),d=c=>{const x=String(c.GebindeInhalt||"").trim(),f=String(c.GebindeEinheit||"").trim();if(!x)return"";const h=/liter/i.test(f)?"L":/^kg$/i.test(f)?"kg":f;return`${x} ${h}`.trim()},u=(r||"").trim().toUpperCase();return e.jsxs("div",{className:"mt-2.5 rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2",children:[e.jsxs("div",{className:"flex items-center gap-1.5 mb-1.5",children:[e.jsx(ye,{className:"h-3.5 w-3.5 text-amber-600 dark:text-amber-400 shrink-0"}),e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-amber-700 dark:text-amber-400",children:"Auch erhältlich als"}),e.jsxs("span",{className:"text-[11px] text-muted-foreground",children:["· ",a.length," weitere Gebindegrößen:"]})]}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:a.map(c=>{var v,y;const x=(c.ArtikelNr||"").trim().toUpperCase()===u,f=d(c),h=((v=c.stock)==null?void 0:v.Ampel)==="g"||((y=c.stock)==null?void 0:y.Bestand)&&parseFloat(String(c.stock.Bestand))>0;return e.jsxs("button",{type:"button",onClick:()=>!x&&s(c.ArtikelNr),disabled:x,title:`${c.ArtikelNr} · ${c.Bezeichnung}${c.Preis!=null?` · ${c.Preis.toFixed(2).replace(".",",")} €`:""}`,className:`group relative inline-flex items-center gap-1.5 rounded-md border px-2.5 py-1 text-xs font-medium transition-all ${x?"border-amber-600 bg-amber-600 text-white cursor-default shadow-sm":"border-amber-500/40 bg-background hover:border-amber-600 hover:bg-amber-500/10 cursor-pointer"}`,children:[e.jsx("span",{className:"tabular-nums font-bold",children:f}),c.Preis!=null&&e.jsxs("span",{className:`tabular-nums ${x?"text-white/90":"text-muted-foreground"}`,children:[c.Preis.toFixed(2).replace(".",",")," €"]}),!x&&e.jsx("span",{className:`inline-block h-1.5 w-1.5 rounded-full ${h?"bg-emerald-500":"bg-zinc-300 dark:bg-zinc-600"}`,title:h?"Auf Lager":"Bitte prüfen"})]},c.ArtikelNr)})})]})}const Qc=Object.freeze(Object.defineProperty({__proto__:null,default:Br,prefetchArticleDetails:Bo},Symbol.toStringTag,{value:"Module"})),oc="wlxniolwgjapqrebsyjp",Mr=`https://${oc}.supabase.co/functions/v1/webshop-companion-articles`,Kt="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6IndseG5pb2x3Z2phcHFyZWJzeWpwIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzE5MjQxNTgsImV4cCI6MjA4NzUwMDE1OH0.NUO0jXZMywnKq7eambz1Ln3YhbYDz4uPYu8OtsiWaJY";async function cc(){try{const t=await fetch(`${Mr}?action=list`,{headers:{apikey:Kt,Authorization:`Bearer ${Kt}`}});if(!t.ok)return[];const r=await t.json();return!(r!=null&&r.success)||!Array.isArray(r.entries)?[]:r.entries.map(s=>({trigger_pattern:String(s.trigger_pattern||"").toUpperCase(),companion_article_nr:String(s.companion_article_nr||"").toUpperCase(),label:s.label||null,target_artikelart:s.target_artikelart||null,scope:String(s.scope||"fa
64hrzeugkatalog").toLowerCase()}))}catch{return[]}}function dc(){const{data:t}=Xe({queryKey:["companion-articles-allowlist"],queryFn:cc,staleTime:3e5,gcTime:18e5,refetchOnWindowFocus:!1});return new Set((t||[]).map(r=>r.companion_article_nr))}async function Xc(){var a;const{data:t}=await me.auth.getSession(),r=(a=t.session)==null?void 0:a.access_token;if(!r)throw new Error("Nicht angemeldet");const s=await fetch(`${Mr}?action=list_admin`,{headers:{apikey:Kt,Authorization:`Bearer ${r}`}});if(!s.ok)throw new Error(`Fehler ${s.status}`);return(await s.json()).entries||[]}async function ed(t){var a;const{data:r}=await me.auth.getSession(),s=(a=r.session)==null?void 0:a.access_token;if(!s)throw new Error("Nicht angemeldet");const n=await fetch(Mr,{method:"POST",headers:{apikey:Kt,Authorization:`Bearer ${s}`,"Content-Type":"application/json"},body:JSON.stringify({action:"upsert",row:t})});if(!n.ok)throw new Error(`Fehler ${n.status}`)}async function td(t){var a;const{data:r}=await me.auth.getSession(),s=(a=r.session)==null?void 0:a.access_token;if(!s)throw new Error("Nicht angemeldet");const n=await fetch(Mr,{method:"POST",headers:{apikey:Kt,Authorization:`Bearer ${s}`,"Content-Type":"application/json"},body:JSON.stringify({action:"delete",id:t})});if(!n.ok)throw new Error(`Fehler ${n.status}`)}const qn="wlxniolwgjapqrebsyjp",Jt=`https://${qn}.supabase.co/functions/v1/webshop-excluded-articles`,et="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6IndseG5pb2x3Z2phcHFyZWJzeWpwIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzE5MjQxNTgsImV4cCI6MjA4NzUwMDE1OH0.NUO0jXZMywnKq7eambz1Ln3YhbYDz4uPYu8OtsiWaJY",js=[];async function mc(){try{const t=await fetch(`${Jt}?action=list`,{headers:{apikey:et,Authorization:`Bearer ${et}`}});if(!t.ok)return js;const r=await t.json();return!(r!=null&&r.success)||!Array.isArray(r.entries)?js:r.entries.map(s=>({pattern:String(s.pattern||"").toUpperCase(),scope:String(s.scope||"global").toLowerCase(),stock_aware:!!s.stock_aware}))}catch{return js}}function uc(t){return String(t||"").trim().startsWith("@")}function hc(t,r){return!r||uc(r)?!1:r.endsWith("%")?t.startsWith(r.slice(0,-1)):r.startsWith("%")&&r.endsWith("%")?t.includes(r.slice(1,-1)):t===r}function Jn(t){const r=String(t||"").trim().toUpperCase();if(!r.endsWith("%"))return null;const s=r.slice(0,-1);return/^[A-Z0-9]{2,20}$/.test(s)?s:null}async function xc(t){if(t.length===0)return new Set;try{const r=await fetch(`https://${qn}.supabase.co/functions/v1/get-bgs-in-stock?prefixes=${encodeURIComponent(t.join(","))}`,{headers:{apikey:et,Authorization:`Bearer ${et}`}});if(!r.ok)return new Set;const s=await r.json();return!(s!=null&&s.success)||!Array.isArray(s.articles)?new Set:new Set(s.articles.map(n=>String(n).trim().toUpperCase()))}catch{return new Set}}function gc(t,r,s=new Set,n=new Set,a=!1){const d=new Set;for(const u of t){if(!u.stock_aware||u.scope!=="global"&&u.scope!==r)continue;const c=Jn(u.pattern);c&&d.add(c)}return u=>{if(!u)return!1;const c=String(u).trim().toUpperCase();if(!c||s.has(c)||n.has(c))return!1;for(const x of d)if(c.startsWith(x))return!!a;for(const x of t)if(!(x.scope!=="global"&&x.scope!==r)&&!x.stock_aware&&hc(c,x.pattern))return!0;return!1}}function pc(t="global"){const{data:r=[],isLoading:s,refetch:n}=Xe({queryKey:["excluded-articles-list"],queryFn:mc,staleTime:3e5,gcTime:6e5,refetchOnWindowFocus:!1,refetchOnMount:!1,retry:1}),a=dc(),d=Array.from(new Set(r.filter(h=>h.stock_aware&&(h.scope==="global"||h.scope===t)).map(h=>Jn(h.pattern)).filter(h=>!!h))).sort(),{data:u}=Xe({queryKey:["excluded-stock-allowlist",d.join(",")],queryFn:async()=>d.length===0?{set:new Set,ready:!0}:{set:await xc(d),ready:!0},staleTime:5*60*1e3,gcTime:10*60*1e3,refetchOnWindowFocus:!1,refetchOnMount:!1,retry:1,enabled:d.length>0}),c=(u==null?void 0:u.set)??new Set,x=d.length===0||!!(u!=null&&u.ready),f=gc(r,t,a,c,x);return{entries:r,isLoading:s,refetch:n,isExcluded:f}}async function rd(){var a;const{data:t}=await me.auth.getSession(),r=(a=t.session)==null?void 0:a.access_token;if(!r)throw new Error("Nicht angemeldet");const s=await fetch(`${Jt}?action=list_admin`,{headers:{apikey:et,Authorization:`Bearer ${r}`}});if(!s.ok)throw new Error(`Fehler ${s.status}`);return(await s.json()).entries||[]}async function sd(t){var a;const{data:r}=await me.auth.getSession(),s=(a=r.session)==null?void 0:a.access_token;if(!s)throw new Error("Nicht angemeldet");const n=await fetch(Jt,{method:"POST",headers:{apikey:et,Authorization:`Bearer ${s}`,"Content-Type":"application/json"},body:JSON.stringify({action:"upsert",row:t})});if(!n.ok)throw new Error(`Fehler ${n.status}`)}
64async function nd(t){var a;const{data:r}=await me.auth.getSession(),s=(a=r.session)==null?void 0:a.access_token;if(!s)throw new Error("Nicht angemeldet");const n=await fetch(Jt,{method:"POST",headers:{apikey:et,Authorization:`Bearer ${s}`,"Content-Type":"application/json"},body:JSON.stringify({action:"delete",id:t})});if(!n.ok)throw new Error(`Fehler ${n.status}`)}async function ad(t){var d;const{data:r}=await me.auth.getSession(),s=(d=r.session)==null?void 0:d.access_token;if(!s)throw new Error("Nicht angemeldet");const n=await fetch(Jt,{method:"POST",headers:{apikey:et,Authorization:`Bearer ${s}`,"Content-Type":"application/json"},body:JSON.stringify({action:"deactivate_all"})});if(!n.ok)throw new Error(`Fehler ${n.status}`);const a=await n.json();return Number(a.deactivated??a.activated??0)}const fc={Hoehe:"Höhe",Durchmesser_oben:"Ø oben",Durchmesser_unten:"Ø unten",Durchmesser_innen:"Ø innen",Lochdurchmesser:"Loch-Ø",Gewinde:"Gewinde",Laenge:"Länge",Breite:"Breite"},Vs=new Map,vs=new Map,bc=t=>t.filter(r=>{if(!r.stock)return!1;const s=d=>{if(d==null)return 0;const u=typeof d=="string"?parseFloat(d):d;return isNaN(u)?0:u},n=Math.max(0,s(r.stock.Bestand)-s(r.stock.RueckstandKunde)),a=(r.stock.Ampel||"").toLowerCase().trim();return a==="r"||a==="o"?!1:n>=1});async function jc(t){const r=t.trim().toUpperCase();if(!r)return[];const s=Vs.get(r);if(s)return s;const n=vs.get(r);if(n)return n;const a=(async()=>{try{const{data:d,error:u}=await xt("get-article-details",{body:{article_number:r},silent:!0,timeoutMs:6e3,maxRetries:1});if(u)return[];const c=d!=null&&d.alternativen?bc(d.alternativen):[];return c.sort((x,f)=>{const h=x.Preis==null?1/0:x.Preis,v=f.Preis==null?1/0:f.Preis;return h-v}),Vs.set(r,c),c}catch(d){return console.warn("[AlternativeHint] fetch failed (silent):",(d==null?void 0:d.message)||d),[]}finally{vs.delete(r)}})();return vs.set(r,a),a}const id=t=>{if(!t)return!0;const r=typeof t.Bestand=="string"?parseFloat(t.Bestand)||0:t.Bestand,s=(t.Ampel||"").toLowerCase().trim();return s==="r"?!0:s==="g"?!1:s==="o"?!0:r<1},ld=t=>t?((typeof t.RueckstandLieferant=="string"?parseFloat(t.RueckstandLieferant)||0:t.RueckstandLieferant)??0)>0:!1,od=(t,r)=>"",vc=.05,Nc=new Set(["WWD49425"]),kc=({articleNumber:t,onClick:r,addItem:s,grossPrice:n,getDisplayPrice:a,className:d,cartItems:u=[],vatPercent:c=19,collapsible:x=!1,mainPrice:f=null,compact:h=!1})=>{var ze,fe;if(Nc.has(t.trim().toUpperCase()))return null;const{t:v}=Se("common"),y=Vs.get(t.trim().toUpperCase()),[o,N]=m.useState(y||[]),[w,k]=m.useState(!y),[b,l]=m.useState({}),[p,j]=m.useState(!x),S=m.useRef(!1);m.useEffect(()=>{S.current||j(!x)},[x]);const T=F=>{S.current=!0,j(F)},$=m.useRef(!!y),C=m.useRef(null),E=F=>b[F]??1,_=(F,Q)=>l(D=>({...D,[F]:Math.max(1,Q)}));if(m.useEffect(()=>{if($.current)return;let F=!1,Q=null;const D=C.current,P=()=>{if($.current||F)return;$.current=!0;const M=()=>{jc(t).then(se=>{F||(N(se),k(!1))})},ne=window.requestIdleCallback;ne?Q=ne(M,{timeout:1500}):Q=window.setTimeout(M,150)};if(!D||typeof IntersectionObserver>"u")return P(),()=>{F=!0};const I=new IntersectionObserver(M=>{for(const ne of M)if(ne.isIntersecting){I.disconnect(),P();break}},{rootMargin:"200px"});return I.observe(D),()=>{if(F=!0,I.disconnect(),Q!=null){const M=window.cancelIdleCallback;M?M(Q):clearTimeout(Q)}}},[t]),w)return e.jsx("div",{ref:C,"aria-hidden":"true",className:d||"pr-3 pb-2 mt-1",style:{minHeight:36}});if(o.length===0)return e.jsx("div",{"aria-hidden":"true",className:d||"pr-3 pb-2 mt-1",style:{minHeight:36}});const q=f!=null&&f>0?f:null,i=new Map;let ee=null;if(q!=null){for(const F of o){if(F.Preis==null||F.Preis<=0)continue;const Q=q-F.Preis;Q>0&&Q/q>=vc&&i.set(F.ArtikelNr,{savingsNet:Q,percent:Math.round(Q/q*100)}),F.Preis<((ee==null?void 0:ee.Preis)??1/0)&&(ee=F)}ee&&!i.has(ee.ArtikelNr)&&(ee=null)}const H=i.size>0&&ee!=null,pe=ee&&((ze=i.get(ee.ArtikelNr))==null?void 0:ze.savingsNet)||0,le=H?n(pe):0,Ie=H?i.get(ee.ArtikelNr).percent:0,ve=ee==null?void 0:ee.ArtikelNr;return x&&!p?e.jsx("div",{className:d||"pr-3 pb-2 mt-1 relative",children:e.jsxs("button",{onClick:F=>{F.stopPropagation(),T(!0)},className:H?"inline-flex items-center gap-1.5 rounded-full border px-2.5 py-1 max-w-full whitespace-nowrap transition-colors cursor-pointer border-primary/30 bg-primary/5 hover:bg-primary/10":"inl
64ine-flex items-center gap-1.5 rounded-full border px-2.5 py-1 max-w-full whitespace-nowrap transition-colors cursor-pointer border-border bg-muted/50 hover:bg-muted",title:H?`Bis zu ${le.toFixed(2).replace(".",",")} € (brutto) sparen`:"Alternativen anzeigen",children:[H?e.jsx(ms,{className:"h-3 w-3 shrink-0 text-primary"}):e.jsx(hn,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),e.jsxs("span",{className:H?"text-[11px] font-semibold text-primary":"text-[11px] font-semibold text-foreground",children:[e.jsxs("span",{className:"sm:hidden",children:[o.length," Alt."]}),H?e.jsxs("span",{className:"hidden sm:inline",children:[le.toFixed(2).replace(".",",")," € sparen"]}):e.jsxs("span",{className:"hidden sm:inline",children:[o.length," ",o.length===1?"Alternative":"Alternativen"," ansehen"]})]}),e.jsx(qt,{className:H?"h-3 w-3 shrink-0 text-primary":"h-3 w-3 shrink-0 text-muted-foreground"})]})}):e.jsx("div",{className:d||"pb-1 relative",children:e.jsxs("div",{className:`rounded-lg ${h?"p-1.5":"p-2.5"} ${x?"bg-muted/50 border border-border cursor-pointer":"border bg-card shadow-sm"}`,onClick:x?F=>{F.stopPropagation(),T(!1)}:void 0,children:[e.jsxs("div",{className:"flex items-center gap-1 mb-1.5 sm:mb-2 flex-wrap",children:[e.jsx(hn,{className:"h-3 w-3 sm:h-3.5 sm:w-3.5 shrink-0 text-muted-foreground"}),e.jsx("span",{className:`${h?"text-[10px] sm:text-xs":"text-xs"} font-semibold text-foreground`,children:h?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"sm:hidden",children:"Alternativen für"}),e.jsxs("span",{className:"hidden sm:inline",children:[o.length>1?v("alternative.availablePlural"):v("alternative.available")," ",v("alternative.for")]})]}):e.jsxs(e.Fragment,{children:[o.length>1?v("alternative.availablePlural"):v("alternative.available")," ",v("alternative.for")]})}),e.jsx(Z,{variant:"outline",className:`font-bold ${h?"text-[10px] sm:text-[11px]":"text-[11px]"} px-1.5 py-0 bg-background border-border text-foreground`,children:t}),!x&&!((fe=o[0])!=null&&fe.isAutoGenerated)&&!h&&e.jsxs("span",{className:"text-[10px] text-muted-foreground",children:["(",v("alternative.notInStock"),")"]}),x&&e.jsx("button",{onClick:F=>{F.stopPropagation(),T(!1)},className:"ml-auto text-muted-foreground hover:text-foreground transition-colors p-0.5","aria-label":"Alternativen einklappen",children:e.jsx(Zs,{className:"h-3.5 w-3.5"})})]}),H&&!h&&e.jsxs("div",{className:"mb-2 rounded-md border border-primary/30 bg-primary/5 px-2.5 py-1.5 flex items-center gap-2",children:[e.jsx(ms,{className:"h-4 w-4 shrink-0 text-primary"}),e.jsxs("div",{className:"min-w-0 flex-1 text-[11px] leading-tight",children:[e.jsxs("p",{className:"font-semibold text-primary",children:["Bis zu ",le.toFixed(2).replace(".",",")," € sparen",e.jsxs("span",{className:"ml-1 font-normal text-primary/80",children:["(–",Ie,"%)"]})]}),e.jsxs("p",{className:"text-[10px] text-primary/70 whitespace-nowrap",children:["inkl. ",c,"% MwSt. · (",pe.toFixed(2).replace(".",",")," € ",v("article.netto"),")"]})]})]}),e.jsx("div",{className:"space-y-2",children:o.map(F=>{const Q=F.Preis!=null?a(F.Preis):null,D=u.includes(F.ArtikelNr),P=H&&F.ArtikelNr===ve,I=i.get(F.ArtikelNr),M=!P&&!!I,ne=I?n(I.savingsNet):0;return e.jsxs("div",{className:`border rounded-lg transition-colors ${P?"bg-primary/5 border-primary/40 ring-1 ring-primary/20 hover:border-primary/60":M?"bg-muted/30 border-border hover:border-primary/30":x?"bg-background border-border hover:border-primary/30":"bg-card border-border hover:border-primary/30"}`,children:[e.jsxs("div",{className:`flex gap-2 items-start cursor-pointer ${h?"p-1.5 sm:p-2.5":"p-2 sm:p-2.5"}`,onClick:se=>{se.stopPropagation(),r(F.ArtikelNr)},children:[e.jsxs("div",{className:`relative shrink-0 ${h?"hidden sm:block sm:h-20 sm:w-20":"h-14 w-14 sm:h-20 sm:w-20"}`,children:[e.jsx(nt,{articleNumber:F.ArtikelNr,className:"h-full w-full rounded object-contain"}),F.MftLogo&&e.jsx("div",{className:"absolute bottom-0 left-0 z-10 bg-background/80 backdrop-blur-sm rounded-tr px-1 py-0.5",children:e.jsx(Le,{mftLogo:F.MftLogo,className:"h-3 sm:h-3.5 w-auto"})})]}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-x-1.5 gap-y-0.5",children:[e.jsxs("div",{className:"flex items-center gap-1.5 min-w-0 flex-wrap",children:[e.jsx(Z,{variant:"outline",className:"font-mono text-[11px] bg-background shrink min-w-0 max-w-full",children:e.jsxs("span",{className:"flex items-center gap-1 truncate",children:[e.jsx($t,{nr:F.ArtikelNr,className:"truncate"}),e.jsx(Vn,{articleNumber:F.ArtikelNr})]})}),h&&F.MftLogo&&e.jsx(Le,{mftLogo:F.MftLogo,className:"h-3 w-auto sm:hidden opacity-70"}),P&&e.jsxs(Z,{className:"text-[10px] px-1.5 py-0 gap-0.5 bg-primary text-primary-foreground border-primary",children:[e.jsx(ms,{className:"h-2.5 w-2.5"}),e.jsx("span",{className:h?"hidden sm:inline":"",children:"günstigste Alternative"}),e.jsx("span",{className:h?"sm:hidden":"hidden",children:"günstigste"})]}),M&&e.jsxs(Z,{variant:"outline",className:"text-[10px] px-1.5 py-0 gap-0.5 border-primary/30 text-primary bg-primary/5",children:[e.jsx(Gi,{className:"h-2.5 w-2.5"}),"−",I.percent,"%"]})]}),Q!=null&&e.jsxs("div",{className:`shrink-0 ${h?"w-full text-left sm:w-auto 
64sm:text-right":"text-right"}`,children:[e.jsxs("span",{className:"font-bold text-sm leading-tight whitespace-nowrap text-primary",children:[n(Q).toFixed(2).replace(".",",")," €"]}),h&&e.jsxs("div",{className:"text-[10px] font-normal text-muted-foreground whitespace-nowrap leading-none sm:hidden",children:["(",Number(Q).toFixed(2).replace(".",",")," € netto)"]}),e.jsxs("p",{className:`text-[10px] text-muted-foreground leading-none whitespace-nowrap ${h?"hidden sm:block":""}`,children:["inkl. ",c,"% MwSt."]}),e.jsxs("p",{className:`text-[10px] text-muted-foreground leading-none whitespace-nowrap ${h?"hidden sm:block":""}`,children:["(",Number(Q).toFixed(2).replace(".",",")," € ",v("article.netto"),")"]}),P&&e.jsxs("p",{className:`text-[10px] font-semibold text-primary leading-none whitespace-nowrap mt-0.5 ${h?"hidden sm:block":""}`,children:["−",le.toFixed(2).replace(".",",")," € (−",Ie,"%)"]}),M&&e.jsxs("p",{className:`text-[10px] font-semibold text-primary leading-none whitespace-nowrap mt-0.5 ${h?"hidden sm:block":""}`,children:["−",ne.toFixed(2).replace(".",",")," € (−",I.percent,"%)"]})]})]}),e.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5 line-clamp-2",children:F.Bezeichnung||F.BemerkungDE}),F.dimensions&&Object.keys(F.dimensions).length>0&&(()=>{const se=Object.entries(F.dimensions).filter(([,oe])=>oe).map(([oe,he])=>({label:fc[oe]||oe,val:he}));return se.length?e.jsx("div",{className:`flex flex-wrap gap-x-2 gap-y-0 mt-0.5 text-[10px] text-muted-foreground ${h?"hidden sm:flex":""}`,children:se.map((oe,he)=>e.jsxs("span",{children:[oe.label,": ",e.jsx("span",{className:"font-medium text-foreground",children:oe.val})]},he))}):null})()]})]}),e.jsxs("div",{className:`${h?"flex flex-col gap-1.5 sm:flex-row sm:items-center sm:justify-between":"flex flex-wrap items-center justify-between"} gap-1.5 px-2 sm:px-2.5 pb-2 pt-1.5 border-t border-border`,onClick:se=>se.stopPropagation(),children:[e.jsx("div",{className:`${h?"w-full sm:flex-1 sm:min-w-0":"flex-1 min-w-0"}`,children:e.jsx(pt,{stock:F.stock,showFallback:!0,articleNumber:F.ArtikelNr})}),e.jsxs("div",{className:`flex items-center ${h?"self-end sm:self-auto shrink-0":"shrink-0"}`,children:[e.jsx(Rt,{value:E(F.ArtikelNr),min:1,step:1,size:"sm",className:"rounded-r-none border-r-0",onCommit:se=>_(F.ArtikelNr,se)}),e.jsx(J,{variant:"default",className:`h-10 text-xs rounded-l-none px-2 ${D?"bg-primary hover:bg-primary/90":""}`,onClick:()=>s(F.ArtikelNr,E(F.ArtikelNr)),children:D?e.jsx(jt,{className:"h-3 w-3"}):e.jsx(He,{className:"h-3 w-3"})})]})]})]},F.ArtikelNr)})})]})})},cd=t=>{const r=ci();return t.hideOnMobile&&r?null:e.jsx(kc,{...t})},fr=new Map;function wc(t,r=8){const s=(t||"").trim().toUpperCase(),n=`${s}:${r}`,[a,d]=m.useState(()=>fr.get(n)||[]);return m.useEffect(()=>{if(!s)return;if(fr.has(n)){d(fr.get(n));return}let u=!1;return fetch(`https://wlxniolwgjapqrebsyjp.supabase.co/functions/v1/get-article-oe-numbers?nr=${encodeURIComponent(s)}&limit=${r}`,{headers:{apikey:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6IndseG5pb2x3Z2phcHFyZWJzeWpwIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzE5MjQxNTgsImV4cCI6MjA4NzUwMDE1OH0.NUO0jXZMywnKq7eambz1Ln3YhbYDz4uPYu8OtsiWaJY"}}).then(x=>x.ok?x.json():null).then(x=>{if(u||!(x!=null&&x.success))return;const f=Array.isArray(x.oe)?x.oe:[];fr.set(n,f),d(f)}).catch(()=>{}),()=>{u=!0}},[s,r,n]),a}const yc=/^(\/artikel\/[^/]+|\/dasbeste\/artikel\/[^/]+)\/?$/,Sc=()=>{const{artikelNr:t}=ja(),r=va(),s=En(),[n,a]=m.useState(!0),[d,u]=m.useState(!1),[c,x]=m.useState(!1),f=m.useRef(Date.now()),h=(t||"").toUpperCase();m.useEffect(()=>{f.current=Date.now(),a(!0),x(!1),u(!1)},[h]),m.useEffect(()=>{var p;h.startsWith("WGDB")&&r(`/dasbeste/artikel/${encodeURIComponent(h.slice(4))}`,{replace:!0,state:{backgroundLocation:(p=s.state)==null?void 0:p.backgroundLocation}})},[h,r]);const{isExcluded:v}=pc("global"),y=v(h);m.useEffect(()=>{y&&x(!0)},[y]);const o=m.useCallback(()=>{x(!0)},[]),N=wc(c||y?null:h,8),{seoTitle:w,seoDescription:k,seoKeywords:b,oeJsonLd:l}=m.useMemo(()=>{const j=N.slice(0,3).map(_=>_.nr).join(", "),S=N.slice(0,5).map(_=>`${_.hersteller} ${_.nr}`).join(", "),T=c?`${h} – Artikel nicht gefunden | Wismet Filtershop`:j?`${h} kaufen – Ersatz für ${j} | Wismet`:`${h} kaufen – Filter & Ersatzteile | Wismet`,$=c?`Der Artikel ${h} ist aktuell nicht verfügbar. Finden Sie passende Alternativen im Wismet Filtershop.`:S?`Artikel ${h} bei Wismet: baugleicher Ersatz für ${S}. Mit Preis, Verfügbarkeit und Sofort-Versand aus Deutschland.`:`Artikel ${h} bei Wismet bestellen. Preis, Verfügbarkeit, OE-Vergleichsnummern und passende Fahrzeuge. Schneller Versand aus Deutschland.`,C=c?void 0:[h,`${h} Filter`,`${h} kaufen`,`${h} Preis`,`${h} Ersatzteil`,...N.slice(0,8).flatMap(_=>[_.nr,`${_.hersteller} ${_.nr}`])].join(", "),E=!c&&N.length>0?[{"@context":"https://schema.org","@type":"Thing",identifier:h,name:`${h} – OE-Vergleichsnummern`,url:`${br}/artikel/${encodeURIComponent(h)}`,description:`Wismet-Artikel ${h} ist baugleicher Ersatz für die aufgelisteten Original-Teilenummern.`,additionalProperty:N.map(_=>({"@type":"PropertyValue",name:`OE-Nr ${_.hersteller}`,value:_.nr})),sameAs:N.slice(0,10).map(_=>`${br}${Qi(_.nr)}`)}]:void 0;return{seoTitle:T,seoDescription:$,seoKeywords:C,oeJsonLd:E}},[h,c,N]);return Us({title:w,description:k,canonical:`${br}/artikel/${encodeURIComponent(h)}`,noIndex:c,keywords:b,jsonLd:l,breadcrumbs:[{name:"Startseite",url:"/"},{name:"Filter & Ersatzteile",url:"/search"},{name:h,url:`/artikel/${encodeURIComponent(h)}`}],pageType:"ItemPage"}),m.useEffect(()=>{if(!h||d||!Xi()||!el())return;const p=tl(h);if(p){if(console.log("[Artikel] bridged to Industriefilter:",p),u(!0),window.opener)try{window.close();return}catch{}r("/industriefilter",{replace:!0})}},[h,r,d]),t?d?null:e.jsxs("div",{className:"min-h-[50vh]",children:[!c&&e.jsxs("h1",{className:"sr-only",children:["Artikel ",h," – Filter & Ersatzteile bei Wismet kaufen"]}),!y&&e.jsx(Br,{articleNumber:h,open:n,referenceInfo:"per Artikellink",enableSeoJsonLd:!0,onArticleNotFound:o,onOpenChange:p=>{var j;if(!p){if(Date.now()-f.current<400)return;a(!1);const S=(j=s.state)==null?void 0:j.backgroundLocation;if(S!=null&&S.pathname&&!yc.test(S.pathname)){r(`${S.pathname}${S.search||""}${S.hash||""}`,{replace:!0});return}const T=s.key!=="default"&&window.history.length>1;r(T?-1:"/")}}}),(c||y)&&e.jsx("div",{className:"flex items-center justify-center py-24",children:e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"mb-4 text-4xl font-bold",children:"Artikel nicht gefunden"}),e.jsxs("p",{className:"mb-4 text-xl text-muted-foreground",children:["Der Artikel ",e.jsx("strong",{children:h})," ist leider nicht verfügbar."]}),e.jsxs("div",{className:"flex gap-3 justify-center",children:[e.jsx(je,{to:"/search",children:e.jsx(J,{children:"Zur Suche"})}),e.jsx(je,{to:"/",children:e.jsx(J,{variant:"outline",children:"Zur Startseite"})})]})]})})]}):(r("/"),null)},dd=Object.freeze(Object.defineProperty({__proto__:null,default:Sc}
64,Symbol.toStringTag,{value:"Module"})),Cn=[.22,1,.36,1],zc=[{article_number:"WHE42783",title:"WHE42783 – Jetzt im Angebot",badge_text:"Aktuelles Wochenangebot"},{article_number:"WFS106936",title:"WFS106936 – Jetzt im Angebot",badge_text:"Aktuelles Wochenangebot"},{article_number:"WFS106937",title:"WFS106937 – Jetzt im Angebot",badge_text:"Aktuelles Wochenangebot"},{article_number:"WFU14108",title:"WFU14108 – Jetzt im Angebot",badge_text:"Aktuelles Wochenangebot"}],Ac=()=>{Se();const[t,r]=m.useState({}),[s,n]=m.useState(zc),[a,d]=m.useState(null),[u,c]=m.useState({});m.useEffect(()=>{(async()=>{try{const{data:f}=await me.from("app_settings").select("setting_value").eq("setting_key","premium_landing_articles").single();if(f!=null&&f.setting_value){const h=JSON.parse(f.setting_value);Array.isArray(h)&&h.length>0&&n(h)}}catch{}})()},[]),m.useEffect(()=>{const f=s.filter(y=>y.article_number).map(y=>y.article_number.toUpperCase()),h=[...new Set(f)];if(h.length===0)return;const v=h.filter(y=>!t[y]);v.length>0&&xt("resolve-article-images",{body:{article_numbers:v},silent:!0}).then(({data:y})=>{y!=null&&y.results&&r(o=>{const N={...o};for(const[w,k]of Object.entries(y.results))k!=null&&k.image_url&&(N[w]=k.image_url);return N})}).catch(()=>{}),me.functions.invoke("lookup-cross-refs",{body:{article_numbers:h,manufacturers:["John Deere","Donaldson"]}}).then(({data:y})=>{y!=null&&y.results&&c(y.results)}).catch(()=>{})},[s]),Us({title:"Premium-Filter für Land- & Schleppertechnik | Wismet",description:"Entdecken Sie unsere Premium-Filterauswahl für Land- und Schleppertechnik. Top-Marken, OE-Qualität, schnelle Lieferung.",canonical:`${br}/premium-filter-landtechnik`,breadcrumbs:[{name:"Startseite",url:"/"},{name:"Premium-Filter Landtechnik",url:"/premium-filter-landtechnik"}]});const x=["OE-Erstausrüsterqualität","Schnelle Lieferung ab Lager","Top-Marken: Donaldson, MANN-FILTER, Hengst & mehr","Passgenau für Traktoren, Schlepper & Erntemaschinen","Kompetente Beratung","Faire Preise für Landwirte & Betriebe"];return e.jsxs(e.Fragment,{children:[e.jsx(di,{items:[{label:"Premium-Filter Landtechnik"}]}),e.jsxs("section",{className:"relative overflow-hidden bg-gradient-to-br from-[#1a5c1a] via-[#2d7a2d] to-[#3d9a3d]",children:[e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,rgba(255,255,255,0.08),transparent_60%)]"}),e.jsx("div",{className:"container mx-auto max-w-6xl px-4 py-10 sm:py-16 md:py-24 relative z-10",children:e.jsx(mr.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:Cn},children:e.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 bg-white/10 backdrop-blur-sm text-white/90 px-4 py-1.5 rounded-full text-xs font-semibold mb-4",children:[e.jsx(Dn,{className:"h-4 w-4"})," Premium-Auswahl"]}),e.jsxs("h1",{className:"text-2xl sm:text-3xl md:text-5xl font-black text-white mb-4 leading-tight",children:["Premium-Filter für",e.jsx("br",{}),e.jsx("span",{className:"text-green-300",children:"Land- & Schleppertechnik"})]}),e.jsx("p",{className:"text-white/70 text-base md:text-lg leading-relaxed max-w-xl mx-auto mb-6",children:"Unsere aktuellen Empfehlungen – hochwertige Filter in OE-Qualität für Ihre Landmaschinen. Jetzt entdecken und profitieren."}),e.jsxs(je,{to:"/search",className:"inline-flex items-center gap-2 bg-white text-[#1a5c1a] px-6 py-3 rounded-xl font-bold text-sm hover:bg-white/90 transition-colors shadow-lg",children:[e.jsx(at,{className:"h-4 w-4"})," Alle Filter durchsuchen ",e.jsx(Me,{className:"h-4 w-4"})]})]})})})]}),e.jsxs("section",{className:"container mx-auto max-w-6xl px-4 py-10 sm:py-14 md:py-20",children:[e.jsxs(mr.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:"text-center mb-10",children:[e.jsx("h2",{className:"text-xl sm:text-2xl md:text-3xl font-bold text-foreground mb-2",children:"Aktuell empfohlene Filter"}),e.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:"Diese Artikel sind derzeit besonders gefragt und sofort lieferbar."})]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-
645",children:s.map((f,h)=>{var l;const v=(l=f.article_number)==null?void 0:l.toUpperCase(),y=v?t[v]:void 0,o=v?u[v]:void 0,N=v.replace(/[^A-Z0-9]/g,""),w=p=>p.replace(/[^A-Za-z0-9]/g,"").toUpperCase()!==N,k=f.oe_number||(o?Object.entries(o).filter(([p])=>p.toUpperCase().includes("JOHN DEERE")||p.toUpperCase().includes("DEERE")).flatMap(([,p])=>p).filter(w)[0]:"")||"",b=f.donaldson_number||(o?Object.entries(o).filter(([p])=>p.toUpperCase().includes("DONALDSON")).flatMap(([,p])=>p).filter(w)[0]:"")||"";return e.jsx(mr.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:h*.08,ease:Cn},children:e.jsxs("button",{onClick:()=>d(f.article_number.toUpperCase()),className:"group block w-full text-left border border-border rounded-2xl overflow-hidden hover:border-[#2d7a2d]/40 hover:shadow-xl transition-all bg-background",children:[e.jsx("div",{className:"aspect-square bg-muted/30 p-4 flex items-center justify-center overflow-hidden",children:y?e.jsx("img",{src:y,alt:f.title,className:"max-h-full max-w-full object-contain transition-transform duration-500 group-hover:scale-105",loading:"lazy"}):e.jsx("div",{className:"text-muted-foreground text-xs",children:"Bild wird geladen…"})}),e.jsxs("div",{className:"p-4 border-t border-border",children:[f.badge_text&&e.jsx("span",{className:"inline-block bg-destructive text-destructive-foreground text-[10px] font-bold uppercase tracking-wider px-2 py-0.5 rounded mb-2",children:f.badge_text}),e.jsx("h3",{className:"font-bold text-foreground text-sm leading-tight mb-1",children:f.title}),(k||b)&&e.jsxs("div",{className:"mt-1.5 space-y-0.5",children:[k&&e.jsxs("p",{className:"text-[11px] text-muted-foreground",children:[e.jsx("span",{className:"font-semibold text-foreground/70",children:"OE (John Deere):"})," ",k]}),b&&e.jsxs("p",{className:"text-[11px] text-muted-foreground",children:[e.jsx("span",{className:"font-semibold text-foreground/70",children:"Donaldson:"})," ",b]})]}),e.jsxs("span",{className:"inline-flex items-center gap-1 text-xs font-semibold text-[#2d7a2d] mt-2 group-hover:underline",children:["Zum Artikel ",e.jsx(Me,{className:"h-3 w-3"})]})]})]})},f.article_number+h)})})]}),e.jsx("section",{className:"bg-muted/30 border-y border-border",children:e.jsxs("div",{className:"container mx-auto max-w-6xl px-4 py-14",children:[e.jsx("h2",{className:"text-2xl font-bold text-foreground text-center mb-8",children:"Warum Filter bei Wismet kaufen?"}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-3",children:x.map((f,h)=>e.jsxs(mr.div,{initial:{opacity:0,x:-10},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{delay:h*.06},className:"flex items-center gap-3 bg-background border border-border rounded-xl p-4",children:[e.jsx(Pe,{className:"h-5 w-5 text-[#2d7a2d] flex-shrink-0"}),e.jsx("span",{className:"text-sm font-medium text-foreground",children:f})]},h))})]})}),e.jsx("section",{className:"bg-gradient-to-r from-[#1a5c1a] to-[#3d9a3d]",children:e.jsxs("div",{className:"container mx-auto max-w-4xl px-4 py-14 text-center",children:[e.jsx("h2",{className:"text-xl md:text-2xl font-bold text-white mb-3",children:"Jetzt Premium-Filter bestellen"}),e.jsx("p",{className:"text-white/70 mb-6 max-w-lg mx-auto text-sm",children:"Profitieren Sie von schneller Lieferung und kompetenter Beratung – direkt bei Wismet."}),e.jsxs("div",{className:"flex flex-wrap gap-3 justify-center",children:[e.jsxs(je,{to:"/search",className:"inline-flex items-center gap-2 bg-white text-[#1a5c1a] px-6 py-3 rounded-xl font-semibold text-sm hover:bg-white/90 transition-colors shadow-lg",children:[e.jsx(at,{className:"h-4 w-4"})," Filter suchen"]}),e.jsxs(je,{to:"/cross",className:"inline-flex items-center gap-2 bg-white/10 border border-white/20 text-white px-6 py-3 rounded-xl font-semibold text-sm hover:bg-white/20 transition-colors",children:["Cross-Referenz ",e.jsx(Me,{className:"h-4 w-4"})]})]})]})}),a&&e.jsx(Br,{articleNumber:a,open:!!a,onOpenChange:f=>{f||d(null)}})]})},md=Object.freeze(Object.defineProperty({__proto__:null,default:Ac},Symbol.toStringTag,{value:"Module"})),Ut=[{value:"neu",label:"Neu",cls:"bg-amber-100 text-amber-800 border-amber-300",dot:"bg-
64amber-500"},{value:"in_klaerung",label:"In Klärung",cls:"bg-sky-100 text-sky-800 border-sky-300",dot:"bg-sky-500"},{value:"aktiv",label:"Aktiv",cls:"bg-emerald-100 text-emerald-800 border-emerald-300",dot:"bg-emerald-500"},{value:"pausiert",label:"Pausiert",cls:"bg-slate-100 text-slate-700 border-slate-300",dot:"bg-slate-400"},{value:"abgelehnt",label:"Abgelehnt",cls:"bg-rose-100 text-rose-800 border-rose-300",dot:"bg-rose-500"},{value:"gekuendigt",label:"Gekündigt",cls:"bg-zinc-200 text-zinc-700 border-zinc-300",dot:"bg-zinc-500"}],Cc=t=>Ut.find(r=>r.value===t)||Ut[0];function Yn({item:t}){const r=ui(),s=hi(),[n,a]=m.useState(null),[d,u]=m.useState(t.status),[c,x]=m.useState(t.admin_note||""),[f,h]=m.useState(t.next_shipment_date||""),v=Cc(t.status),y=t.status==="abgelehnt"||t.status==="gekuendigt",o=d!==t.status||c!==(t.admin_note||"")||f!==(t.next_shipment_date||""),N=async()=>{try{await r.mutateAsync({id:t.id,patch:{status:d,admin_note:c.trim()?c.trim():null,next_shipment_date:f||null}}),qe.success("Gespeichert")}catch(k){qe.error((k==null?void 0:k.message)||"Speichern fehlgeschlagen")}},w=async()=>{try{await s.mutateAsync(t.id),qe.success("Anfrage gelöscht")}catch(k){qe.error((k==null?void 0:k.message)||"Löschen fehlgeschlagen")}};return e.jsxs(Be,{className:"p-4 border-l-4 border-l-violet-500 border-dashed",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3 mb-3",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"font-semibold",children:[t.customer_name||t.customer_email,t.company&&e.jsxs("span",{className:"text-slate-500 font-normal",children:[" · ",t.company]})]}),e.jsxs("div",{className:"text-xs text-slate-500 flex flex-wrap gap-3 mt-1",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Bn,{className:"w-3 h-3"})," ",t.customer_email]}),t.phone&&e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Mn,{className:"w-3 h-3"})," ",t.phone]}),e.jsxs("span",{children:["Eingegangen: ",new Date(t.created_at).toLocaleString("de-DE")]})]})]}),e.jsx(Z,{variant:"outline",className:v.cls,children:v.label})]}),e.jsx("div",{className:"rounded-lg border border-slate-200 bg-white overflow-hidden mb-3",children:e.jsx("div",{className:"divide-y divide-slate-100",children:t.machines.map((k,b)=>{const l=Number(k.interval_months)||0,p=l>0?`alle ${l} Monate`:k.interval_note?`Freier Takt: ${k.interval_note}`:"Einmalig",j=t.status!=="abgelehnt"&&t.status!=="gekuendigt",S=t.next_shipment_date?new Date(t.next_shipment_date):null,T=S??(j&&l>0?(()=>{const E=new Date;return E.setHours(0,0,0,0),E.setMonth(E.getMonth()+l),E})():null),$=j&&(t.status!=="aktiv"||!S),C=[];if(j&&T&&l>0)for(let E=0;E<4;E++){const _=new Date(T);_.setMonth(_.getMonth()+E*l),C.push(_)}else j&&T&&C.push(new Date(T));return e.jsxs("div",{className:"p-3",children:[e.jsxs("div",{className:"flex flex-wrap items-baseline justify-between gap-2 mb-1.5",children:[e.jsxs("div",{className:"font-semibold text-sm text-slate-900",children:[k.name,k.manufacturer&&e.jsxs("span",{className:"ml-1 text-xs font-normal text-slate-500",children:["· ",k.manufacturer]})]}),e.jsx(Z,{variant:"outline",className:"text-[10px] bg-slate-50",children:p})]}),Array.isArray(k.articles)&&k.articles.length>0?e.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:k.articles.map(E=>{var i;const _=k.article_notes&&k.article_notes[E.toUpperCase()]||"",q=Number((i=k.article_quantities)==null?void 0:i[E.toUpperCase()])||1;return e.jsxs("button",{type:"button",onClick:()=>a(E),title:_?`Bemerkung: ${_}`:"Artikel-Details anzeigen",className:"group flex items-start gap-2 pl-1 pr-2.5 py-1 rounded-lg border border-slate-200 bg-white hover:border-emerald-400 hover:bg-emerald-50/50 hover:shadow-sm transition text-left",children:[e.jsx("div",{className:"w-10 h-10 rounded-md bg-slate-50 border border-slate-100 overflow-hidden flex items-center justify-center shrink-0",children:e.jsx(nt,{articleNumber:E,className:"w-full h-full object-contain",disableClick:!0})}),e.jsxs("div",{className:"flex flex-col min-w-0",children:[e.jsxs("span",{className:"font-mono text-[11px] font-semibold text-slate-700 group-hover:text-emerald-700",children:[E,q>1&&e.jsxs("span",{className:"ml-1 text-emerald-700",children:["· ",q," Stück"]})]}),_&&e.jsxs("span",{className:"text-[10px] text-amber-800 bg-amber-50 border border-amber-200 rounded px-1 mt-0.5 max-w-[260px] truncate",children:["📝 ",_]})]})]},E)})}):e.jsx("div",{className:"text-[11px] text-slate-400 italic mt-1",children:"Keine Artikelnummern hinterlegt"}),C.length>0&&e.jsxs("div",{className:"mt-2.5",children:[e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-1.5",children:C.map((E,_)=>{const q=_===0;return e.jsxs("div",{className:`px-2 py-1.5 rounded text-center text-xs border ${q?"bg-emerald-600 text-white border-emerald-700 font-semibold":"bg-emerald-50/40 text-slate-700 border-emerald-200"}`,children:[e.jsx("div",{className:"text-[10px] uppercase opacity-80",children:q?"Nächste":`Lieferung ${_+1}`}),e.jsx("div",{children:E.toLocaleDateString("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"})})]},_)})}),$&&e.jsx("div",{className:"text-[10px] text-slate-500 italic mt-1 text-center",children:"Vorläufige Termine – wir bestätigen den genauen ersten Versandtag per E-Mail."})]})]},b)})})}),t.customer_note&&e.jsxs("div",{className:"text-sm p-2 rounded bg-amber-50 border border-amber-200 mb-3",children:[e.jsx("span",{className:"font-medium",children:"Kunden-Notiz:"})," ",t.customer_note]}),e.jsxs("div",{className:"grid sm:grid-cols-3 gap-3",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-slate-600 mb-1 block",children:"Status"}),e.jsxs(Ns,{value:d,onValueChange:k=>u(k),children:[e.jsx(ks,{children:e.jsx(ws,{})}),e.jsx(ys,{children:Ut.map(k=>e.jsx(Ss,{value:k.value,children:k.label},k.value))})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-slate-600 mb-1 block",children:"Nächster geplanter Versand"}),e.jsx(Qe,{type:"date",value:f,onChange:k=>h(k.target.value)})]}),e.jsxs("div",{className:"sm:col-span-3",children:[e.jsx("label",{className:"text-xs text-slate-600 mb-1 block",children:"Interne / Kunden-Notiz (für Kunde sichtbar!)"}),e.jsx(xi,{rows:2,value:c,onChange:k=>x(k.target.value)})]})]}),e.jsxs("div",{className:"mt-3 flex justify-between items-center gap-2",children:[y?e.jsxs(gi,{children:[e.jsx(pi,{asChild:!0,children:e.jsxs(J,{size:"sm",variant:"outline",className:"text-rose-600 border-rose-300 hover:bg-rose-50",children:[e.jsx(qi,{className:"w-3 h-3 mr-1"})," Endgültig löschen"]})}),e.jsxs(fi,{children:[e.jsxs(bi,{children:[e.jsx(ji,{children:"Filter-Abo Anfrage löschen?"}),e.jsxs(vi,{children:["Diese ",v.label,"-Anfrage von ",e.jsx("strong",{children:t.customer_name||t.customer_email})," wird unwiderruflich gelöscht."]})]}),e.jsxs(Ni,{children:[e.jsx(ki,{children:"Abbrechen"}),e.jsx(wi,{onClick:w,className:"bg-rose-600 hover:bg-rose-700",children:"Endgültig löschen"})]})]})]}):e.jsx("span",{}),e.jsxs(J,{size:"sm",disabled:!o||r.isPending,onClick:N,children:[r.isPending?e.jsx(Je,{className:"w-3 h-3 mr-1 animate-spin"}):e.jsx(Ji,{className:"w-3 h-3 mr-1"}),"Speichern"]})]}),n&&e.jsx(Br,{articleNumber:n,open:!!n,onOpenChange:k=>{k||a(null)}})]})}function Ec({customerKey:t,items:r,defaultOpen:s}){const[n,a]=m.useState(s),d=r[0],u=r.filter(x=>x.status==="aktiv"||x.status==="neu"||x.status==="in_klaerung").length,c=r.length-u;return e.jsxs(Be,{className:"border border-slate-200 overflow-hidden",children:[e.jsxs("button",{type:"button",onClick:()=>a(x=>!x),className:"w-full flex items-center justify-between gap-3 px-4 py-3 bg-slate-50 hover:bg-slate-100 transition text-left",children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[n?e.jsx(qt,{className:"w-4 h-4 text-slate-500 shrink-0"}):e.jsx(Me,{className:"w-4 h-4 text-slate-500 shrink-0"}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"font-semibold truncate",children:[d.customer_name||d.customer_email,d.
64company&&e.jsxs("span",{className:"text-slate-500 font-normal",children:[" · ",d.company]})]}),e.jsxs("div",{className:"text-xs text-slate-500 flex flex-wrap gap-3 mt-0.5",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Bn,{className:"w-3 h-3"})," ",d.customer_email]}),d.phone&&e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Mn,{className:"w-3 h-3"})," ",d.phone]})]})]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[e.jsxs(Z,{variant:"outline",children:[r.length," Anfrage",r.length===1?"":"n"]}),u>0&&e.jsxs(Z,{className:"bg-emerald-100 text-emerald-800 border border-emerald-300",children:[u," offen"]}),c>0&&e.jsxs(Z,{variant:"outline",className:"bg-zinc-100 text-zinc-600",children:[c," archiviert"]})]})]}),n&&e.jsx("div",{className:"p-3 space-y-3 bg-white",children:r.map(x=>e.jsx(Yn,{item:x},x.id))})]})}function _c(){Us({title:"Admin: Filter-Abo Anfragen | Wismet",description:"Verwaltung der Filter-Abo Anfragen",noIndex:!0});const{isAdmin:t,loading:r}=Lr(),{data:s=[],isLoading:n,refetch:a,isFetching:d}=mi(),[u,c]=m.useState("all"),[x,f]=m.useState(""),[h,v]=m.useState("status"),y=m.useMemo(()=>Ut.reduce((w,k)=>(w[k.value]=s.filter(b=>b.status===k.value).length,w),{}),[s]),o=m.useMemo(()=>{const w=x.trim().toLowerCase();return s.filter(k=>u!=="all"&&k.status!==u?!1:w?(k.customer_name||"").toLowerCase().includes(w)||(k.company||"").toLowerCase().includes(w)||k.customer_email.toLowerCase().includes(w)||(k.phone||"").toLowerCase().includes(w)||k.machines.some(b=>(b.name||"").toLowerCase().includes(w)||(b.manufacturer||"").toLowerCase().includes(w)||b.articles.some(l=>l.toLowerCase().includes(w))):!0)},[s,u,x]),N=m.useMemo(()=>{const w=new Map;for(const b of o){const l=b.auth_uid||b.customer_email,p=w.get(l)||[];p.push(b),w.set(l,p)}const k={neu:0,in_klaerung:1,aktiv:2,pausiert:3,gekuendigt:4,abgelehnt:5};for(const b of w.values())b.sort((l,p)=>{const j=(k[l.status]??9)-(k[p.status]??9);return j!==0?j:new Date(p.created_at).getTime()-new Date(l.created_at).getTime()});return Array.from(w.entries()).sort((b,l)=>{const p=(b[1][0].customer_name||b[1][0].company||b[1][0].customer_email).toLowerCase(),j=(l[1][0].customer_name||l[1][0].company||l[1][0].customer_email).toLowerCase();return p.localeCompare(j,"de")})},[o]);return r?e.jsx("div",{className:"p-10 text-center",children:e.jsx(Je,{className:"w-5 h-5 animate-spin inline"})}):t?e.jsxs("div",{className:"container mx-auto px-4 py-8 max-w-6xl",children:[e.jsxs("div",{className:"mb-6 flex items-center justify-between flex-wrap gap-3",children:[e.jsxs("div",{children:[e.jsxs(je,{to:"/admin/settings",className:"text-sm text-slate-500 hover:text-slate-900 inline-flex items-center gap-1 mb-2",children:[e.jsx(Ki,{className:"w-3 h-3"})," Admin-Übersicht"]}),e.jsxs("h1",{className:"text-2xl font-bold flex items-center gap-2",children:[e.jsx(ft,{className:"w-6 h-6 text-violet-600"}),"Filter-Abo Anfragen",e.jsx(Z,{variant:"outline",className:"ml-2",children:s.length})]}),e.jsxs("p",{className:"text-sm text-slate-600 mt-1",children:["Predictive-Maintenance Anmeldungen. Versand erfolgt aktuell ",e.jsx("strong",{children:"manuell"}),"."]})]}),e.jsxs(J,{variant:"outline",size:"sm",onClick:()=>a(),disabled:d,children:[e.jsx(Wt,{className:`w-3 h-3 mr-1 ${d?"animate-spin":""}`})," Aktualisieren"]})]}),e.jsxs("div",{className:"flex flex-wrap gap-2 mb-3",children:[e.jsxs(J,{size:"sm",variant:u==="all"?"default":"outline",onClick:()=>c("all"),children:["Alle ",e.jsxs("span",{className:"ml-1 opacity-70",children:["(",s.length,")"]})]}),Ut.map(w=>e.jsxs(J,{size:"sm",variant:u===w.value?"default":"outline",onClick:()=>c(w.value),children:[e.jsx("span",{className:`w-2 h-2 rounded-full mr-1.5 ${w.dot}`}),w.label," ",e.jsxs("span",{className:"ml-1 opacity-70",children:["(",y[w.value]||0,")"]})]},w.value))]}),e.jsx("div",{className:"mb-4",children:e.jsx(Qe,{placeholder:"Suche nach Name, Firma, E-Mail, Telefon, Maschine oder Artikelnummer…",value:x,onChange:w=>f(w.target.value),className:"max-w-xl"})}),e.jsxs(Gt,{value:h,onValueChange:w=>v(w),className:"w-full",children:[e.jsxs(st,{className:"mb-4",children:[e.jsxs(W,{value:"status",className:"gap-1.5",children:[e.jsx(Ui,{className:"w-4 h-4"})," Liste (nach Status)"]}),e.jsxs(W,{value:"customer",className:"gap-1.5",children:[e.jsx(yr,{className:"w-4 h-4"})," Gruppiert nach Kunde",e.jsx(Z,{variant:"outline",className:"ml-1",children:N.length})]})]}),e.jsx(de,{value:"status",className:"mt-0",children:n?e.jsx("div",{className:"text-center py-10",children:e.jsx(Je,{className:"w-5 h-5 animate-spin inline"})}):o.length===0?e.jsxs(Be,{className:"p-10 text-center text-slate-500",children:[e.jsx(Zi,{className:"w-10 h-10 mx-auto mb-3 opacity-30"}),"Keine Anfragen gefunden."]}):e.jsx("div",{className:"space-y-4",children:o.map(w=>e.jsx(Yn,{item:w},w.id))})}),e.jsx(de,{value:"customer",className:"mt-0",children:n?e.jsx("div",{className:"text-center py-10",children:e.jsx(Je,{className:"w-5 h-5 animate-spin inline"})}):N.length===0?e.jsxs(Be,{className:"p-10 text-center text-slate-500",children:[e.jsx(yr,{className:"w-10 h-10 mx-auto mb-3 opacity-30"}),"Keine Kunden gefunden."]}
64):e.jsx("div",{className:"space-y-3",children:N.map(([w,k])=>e.jsx(Ec,{customerKey:w,items:k,defaultOpen:N.length<=5},w))})})]})]}):e.jsx("div",{className:"p-10 text-center text-rose-600",children:"Zugriff nur für Admins."})}const ud=Object.freeze(Object.defineProperty({__proto__:null,default:_c},Symbol.toStringTag,{value:"Module"}));export{Br as A,Kc as B,Vn as C,Uc as D,Zc as E,Qc as F,To as G,dd as H,ud as I,md as P,$l as S,od as a,dl as b,co as c,pc as d,Tl as e,id as f,cd as g,io as h,Hl as i,ld as j,jo as k,ao as l,Rl as m,Jc as n,mo as o,Bo as p,On as q,rd as r,Yc as s,ad as t,qc as u,sd as v,nd as w,Xc as x,ed as y,td as z};

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.