import{d as k,u as w,q as A,m as u,c as o,a as e,t as r,y as x,e as y,n as p,i as T,j as v,F as O,x as S,r as m,k as j,l as M,o as d,p as B,z as C}from"./index-DFiGttzi.js";const V={class:"space-y-6"},z={class:"card bg-gradient-to-r from-primary-500 to-primary-700 text-white"},D={class:"text-2xl font-bold"},N={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4"},G={class:"card"},L={class:"flex items-center gap-4"},R={class:"text-2xl font-bold text-gray-900 dark:text-white"},$={key:0,class:"card"},E={class:"flex items-center gap-4"},F={class:"text-2xl font-bold text-gray-900 dark:text-white"},H={key:1,class:"card"},I={class:"flex items-center gap-4"},U={class:"text-2xl font-bold text-gray-900 dark:text-white"},q={class:"card"},J={class:"flex items-center gap-4"},K={class:"text-2xl"},W={class:"text-lg font-medium text-gray-900 dark:text-white"},P={class:"card"},Q={class:"flex items-center justify-between mb-4"},X={key:0,class:"text-center py-8 text-gray-500"},Y={key:1,class:"text-center py-8 text-gray-500"},Z={key:2,class:"space-y-3"},ee={class:"flex items-center justify-between"},te={class:"font-medium text-gray-900 dark:text-white"},se={key:0,class:"text-sm text-gray-500 dark:text-gray-400"},ne=k({__name:"DashboardView",setup(ae){const i=w(),n=m({openOrders:0,myOrders:0,pendingTimesheets:0,availableToday:!1}),g=m([]),b=m(!0),f=j(()=>{const s=new Date().getHours();return s<12?"Guten Morgen":s<18?"Guten Tag":"Guten Abend"});A(async()=>{try{const s=await u.get("/orders");if(g.value=s.data.orders.slice(0,5),n.value.openOrders=s.data.orders.filter(l=>["published","in_progress"].includes(l.status)).length,i.isMitarbeiter&&(n.value.myOrders=s.data.orders.length),i.canManageUsers){const l=await u.get("/timesheets?status=pending");n.value.pendingTimesheets=l.data.timesheets.length}const t=new Date().toISOString().split("T")[0],c=await u.get(`/availability?from=${t}&to=${t}`);n.value.availableToday=c.data.availability.some(l=>{var a;return l.available&&l.user_id===((a=i.user)==null?void 0:a.id)})}catch(s){console.error("Dashboard load error:",s)}finally{b.value=!1}});function _(s){return{draft:"badge-secondary",published:"badge-primary",in_progress:"badge-warning",completed:"badge-success",cancelled:"badge-danger"}[s]||"badge-secondary"}function h(s){return{draft:"Entwurf",published:"Veröffentlicht",in_progress:"In Bearbeitung",completed:"Abgeschlossen",cancelled:"Abgesagt"}[s]||s}return(s,t)=>{var l;const c=M("router-link");return d(),o("div",V,[e("div",z,[e("h1",D,r(f.value)+", "+r((l=x(i).user)==null?void 0:l.first_name)+"! 👋 ",1),t[0]||(t[0]=e("p",{class:"mt-1 text-primary-100"}," Willkommen zurück bei SeCu. ",-1))]),e("div",N,[e("div",G,[e("div",L,[t[2]||(t[2]=e("div",{class:"w-12 h-12 rounded-lg bg-blue-100 dark:bg-blue-900 flex items-center justify-center"},[e("span",{class:"text-2xl"},"📋")],-1)),e("div",null,[t[1]||(t[1]=e("p",{class:"text-sm text-gray-500 dark:text-gray-400"},"Offene Aufträge",-1)),e("p",R,r(n.value.openOrders),1)])])]),x(i).isMitarbeiter?(d(),o("div",$,[e("div",E,[t[4]||(t[4]=e("div",{class:"w-12 h-12 rounded-lg bg-green-100 dark:bg-green-900 flex items-center justify-center"},[e("span",{class:"text-2xl"},"✅")],-1)),e("div",null,[t[3]||(t[3]=e("p",{class:"text-sm text-gray-500 dark:text-gray-400"},"Meine Aufträge",-1)),e("p",F,r(n.value.myOrders),1)])])])):y("",!0),x(i).canManageUsers?(d(),o("div",H,[e("div",I,[t[6]||(t[6]=e("div",{class:"w-12 h-12 rounded-lg bg-yellow-100 dark:bg-yellow-900 flex items-center justify-center"},[e("span",{class:"text-2xl"},"⏱️")],-1)),e("div",null,[t[5]||(t[5]=e("p",{class:"text-sm text-gray-500 dark:text-gray-400"},"Ausstehende Stundenzettel",-1)),e("p",U,r(n.value.pendingTimesheets),1)])])])):y("",!0),e("div",q,[e("div",J,[e("div",{class:p(["w-12 h-12 rounded-lg flex items-center justify-center",n.value.availableToday?"bg-green-100 dark:bg-green-900":"bg-gray-100 dark:bg-gray-700"])},[e("span",K,r(n.value.availableToday?"✅":"❓"),1)],2),e("div",null,[t[7]||(t[7]=e("p",{class:"text-sm text-gray-500 dark:text-gray-400"},"Heute verfügbar",-1)),e("p",W,r(n.value.availableToday?"Ja":"Nicht gemeldet"),1)])])])]),e("div",P,[e("div",Q,[t[9]||(t[9]=e("h2",{class:"text-lg font-semibold text-gray-900 dark:text-white"}," Aktuelle Aufträge ",-1)),T(c,{to:"/orders",class:"text-sm text-primary-600 hover:text-primary-700"},{default:v(()=>[...t[8]||(t[8]=[B(" Alle anzeigen → ",-1)])]),_:1})]),b.value?(d(),o("div",X," Lädt... ")):g.value.length===0?(d(),o("div",Y," Keine Aufträge vorhanden ")):(d(),o("div",Z,[(d(!0),o(O,null,S(g.value,a=>(d(),C(c,{key:a.id,to:`/orders/${a.id}`,class:"block p-4 rounded-lg border border-gray-200 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors"},{default:v(()=>[e("div",ee,[e("div",null,[e("h3",te," #"+r(a.number)+" - "+r(a.title),1),a.location?(d(),o("p",se," 📍 "+r(a.location),1)):y("",!0)]),e("span",{class:p(["badge",_(a.status)])},r(h(a.status)),3)])]),_:2},1032,["to"]))),128))]))])])}}});export{ne as default};