Files
app/dist/assets/attendanceHelpers-D6sLEw0q.js
2026-03-13 09:19:40 +01:00

2 lines
2.3 KiB
JavaScript

const u=t=>t?new Date(t).toLocaleDateString("cs-CZ"):"—",o=t=>{if(!t)return"—";const e=new Date(t);return`${e.getDate()}.${e.getMonth()+1}. ${e.toLocaleTimeString("cs-CZ",{hour:"2-digit",minute:"2-digit"})}`},c=t=>t?new Date(t).toLocaleTimeString("cs-CZ",{hour:"2-digit",minute:"2-digit"}):"—",l=t=>{if(!t.arrival_time||!t.departure_time)return 0;const e=new Date(t.arrival_time).getTime();let a=(new Date(t.departure_time).getTime()-e)/6e4;if(t.break_start&&t.break_end){const n=new Date(t.break_start).getTime(),i=new Date(t.break_end).getTime();a-=(i-n)/6e4}return Math.max(0,Math.floor(a))},g=(t,e=!1)=>{const r=Math.floor(t/60),a=t%60;return`${r}:${String(a).padStart(2,"0")}${e?" h":""}`},_=t=>({work:"Práce",vacation:"Dovolená",sick:"Nemoc",holiday:"Svátek",unpaid:"Neplacené volno"})[t]||"Práce",m=t=>({vacation:"badge-vacation",sick:"badge-sick",holiday:"badge-holiday",unpaid:"badge-unpaid"})[t]||"",p=t=>t?t.includes("T")?t.split("T")[0]:t.split(" ")[0]:"",d=t=>{if(!t)return"";const e=new Date(t);return`${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`},k=t=>t.filter(e=>e.project_id).reduce((e,r)=>e+(parseInt(r.hours)||0)*60+(parseInt(r.minutes)||0),0),D=t=>{if(!t.arrival_time||!t.departure_time)return 0;const e=`${t.arrival_date}T${t.arrival_time}`,r=`${t.departure_date}T${t.departure_time}`;let a=(new Date(r)-new Date(e))/6e4;if(t.break_start_time&&t.break_end_time){const n=`${t.break_start_date}T${t.break_start_time}`,i=`${t.break_end_date}T${t.break_end_time}`;a-=(new Date(i)-new Date(n))/6e4}return Math.max(0,Math.floor(a))},T=(t,e)=>{if(!t)return"—";if(new Date(t).toISOString().split("T")[0]!==e){const a=new Date(t);return`${a.getDate()}.${a.getMonth()+1}. ${a.toLocaleTimeString("cs-CZ",{hour:"2-digit",minute:"2-digit"})}`}return new Date(t).toLocaleTimeString("cs-CZ",{hour:"2-digit",minute:"2-digit"})},b=t=>{if((t.leave_type||"work")!=="work")return(t.leave_hours||8)*60;if(!t.arrival_time||!t.departure_time)return 0;const r=new Date(t.arrival_time).getTime();let n=(new Date(t.departure_time).getTime()-r)/6e4;if(t.break_start&&t.break_end){const i=new Date(t.break_start).getTime(),s=new Date(t.break_end).getTime();n-=(s-i)/6e4}return Math.max(0,Math.floor(n))};export{g as a,u as b,l as c,m as d,o as e,c as f,_ as g,b as h,T as i,D as j,k,d as l,p as m};