PageSourceSearch

https://wilde-metallbau.de/assets/CalculatorTab-k4ogf9k-.js

js wilde-metallbau.de collected 2026-10-04 13:40:30 UTC 7,245 bytes, 1 lines download raw bytes

1import{j as e}from"./index-DpvbCM25.js";function G({calcBrievenbusKey:p,calcData:d,calcInclBtw:u,calcInkoopUsd:k,calcPakketKey:h,calcVerkoopMaster:o,calcVerkoopPerKanaal:i,setCalcBrievenbusKey:C,setCalcInclBtw:E,setCalcInkoopUsd:P,setCalcPakketKey:T,setCalcVerkoopMaster:L,setCalcVerkoopPerKanaal:g}){var w,_,F;if(!d)return e.jsx("div",{className:"space-y-4",children:e.jsx("div",{className:"rounded-2xl bg-white dark:bg-[#131c31] p-8 text-center text-slate-400",children:"Laden..."})});const j=parseFloat(k)||0,N=Number(d.usd_eur_rate)||.93,f=j*N,v=Number(((w=d.vat_defaults)==null?void 0:w.NL)??21),b=((_=d.intime_rates.find(s=>s.key===p))==null?void 0:_.rate)??0,R=((F=d.intime_rates.find(s=>s.key===h))==null?void 0:F.rate)??0,W=(s,t,a,l)=>{const x=u?s/(1+v/100):s,n=x,r=f*a,m=x*(t.fee_percent/100)+Number(t.fixed_fee||0),z=l>0?l:Number(t.shipping_cost||0),S=Number(t.extra_cost||0),$=n-r-m-z-S,A=n>0?$/n*100:0;return{omzet:n,inkoopTotaal:r,fee:m,verzend:z,extra:S,marge:$,margePct:A}},c=[{stuks:1,label:"1 stuk",rate:b},{stuks:2,label:"2 stuks",rate:b},{stuks:10,label:"10 stuks",rate:b},{stuks:20,label:"20 stuks",rate:R}],y=s=>s>=20?"text-green-600 dark:text-green-400":s>=10?"text-amber-600 dark:text-amber-400":s>=0?"text-red-500":"text-red-700 font-bold",q=(s,t)=>{var r;const a=String(t),l=(r=i[s])==null?void 0:r[a],x=o[a];return parseFloat(l!==void 0&&l!==""?l:x??"")||0};return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"rounded-2xl bg-white dark:bg-[#131c31] p-5 shadow-sm space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-slate-500 block mb-1",children:"Inkoopprijs USD ($, per stuk)"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"number",step:"0.01",value:k,onChange:s=>P(s.target.value),placeholder:"0.00",className:"w-full rounded-lg border border-slate-300 px-3 py-2 text-sm dark:border-slate-600 dark:bg-slate-800"}),e.jsxs("span",{className:"text-xs text-slate-400 whitespace-nowrap",children:["× ",N.toFixed(4)]})]}),e.jsxs("div",{className:"text-xs text-slate-500 mt-1",children:["≈ € ",f.toFixed(4)," per stuk"]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-slate-500 block mb-1",children:"Brievenbus tarief (1/2/10 stuks)"}),e.jsx("select",{value:p,onChange:s=>C(s.target.value),className:"w-full rounded-lg border border-slate-300 px-3 py-2 text-sm dark:border-slate-600 dark:bg-slate-800",children:d.intime_rates.map(s=>e.jsxs("option",{value:s.key,children:[s.label," - €",s.rate.toFixed(2)]},s.key))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-slate-500 block mb-1",children:"Pakket tarief (20 stuks)"}),e.jsx("select",{value:h,onChange:s=>T(s.target.value),className:"w-full rounded-lg border border-slate-300 px-3 py-2 text-sm dark:border-slate-600 dark:bg-slate-800",children:d.intime_rates.map(s=>e.jsxs("option",{value:s.key,children:[s.label," - €",s.rate.toFixed(2)]},s.key))})]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 border-t border-slate-200 dark:border-slate-700 pt-4",children:[e.jsxs("label",{className:"flex items-center gap-2 text-sm cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:u,onChange:s=>E(s.target.checked),className:"rounded"}),e.jsxs("span",{children:["Verkoopprijzen zijn incl. BTW (",v,"%)"]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsx("span",{className:"text-xs text-slate-500",children:"Staffelprijzen (alle kanalen):"}),c.map(s=>{const t=String(s.stuks);return e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"text-xs text-slate-400 w-12 text-right",children:s.label}),e.jsx("input",{type:"number",step:"0.01",value:o[t]??"",onChange:a=>{L({...o,[t]:a.target.value}),g({})},placeholder:"0.00",className:"w-20 rounded border border-slate-300 px-2 py-1 text-sm dark:border-slate-600 dark:bg-slate-800"})]},s.stuks)})]})]})]}),e.jsxs("div",{className:"rounded-2xl bg-white dark:bg-[#131c31] shadow-sm overflow-hidden",children:[e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"min-w-full text-sm",children:[e.jsxs("thead",{children:[e.jsxs("tr",{className:"border-b border-slate-200 dark:border-slate-700 bg-slate-50 dark:bg-slate-800 text-left",children:[e.jsx("th",{className:"px-4 py-3 font-semibold",rowSpan:2,children:"Kanaal"}),c.map(s=>e.jsx("th",{className:"px-3 py-2 font-semibold text-center border-l border-slate-200 dark:border-slate-700",colSpan:2,children:s.label},s.stuks)),e.jsx("th",{className:"px-3 py-3 font-semibold text-xs text-slate-400 border-l border-slate-200 dark:border-slate-700",rowSpan:2,children:"Fees / Verzend / Extra"})]}),e.jsx("tr",{className:"border-b border-slate-200 dark:border-slate-700 bg-slate-50 dark:bg-slate-800 text-left text-[10px] text-slate-500",children:c.flatMap(s=>[e.jsx("th",{className:"px-2 py-1 font-normal text-right border-l border-slate-200 dark:border-slate-700",children:"Prijs"},`${s.stuks}-p`),e.jsx("th",{className:"px-2 py-1 font-normal text-right",children:"Marge"},`${s.stuks}-m`)])})]}),e.jsx("tbody",{children:d.channels.map(s=>
1e.jsxs("tr",{className:"border-b border-slate-100 dark:border-slate-800 hover:bg-slate-50 dark:hover:bg-slate-800/50",children:[e.jsx("td",{className:"px-4 py-2.5 font-semibold",children:s.name}),c.flatMap(t=>{var n;const a=String(t.stuks),l=q(s.code,t.stuks),x=((n=i[s.code])==null?void 0:n[a])??o[a]??"";return[e.jsx("td",{className:"px-2 py-2 text-right border-l border-slate-100 dark:border-slate-800",children:e.jsx("input",{type:"number",step:"0.01",value:x,onChange:r=>{const m=i[s.code]??{};g({...i,[s.code]:{...m,[a]:r.target.value}})},placeholder:"0.00",className:"w-20 rounded border border-slate-300 px-1.5 py-1 text-xs text-right dark:border-slate-600 dark:bg-slate-800"})},`${t.stuks}-p`),e.jsx("td",{className:"px-2 py-2 text-right",children:l<=0||j<=0?e.jsx("span",{className:"text-slate-300",children:"—"}):(()=>{const r=W(l,s,t.stuks,t.rate);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`font-semibold text-xs ${y(r.margePct)}`,children:["€ ",r.marge.toFixed(2)]}),e.jsxs("div",{className:`text-[10px] ${y(r.margePct)}`,children:[r.margePct.toFixed(1),"%"]})]})})()},`${t.stuks}-m`)]}),e.jsxs("td",{className:"px-3 py-2 text-xs text-slate-400 border-l border-slate-100 dark:border-slate-800",children:[s.fee_percent,"%",s.fixed_fee?` + €${s.fixed_fee.toFixed(2)}`:""," / €",s.shipping_cost.toFixed(2)," / €",s.extra_cost.toFixed(2)]})]},s.code))})]})}),e.jsxs("div",{className:"px-4 py-3 text-xs text-slate-400 border-t border-slate-200 dark:border-slate-700",children:["Kleurcodering: ",e.jsx("span",{className:"text-green-600",children:"≥ 20% marge"})," · ",e.jsx("span",{className:"text-amber-600",children:"10-20%"})," · ",e.jsx("span",{className:"text-red-500",children:"< 10%"})," · ",e.jsx("span",{className:"text-red-700 font-bold",children:"verlies"}),e.jsx("br",{}),"Fees en verzend/extra worden per order 1× gerekend; inkoop en omzet schalen met aantal stuks. Per kanaal per staffel afwijken kan door een eigen prijs te typen."]})]})]})}export{G as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.