PageSourceSearch

https://fokus-cockpit.lovable.app/assets/TabWoche-_4nC0f5l.js

js fokus-cockpit.lovable.app collected 2026-10-03 03:31:59 UTC 2,514 bytes, 1 lines download raw bytes

1import{E as C,r as h,j as t,B as D,t as F}from"./index-C9ebdKB5.js";import{i as P,t as T,f as k,u as H,R,T as m,P as _}from"./Cockpit-COB0Md-T.js";import{C as x}from"./card-DR5LKJwI.js";import"./FokusLogo-6nlbNsOi.js";import"./index-DfOTqTrH.js";import"./alert-dialog-DC8lUvR1.js";import"./accordion-DEExls7I.js";import"./users-MNfdipfr.js";import"./label-mUns6IyZ.js";import"./download-D4Jj7-3E.js";import"./Footer-sQ8iIHWy.js";import"./arrow-left-D7dovSXJ.js";import"./focus-reschedule-nmBTkqgv.js";import"./confetti-bEOLSAJf.js";function G(){const{allTodos:u}=C(),[a,g]=h.useState(null),[c,f]=h.useState(7),r=u.filter(e=>!e.done&&(!a||e.role_id===a)),i=r.filter(e=>P(e.due_date)),n=r.filter(e=>!e.due_date),l=new Date,p=[];for(let e=0;e<c;e++){const d=new Date(l.getFullYear(),l.getMonth(),l.getDate()+e),s=T(d),y=r.filter(w=>w.due_date===s);let o=k(s);e===0?o=`Heute · ${o}`:e===1&&(o=`Morgen · ${o}`),p.push({iso:s,label:o,items:y})}const{page:j,setPage:b,totalPages:v,pageItems:N}=H(n,"woche-ohne-datum");return t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"flex items-center justify-between gap-2 flex-wrap",children:[t.jsx(R,{value:a,onChange:g}),t.jsx("div",{className:"flex items-center rounded-md border border-border bg-card overflow-hidden shrink-0",children:[7,14].map(e=>t.jsxs(D,{type:"button",size:"sm",variant:"ghost",className:F("h-8 rounded-none px-3 text-xs",c===e&&"bg-primary text-primary-foreground hover:bg-primary/90"),onClick:()=>f(e),children:[e," Tage"]},e))})]}),i.length>0&&t.jsxs("section",{children:[t.jsxs("h2",{className:"font-display text-base mb-2 text-destructive",children:["Überfällig (",i.length,")"]}),t.jsx("div",{className:"space-y-2",children:i.map(e=>t.jsx(m,{todo:e},e.id))})]}),p.map((e,d)=>e.items.length===0&&d!==0?null:t.jsxs("section",{children:[t.jsx("h2",{className:"font-display text-base mb-2",children:e.label}),e.items.length===0?t.jsx(x,{className:"p-3 text-xs text-muted-foreground",children:"Heute nichts fällig."}):t.jsx("div",{className:"space-y-2",children:e.items.map(s=>t.jsx(m,{todo:s},s.id))})]},e.iso)),t.jsxs("section",{children:[t.jsxs("h2",{className:"font-display text-base mb-2",children:["Ohne Datum (",n.length,")"]}),n.length===0?t.jsx(x,{className:"p-4 text-sm text-muted-foreground",children:"Keine Aufgaben ohne Datum."}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"space-y-2",children:N.map(e=>t.jsx(m,{todo:e},e.id))}),t.jsx(_,{page:j,totalPages:v,onChange:b})]})]})]})}export{G as TabWoche};

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.