- 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
2 lines
6.3 KiB
JavaScript
2 lines
6.3 KiB
JavaScript
import{u as H,i as N,j as R,c as o,e as l,a as e,b as g,F as S,k as E,t as u,f as d,n as v,l as y,r as M,h as F,m as P,p as _,o as s,q as D}from"./index-DWNalbut.js";const O={class:"flex h-full relative"},U={key:1,class:"fixed top-0 left-0 right-0 h-14 bg-pulse-card border-b border-pulse-border flex items-center px-4 z-30"},W={class:"flex items-center justify-between gap-3 px-6 py-5 border-b border-pulse-border"},q={class:"flex-1 py-4 px-3 space-y-1 overflow-y-auto"},I={key:0,class:"w-5 h-5 flex-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},K={key:1,class:"w-5 h-5 flex-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},G={key:2,class:"w-5 h-5 flex-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},J={key:3,class:"w-5 h-5 flex-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},Q={key:4,class:"w-5 h-5 flex-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},T={class:"border-t border-pulse-border p-4"},X={class:"flex items-center gap-3"},Y={class:"w-9 h-9 rounded-full bg-primary-600 flex items-center justify-center text-white font-medium flex-shrink-0"},Z={class:"flex-1 min-w-0"},$={class:"text-sm font-medium text-white truncate"},ee={class:"text-xs text-pulse-muted truncate"},se={__name:"AppLayout",setup(te){const C=F(),f=P(),a=H(),i=M(!1),n=M(!1),j=[{name:"Dashboard",path:"/",icon:"chart-pie"},{name:"Kontakte",path:"/contacts",icon:"users"},{name:"Firmen",path:"/companies",icon:"building-office"},{name:"Pipeline",path:"/pipeline",icon:"funnel"},{name:"Aktivitäten",path:"/activities",icon:"clipboard-list"}];function c(){n.value=window.innerWidth<768,n.value?i.value=!1:i.value=!0}N(()=>{c(),window.addEventListener("resize",c)}),R(()=>{window.removeEventListener("resize",c)});function V(){i.value=!i.value}function h(){n.value&&(i.value=!1)}function z(){a.logout(),C.push("/login")}function B(p){return p==="/"?f.path==="/":f.path.startsWith(p)}return(p,t)=>{var k,m,x,w,b;const L=_("RouterLink"),A=_("RouterView");return s(),o("div",O,[n.value&&i.value?(s(),o("div",{key:0,class:"fixed inset-0 bg-black/50 z-40",onClick:h})):l("",!0),n.value?(s(),o("header",U,[e("button",{onClick:V,class:"p-2 text-white hover:bg-pulse-border rounded-lg transition-colors"},[...t[0]||(t[0]=[e("svg",{class:"w-6 h-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])]),t[1]||(t[1]=g('<div class="flex items-center gap-2 ml-3"><div class="w-8 h-8 rounded-lg bg-gradient-to-br from-primary-500 to-primary-700 flex items-center justify-center"><svg class="w-5 h-5 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path></svg></div><span class="text-lg font-bold text-white">Pulse</span></div>',1))])):l("",!0),e("aside",{class:v(["flex flex-col bg-pulse-card border-r border-pulse-border transition-all duration-300",n.value?"fixed top-0 left-0 h-full z-50":"",n.value&&!i.value?"-translate-x-full":"translate-x-0","w-64"])},[e("div",W,[t[3]||(t[3]=g('<div class="flex items-center gap-3"><div class="w-10 h-10 rounded-xl bg-gradient-to-br from-primary-500 to-primary-700 flex items-center justify-center"><svg class="w-6 h-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path></svg></div><span class="text-xl font-bold text-white">Pulse</span></div>',1)),n.value?(s(),o("button",{key:0,onClick:h,class:"p-2 text-pulse-muted hover:text-white transition-colors"},[...t[2]||(t[2]=[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)])])):l("",!0)]),e("nav",q,[(s(),o(S,null,E(j,r=>y(L,{key:r.path,to:r.path,class:v(["sidebar-link",B(r.path)&&"active"]),onClick:h},{default:D(()=>[r.icon==="chart-pie"?(s(),o("svg",I,[...t[4]||(t[4]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"},null,-1),e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"},null,-1)])])):l("",!0),r.icon==="users"?(s(),o("svg",K,[...t[5]||(t[5]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z"},null,-1)])])):l("",!0),r.icon==="building-office"?(s(),o("svg",G,[...t[6]||(t[6]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"},null,-1)])])):l("",!0),r.icon==="funnel"?(s(),o("svg",J,[...t[7]||(t[7]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"},null,-1)])])):l("",!0),r.icon==="clipboard-list"?(s(),o("svg",Q,[...t[8]||(t[8]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"},null,-1)])])):l("",!0),e("span",null,u(r.name),1)]),_:2},1032,["to","class"])),64))]),e("div",T,[e("div",X,[e("div",Y,u(((m=(k=d(a).user)==null?void 0:k.firstName)==null?void 0:m[0])||"U"),1),e("div",Z,[e("p",$,u((x=d(a).user)==null?void 0:x.firstName)+" "+u((w=d(a).user)==null?void 0:w.lastName),1),e("p",ee,u((b=d(a).user)==null?void 0:b.email),1)]),e("button",{onClick:z,class:"p-2 text-pulse-muted hover:text-white transition-colors flex-shrink-0",title:"Abmelden"},[...t[9]||(t[9]=[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:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})],-1)])])])])],2),e("main",{class:v(["flex-1 overflow-auto",n.value?"pt-14":""])},[y(A)],2)])}}};export{se as default};
|