PageSourceSearch

https://revving.com/assets/time-management.revisioni-CgW2_ka3.js

js revving.com collected 2026-10-09 22:05:02 UTC 4,202 bytes, 1 lines download raw bytes

1import{l as k,u as v,r as h,j as e,S as R,g as x,m as E,t as j}from"./index-vYEnd8YC.js";import{u as _}from"./useQuery-BUNcGHHa.js";import{l as b,f as I}from"./tm.functions-BQ4_YImM.js";import{w as T,d as S}from"./TmShell-CInXFLxR.js";import{b as w}from"./TmSimplePages-BkSWORZD.js";import{a as A}from"./list-checks-DOc_jp-P.js";import{C as O}from"./clock-3-BPigJ-pH.js";import{C as D}from"./circle-check-B_0ilziT.js";import"./useBaseQuery-DkNqpqXB.js";import"./dialog-CJUAB_6F.js";import"./index-rgVpOREc.js";import"./index-C4JAd4Jw.js";import"./index-CAEgaYRh.js";import"./triangle-alert-7Exs_H7d.js";import"./calendar-days-Bj2CC6cN.js";import"./trophy-BasVH2vP.js";import"./target-DmOXIIXb.js";import"./clock-CxrML4Qc.js";import"./chevron-right-CABsh6lP.js";import"./folder-open-DS2mVV7M.js";const N=["time-management","review-sends"],L={week:"In settimana",mon:"Lun",tue:"Mar",wed:"Mer",thu:"Gio",fri:"Ven",sat:"Sab",sun:"Dom"};function f(n){const o=n.snapshot?.items;return Array.isArray(o)?o:[]}function M(){const n=k(),o=v(b),y=v(I),r=_({queryKey:N,queryFn:()=>o({data:{}}),retry:!1}),[l,d]=h.useState(null),[p,c]=h.useState("");async function g(s){try{await y({data:{id:s.id,review_note:p.trim()||null}}),await n.invalidateQueries({queryKey:N}),c(""),d(null),j.success("Battleplan marcato come revisionato")}catch(i){j.error(i instanceof Error?i.message.replace("TM_FORBIDDEN: ",""):"Revisione non riuscita")}}if(r.isLoading)return e.jsx("div",{className:"tm-loading",children:"Caricamento revisioni…"});if(r.isError)return e.jsx(w,{kicker:"REVISIONE",title:"Revisioni",text:"Non è stato possibile caricare i battleplan ricevuti.",children:e.jsx("div",{className:"tm-empty",children:r.error instanceof Error?r.error.message.replace("TM_FORBIDDEN: ",""):"Errore"})});const u=r.data??[],m=new Map;for(const s of u)m.set(s.user_id,[...m.get(s.user_id)??[],s]);return e.jsx(w,{kicker:"PROJECT MANAGER",title:"Revisioni",text:"I battleplan che i tuoi collaboratori ti hanno inviato, settimana per settimana.",children:u.length===0?e.jsxs("div",{className:"tm-empty",children:[e.jsx(A,{size:18})," Nessun battleplan ricevuto"]}):e.jsx("div",{className:"tm-review-list",children:[...m.entries()].map(([s,i])=>e.jsxs("section",{className:"tm-panel",children:[e.jsxs("div",{className:"tm-panel-title",children:[e.jsxs("div",{children:[e.jsx("span",{className:"tm-kicker",children:"COLLABORATORE"}),e.jsx("h3",{children:i[0]?.member_name??i[0]?.member_email??"Utente"})]}),e.jsxs("span",{className:"tm-muted",children:[i.length," invii"]})]}),e.jsx("div",{className:"tm-list",children:i.map(t=>e.jsxs("div",{className:"tm-review-row",children:[e.jsxs("div",{className:"tm-review-row-head",children:[e.jsxs("div",{children:[e.jsx("strong",{children:T(t.week_start)}),e.jsx("small",{children:S(t.week_start)})]}),e.jsxs("span",{className:`tm-status-chip tm-status-${t.status}`,children:[t.status==="revisionato"?e.jsx(R,{size:13}):e.jsx(O,{size:13})," ",t.status==="revisionato"?"Revisionato":"In attesa"]}),e.jsx(x,{size:"sm",variant:"outline",className:"tm-outline-button",onClick:()=>{d(l===t.id?null:t.id),c(t.review_note??"")},children:l===t.id?"Chiudi":"Apri"})]}),l===t.id&&e.jsxs("div",{className:"tm-review-detail",children:[e.jsxs("div",{className:"tm-list",children:[f(t).map((a,C)=>e.jsxs("div",{className:"tm-list-row",children:[e.jsx("span",{className:`tm-priority-dot tm-priority-dot-${a.priority??"bassa"}`}),e.jsxs("div",{children:[e.jsx("strong",{children:a.name??"Ciclo"}),e.jsx("small",{children:L[a.slot]??a.slot})]})]},`${a.cycle_id}-${C}`)),f(t).length===0&&e.jsx("div",{className:"tm-empty",children:"Nessun ciclo nello snapshot"})]}),e.jsx(E,{value:p,onChange:a=>c(a.target.value),placeholder:"Nota per il collaboratore (facoltativa)"}),e.jsxs("div",{className:"tm-review-actions",children:[t.status==="revisionato"&&t.reviewed_at&&e.jsxs("span",{className:"tm-muted",children:["Revisionato il ",new Date(t.reviewed_at).toLocaleDateString("it-IT")]}),e.jsxs(x,{className:"tm-primary-action",onClick:()=>g(t),children:[e.jsx(D,{size:15}
1)," ",t.status==="revisionato"?"Aggiorna revisione":"Marca come revisionato"]})]})]})]},t.id))})]},s))})})}const ie=M;export{ie as component};

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.