(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,39964,e=>{"use strict";var t=e.i(43476),a=e.i(75157);e.s(["Card",0,function({className:e,...i}){return(0,t.jsx)("div",{className:(0,a.cn)("rounded-2xl border border-border bg-surface/90 shadow-lg shadow-black/10",e),...i})}])},50939,e=>{"use strict";var t=e.i(61238);async function a(){let{data:e}=await t.api.get("/api/vehicles");return e}async function i(e){let{data:a}=await t.api.get(`/api/vehicles/${e}`);return a}async function s(e){let{data:a}=await t.api.post("/api/vehicles",e);return a}async function r(e,a){let{data:i}=await t.api.patch(`/api/vehicles/${e}`,a);return i}async function l(e,a){let i=new FormData;i.append("image",a);let{data:s}=await t.api.post(`/api/vehicles/${e}/image`,i);return s}async function n(e){await t.api.delete(`/api/vehicles/${e}/image`)}async function c(e){let{data:a}=await t.api.get(`/api/vehicles/${e}/reminders`);return a}e.s(["createVehicle",0,s,"deleteVehicleImage",0,n,"getReminders",0,c,"getVehicle",0,i,"getVehicles",0,a,"updateVehicle",0,r,"uploadVehicleImage",0,l])},75967,e=>{"use strict";var t=e.i(61238);async function a(){let{data:e}=await t.api.get("/api/fleet/statistics");return e}async function i(e){let{data:a}=await t.api.get(`/api/vehicles/${e}/statistics/overview`);return a}async function s(e){let{data:a}=await t.api.get(`/api/vehicles/${e}/statistics/fuel-economy`);return a}async function r(e){let{data:a}=await t.api.get(`/api/vehicles/${e}/statistics/costs-over-time`);return a}e.s(["getCosts",0,r,"getFleetStatistics",0,a,"getFuelEconomy",0,s,"getOverview",0,i])},59208,e=>{"use strict";let t=(0,e.i(75254).default)("CalendarClock",[["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M17.5 17.5 16 16.3V14",key:"akvzfd"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]]);e.s(["CalendarClock",0,t],59208)},95468,e=>{"use strict";let t=(0,e.i(75254).default)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",0,t],95468)},18133,e=>{"use strict";var t=e.i(47167);e.s(["vehicleImageUrl",0,function(e){if(!e)return null;if(e.startsWith("http://")||e.startsWith("https://"))return e;if(e.startsWith("/media/")){let a=t.default.env.NEXT_PUBLIC_API_URL;return a?`${a}${e}`:e}return null}])},7233,e=>{"use strict";let t=(0,e.i(75254).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],7233)},94827,e=>{"use strict";let t=(0,e.i(75254).default)("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);e.s(["Gauge",0,t],94827)},13246,e=>{"use strict";var t=e.i(43476);e.i(71645);var a=e.i(39964);e.s(["StatCard",0,function({label:e,value:i,icon:s,accent:r="text-primary"}){return(0,t.jsxs)(a.Card,{className:"p-4",children:[(0,t.jsx)("div",{className:"flex items-center justify-between",children:(0,t.jsx)("div",{className:`rounded-xl bg-elevated p-2 ${r}`,children:(0,t.jsx)(s,{size:19})})}),(0,t.jsx)("p",{className:"mt-4 text-2xl font-bold tracking-normal text-slate-50",children:i}),(0,t.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:e})]})}])},35743,61342,e=>{"use strict";var t=e.i(43476),a=e.i(39964);e.s(["EmptyState",0,function({title:e,icon:i}){return(0,t.jsxs)(a.Card,{className:"flex min-h-48 flex-col items-center justify-center gap-3 p-8 text-center",children:[(0,t.jsx)("div",{className:"rounded-2xl bg-elevated p-4 text-primary",children:(0,t.jsx)(i,{size:28})}),(0,t.jsx)("p",{className:"font-semibold text-slate-100",children:e})]})}],35743);var i=e.i(46932),s=e.i(22858),r=e.i(94827);let l=(0,e.i(75254).default)("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);var n=e.i(22016),c=e.i(18133),d=e.i(75157);e.s(["VehicleCard",0,function({vehicle:e,index:h=0}){var m;let o=(0,c.vehicleImageUrl)(e.image_path);return(0,t.jsx)(i.motion.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{delay:.05*h},children:(0,t.jsx)(n.default,{href:`/vehicles/${e.id}`,children:(0,t.jsxs)(a.Card,{className:"overflow-hidden transition hover:-translate-y-0.5 hover:border-primary/50 hover:bg-elevated",children:[(0,t.jsx)("div",{className:"h-28 bg-[linear-gradient(135deg,#1f2937,#0f766e)] p-4",children:(0,t.jsxs)("div",{className:"flex justify-between text-white",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("p",{className:"text-lg font-bold",children:[e.make," ",e.model]}),(0,t.jsx)("p",{className:"text-sm text-slate-200",children:e.license_plate})]}),(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[o?(0,t.jsx)("div",{className:"h-14 w-20 overflow-hidden rounded-lg border border-white/20 bg-black/20",children:(0,t.jsx)("img",{alt:`${e.make} ${e.model}`,className:"h-full w-full object-cover",src:o})}):null,(0,t.jsx)(l,{size:20})]})]})}),(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3 p-4",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("span",{className:"flex items-center gap-2 text-sm text-slate-300",children:[(0,t.jsx)(r.Gauge,{size:16}),(0,d.km)(e.current_odometer)]}),(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs text-slate-500",children:[(0,t.jsx)(s.Fuel,{size:14}),{PETROL:"Benzin",DIESEL:"Diesel",ELECTRIC:"Elektro",HYBRID:"Hybrid",LPG:"LPG",CNG:"CNG",OTHER:"Sonstiges"}[m=e.fuel_type]??m]})]}),(0,t.jsx)("span",{className:"rounded-full bg-secondary/15 px-3 py-1 text-xs font-semibold text-secondary",children:e.status})]})]})})})}],61342)},52683,e=>{"use strict";var t=e.i(43476),a=e.i(66027),i=e.i(75254);let s=(0,i.default)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),r=(0,i.default)("CalendarPlus",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8",key:"3spt84"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M16 19h6",key:"xwg31i"}],["path",{d:"M19 16v6",key:"tddt3s"}]]);var l=e.i(5125),n=e.i(22858),c=e.i(7233);let d=(0,i.default)("Wallet",[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]]);var h=e.i(22016),m=e.i(18635),o=e.i(59544),u=e.i(35743),x=e.i(59208),p=e.i(95468),g=e.i(39964);function y({reminder:e}){let a="danger"===e.severity,i="success"===e.severity;return(0,t.jsxs)(g.Card,{className:"flex items-center gap-3 p-4",children:[(0,t.jsx)("div",{className:`rounded-xl p-2 ${a?"bg-red-500/15 text-danger":i?"bg-emerald-500/15 text-emerald-300":"bg-amber-500/15 text-warning"}`,children:a?(0,t.jsx)(s,{size:18}):i?(0,t.jsx)(p.CheckCircle2,{size:18}):(0,t.jsx)(x.CalendarClock,{size:18})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium text-slate-100",children:e.title}),(0,t.jsx)("p",{className:"text-sm text-slate-400",children:null!==e.days_remaining&&void 0!==e.days_remaining?`${e.days_remaining} Tage`:`${e.km_remaining} km`})]})]})}function v(){return(0,t.jsx)("div",{className:"h-28 animate-pulse rounded-2xl border border-border bg-elevated"})}var f=e.i(13246),j=e.i(61342),b=e.i(61238);async function k(){let{data:e}=await b.api.get("/api/calendar/subscription");return e}var w=e.i(75967),N=e.i(50939),C=e.i(75157);function _(e,t){let a={danger:0,warning:1,success:2},i=(a[e.severity]??3)-(a[t.severity]??3);if(0!==i)return i;let s=e.days_remaining??1/0,r=t.days_remaining??1/0;return s!==r?s-r:(e.km_remaining??1/0)-(t.km_remaining??1/0)}e.s(["default",0,function(){let e=(0,a.useQuery)({queryKey:["vehicles"],queryFn:N.getVehicles}),i=(0,a.useQuery)({queryKey:["fleet"],queryFn:w.getFleetStatistics}),x=(0,a.useQuery)({queryKey:["dashboard-reminders",e.data?.map(e=>e.id).join(",")],queryFn:async()=>(await Promise.all((e.data??[]).map(e=>(0,N.getReminders)(e.id)))).flat(),enabled:!!e.data?.length}),p=(0,a.useQuery)({queryKey:["calendar-subscription"],queryFn:k}),g=[...x.data??[]].sort(_);return(0,t.jsxs)(m.PageTransition,{children:[(0,t.jsxs)("div",{className:"mb-6 flex flex-wrap items-center justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-3xl font-bold text-white",children:"Dashboard"}),(0,t.jsx)("p",{className:"mt-1 text-slate-400",children:"Dein Fuhrpark ist bereit."})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(h.default,{href:"/fuel/new",children:(0,t.jsxs)(o.Button,{children:[(0,t.jsx)(n.Fuel,{size:18})," Tanken"]})}),(0,t.jsx)(h.default,{href:"/vehicles/new",children:(0,t.jsxs)(o.Button,{variant:"ghost",children:[(0,t.jsx)(c.Plus,{size:18})," Fahrzeug"]})})]})]}),(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,t.jsx)(f.StatCard,{icon:d,label:"Gesamt",value:(0,C.eur)(i.data?.total_spent??0)}),(0,t.jsx)(f.StatCard,{icon:l.Car,label:"Fahrzeuge",value:String(i.data?.vehicles??e.data?.length??0),accent:"text-secondary"}),(0,t.jsx)(f.StatCard,{icon:n.Fuel,label:"Ø Verbrauch",value:`${(0,C.formatNumber)(i.data?.avg_fuel_economy??0,{minimumFractionDigits:2,maximumFractionDigits:2})} L/100 km`,accent:"text-warning"})]}),(0,t.jsxs)("section",{className:"mt-8",children:[(0,t.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,t.jsx)("h2",{className:"text-xl font-bold text-white",children:"Fahrzeuge"}),(0,t.jsx)(h.default,{className:"text-sm font-semibold text-primary",href:"/vehicles",children:"Verwalten"})]}),e.isLoading?(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:[(0,t.jsx)(v,{}),(0,t.jsx)(v,{})]}):e.data?.length?(0,t.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:e.data.map((e,a)=>(0,t.jsx)(j.VehicleCard,{vehicle:e,index:a},e.id))}):(0,t.jsx)(u.EmptyState,{title:"Noch keine Fahrzeuge",icon:l.Car})]}),(0,t.jsxs)("section",{className:"mt-8",children:[(0,t.jsxs)("div",{className:"mb-4 flex flex-wrap items-center justify-between gap-3",children:[(0,t.jsx)("h2",{className:"text-xl font-bold text-white",children:"Erinnerungen"}),p.data?.webcal_url&&(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("a",{href:p.data.webcal_url,className:"inline-flex h-10 items-center gap-2 rounded-lg border border-primary/50 bg-primary/15 px-3 text-sm font-semibold text-primary transition hover:bg-primary/25",children:[(0,t.jsx)(r,{size:16})," Kalender abonnieren"]}),p.data.http_url&&(0,t.jsx)("button",{type:"button",className:"inline-flex h-10 items-center gap-2 rounded-lg border border-border bg-elevated px-3 text-sm font-semibold text-slate-200 transition hover:bg-hover",onClick:async()=>{navigator.clipboard&&await navigator.clipboard.writeText(p.data.http_url)},children:"Link kopieren"})]})]}),g.length?(0,t.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:g.map(e=>(0,t.jsx)(y,{reminder:e},`${e.type}-${e.title}-${e.vehicle_id}-${e.due_date??e.due_km??"na"}`))}):(0,t.jsx)(u.EmptyState,{title:"Keine fälligen Termine",icon:s})]})]})}],52683)}]);