Files
pulse-crm-frontend/dist/assets/ActivitiesView-4eRkBUJ5.js
FluxKit 8ae8abd7a7 feat: Add Inbox view with task/appointment/email management
- Add InboxView.vue with full CRUD UI
- Add inbox to navigation (first item)
- Support filtering by status/type
- Show stats (due today, overdue, etc.)
- Quick status updates with checkbox
- Priority indicators and overdue warnings
2026-02-25 13:02:04 +00:00

2 lines
7.2 KiB
JavaScript

import{i as j,c as a,a as e,g as M,t as o,f as r,n as u,F as B,k as N,e as p,y as $,w as h,d as c,A as E,v as A,T,r as v,o as n}from"./index-DWNalbut.js";import{u as V}from"./activities-DN88j27F.js";const S={class:"p-4 sm:p-6"},z={class:"flex flex-col sm:flex-row sm:items-center justify-between gap-4 mb-6"},L={class:"grid grid-cols-2 lg:grid-cols-4 gap-3 sm:gap-4 mb-6"},F={class:"card p-3 sm:p-4"},H={class:"text-xl sm:text-2xl font-bold text-white"},U={class:"card p-3 sm:p-4"},I={class:"text-xl sm:text-2xl font-bold text-green-400"},q={class:"card p-3 sm:p-4"},K={class:"text-xl sm:text-2xl font-bold text-red-400"},O={class:"card p-3 sm:p-4"},W={class:"text-xl sm:text-2xl font-bold text-blue-400"},G={class:"flex gap-2 mb-6 overflow-x-auto pb-2 -mx-4 px-4 sm:mx-0 sm:px-0"},J={class:"card divide-y divide-pulse-border"},P=["onClick"],Q={key:0,class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},R={class:"text-xl hidden sm:block"},X={class:"flex-1 min-w-0"},Y={class:"flex items-start sm:items-center gap-2"},Z={class:"text-base sm:hidden"},ee={class:"flex flex-wrap items-center gap-1 sm:gap-2 text-xs sm:text-sm text-pulse-muted mt-1"},te={key:0},se={key:1},le={key:0,class:"p-8 sm:p-12 text-center"},oe={key:0,class:"fixed inset-0 z-50 flex items-end sm:items-center justify-center p-0 sm:p-4"},ne={class:"relative card w-full sm:max-w-md rounded-b-none sm:rounded-b-xl max-h-[90vh] overflow-y-auto"},ie={class:"px-4 sm:px-6 py-4 border-b border-pulse-border sticky top-0 bg-pulse-card z-10"},ae={class:"flex items-center justify-between"},re={class:"flex flex-col-reverse sm:flex-row gap-3 pt-2"},xe={__name:"ActivitiesView",setup(de){const l=V(),m=v(!1),x=v("all"),i=v({type:"task",subject:"",dueDate:""});j(()=>{l.fetchActivities(),l.fetchStats()});async function D(){if(i.value.subject)try{await l.createActivity({...i.value,dueDate:i.value.dueDate||null}),m.value=!1,i.value={type:"task",subject:"",dueDate:""}}catch(d){console.error("Error:",d)}}async function C(d){await l.completeActivity(d)}function b(d){return d?new Date(d).toLocaleDateString("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"}):"-"}const f={note:"📝",call:"📞",email:"✉️",meeting:"🤝",task:"✅"},_={note:"Notiz",call:"Anruf",email:"E-Mail",meeting:"Meeting",task:"Aufgabe"};return(d,t)=>{var g,k,w,y;return n(),a("div",S,[e("div",z,[t[11]||(t[11]=e("div",null,[e("h1",{class:"text-xl sm:text-2xl font-bold text-white"},"Aktivitäten"),e("p",{class:"text-pulse-muted text-sm"},"Ihre Aufgaben und Aktivitäten")],-1)),e("button",{onClick:t[0]||(t[0]=s=>m.value=!0),class:"btn-primary w-full sm:w-auto"},[...t[10]||(t[10]=[e("svg",{class:"w-5 h-5 mr-2",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1),M(" Neue Aktivität ",-1)])])]),e("div",L,[e("div",F,[e("p",H,o(((g=r(l).stats)==null?void 0:g.totalToday)||0),1),t[12]||(t[12]=e("p",{class:"text-xs sm:text-sm text-pulse-muted"},"Heute fällig",-1))]),e("div",U,[e("p",I,o(((k=r(l).stats)==null?void 0:k.completedToday)||0),1),t[13]||(t[13]=e("p",{class:"text-xs sm:text-sm text-pulse-muted"},"Heute erledigt",-1))]),e("div",q,[e("p",K,o(((w=r(l).stats)==null?void 0:w.overdue)||0),1),t[14]||(t[14]=e("p",{class:"text-xs sm:text-sm text-pulse-muted"},"Überfällig",-1))]),e("div",O,[e("p",W,o(((y=r(l).stats)==null?void 0:y.upcoming)||0),1),t[15]||(t[15]=e("p",{class:"text-xs sm:text-sm text-pulse-muted"},"Diese Woche",-1))])]),e("div",G,[e("button",{onClick:t[1]||(t[1]=s=>{x.value="all",r(l).fetchActivities()}),class:u(["btn-sm whitespace-nowrap",x.value==="all"?"btn-primary":"btn-ghost"])}," Alle ",2),e("button",{onClick:t[2]||(t[2]=s=>{x.value="upcoming",r(l).fetchActivities({isCompleted:"false"})}),class:u(["btn-sm whitespace-nowrap",x.value==="upcoming"?"btn-primary":"btn-ghost"])}," Offen ",2),e("button",{onClick:t[3]||(t[3]=s=>{x.value="completed",r(l).fetchActivities({isCompleted:"true"})}),class:u(["btn-sm whitespace-nowrap",x.value==="completed"?"btn-primary":"btn-ghost"])}," Erledigt ",2)]),e("div",J,[(n(!0),a(B,null,N(r(l).activities,s=>(n(),a("div",{key:s.id,class:"p-3 sm:p-4 flex items-start sm:items-center gap-3 sm:gap-4 hover:bg-pulse-dark/30 transition-colors"},[e("button",{onClick:h(ue=>C(s.id),["stop"]),class:u(["w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors flex-shrink-0 mt-0.5 sm:mt-0",s.isCompleted?"bg-green-500 border-green-500 text-white":"border-pulse-border hover:border-primary-500"])},[s.isCompleted?(n(),a("svg",Q,[...t[16]||(t[16]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"3",d:"M5 13l4 4L19 7"},null,-1)])])):p("",!0)],10,P),e("span",R,o(f[s.type]),1),e("div",X,[e("div",Y,[e("span",Z,o(f[s.type]),1),e("p",{class:u(["font-medium text-sm sm:text-base",s.isCompleted?"text-pulse-muted line-through":"text-white"])},o(s.subject),3)]),e("div",ee,[e("span",null,o(_[s.type]),1),s.contact?(n(),a("span",te,"· "+o(s.contact.name),1)):p("",!0),s.company?(n(),a("span",se,"· "+o(s.company.name),1)):p("",!0)]),s.dueDate?(n(),a("span",{key:0,class:u(["text-xs mt-1 inline-block sm:hidden",new Date(s.dueDate)<new Date&&!s.isCompleted?"text-red-400":"text-pulse-muted"])}," 📅 "+o(b(s.dueDate)),3)):p("",!0)]),s.dueDate?(n(),a("span",{key:0,class:u(["text-sm hidden sm:block flex-shrink-0",new Date(s.dueDate)<new Date&&!s.isCompleted?"text-red-400":"text-pulse-muted"])},o(b(s.dueDate)),3)):p("",!0)]))),128)),!r(l).loading&&!r(l).activities.length?(n(),a("div",le,[...t[17]||(t[17]=[e("p",{class:"text-pulse-muted"},"Keine Aktivitäten gefunden",-1)])])):p("",!0)]),(n(),$(T,{to:"body"},[m.value?(n(),a("div",oe,[e("div",{class:"absolute inset-0 bg-black/60",onClick:t[4]||(t[4]=s=>m.value=!1)}),e("div",ne,[e("div",ie,[e("div",ae,[t[19]||(t[19]=e("h2",{class:"text-lg font-semibold text-white"},"Neue Aktivität",-1)),e("button",{onClick:t[5]||(t[5]=s=>m.value=!1),class:"p-2 text-pulse-muted hover:text-white sm:hidden"},[...t[18]||(t[18]=[e("svg",{class:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])])]),e("form",{onSubmit:h(D,["prevent"]),class:"p-4 sm:p-6 space-y-4"},[e("div",null,[t[21]||(t[21]=e("label",{class:"label"},"Typ",-1)),c(e("select",{"onUpdate:modelValue":t[6]||(t[6]=s=>i.value.type=s),class:"input"},[...t[20]||(t[20]=[e("option",{value:"task"},"✅ Aufgabe",-1),e("option",{value:"call"},"📞 Anruf",-1),e("option",{value:"email"},"✉️ E-Mail",-1),e("option",{value:"meeting"},"🤝 Meeting",-1),e("option",{value:"note"},"📝 Notiz",-1)])],512),[[E,i.value.type]])]),e("div",null,[t[22]||(t[22]=e("label",{class:"label"},"Betreff *",-1)),c(e("input",{"onUpdate:modelValue":t[7]||(t[7]=s=>i.value.subject=s),type:"text",class:"input",required:""},null,512),[[A,i.value.subject]])]),e("div",null,[t[23]||(t[23]=e("label",{class:"label"},"Fällig am",-1)),c(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>i.value.dueDate=s),type:"datetime-local",class:"input"},null,512),[[A,i.value.dueDate]])]),e("div",re,[e("button",{type:"button",onClick:t[9]||(t[9]=s=>m.value=!1),class:"btn-secondary flex-1"}," Abbrechen "),t[24]||(t[24]=e("button",{type:"submit",class:"btn-primary flex-1"}," Erstellen ",-1))])],32)])])):p("",!0)]))])}}};export{xe as default};