feat: dist/ pridan do repa pro server deploy

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-13 09:19:40 +01:00
parent 1d27d19157
commit b2a2937a35
119 changed files with 15628 additions and 1 deletions

1
dist/assets/Attendance-Bq3ErxVC.js vendored Normal file

File diff suppressed because one or more lines are too long

125
dist/assets/AttendanceAdmin-CN6S51Mm.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/assets/AuditLog-DGV9ABTZ.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/assets/Forbidden-D25jV3Oq.js vendored Normal file
View File

@@ -0,0 +1 @@
import{j as e,m as i}from"./vendor-animation-0s3FMHwK.js";import{L as t}from"./vendor-react-BVs3cwbi.js";function o(){return e.jsxs(i.div,{className:"forbidden-page",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.4},children:[e.jsx("div",{className:"forbidden-icon",children:e.jsxs("svg",{width:"80",height:"80",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",ry:"2"}),e.jsx("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"}),e.jsx("circle",{cx:"12",cy:"16",r:"1"})]})}),e.jsx("h1",{className:"forbidden-title",children:"Přístup odepřen"}),e.jsx("p",{className:"forbidden-text",children:"Nemáte oprávnění pro zobrazení této stránky. Kontaktujte administrátora pro přidělení přístupu."}),e.jsx(t,{to:"/",className:"forbidden-link",children:"Zpět na přehled"})]})}export{o as F};

2
dist/assets/InvoiceCreate-D7azSaER.js vendored Normal file

File diff suppressed because one or more lines are too long

2
dist/assets/InvoiceDetail-CxmXBolF.js vendored Normal file

File diff suppressed because one or more lines are too long

2
dist/assets/Invoices-BxKVmNYN.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/LeaveApproval-BQyC3i8M.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/LeaveRequests-CJA9No9B.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/NotFound-Cm3yLPlV.js vendored Normal file
View File

@@ -0,0 +1 @@
import{j as t,m as i}from"./vendor-animation-0s3FMHwK.js";import{L as e}from"./vendor-react-BVs3cwbi.js";function o(){return t.jsxs(i.div,{className:"admin-empty-state",style:{minHeight:"60vh",justifyContent:"center"},initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.4},children:[t.jsx("div",{className:"admin-empty-icon",style:{width:80,height:80,marginBottom:"1.5rem"},children:t.jsxs("svg",{width:"36",height:"36",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("circle",{cx:"12",cy:"12",r:"10"}),t.jsx("path",{d:"M16 16s-1.5-2-4-2-4 2-4 2"}),t.jsx("line",{x1:"9",y1:"9",x2:"9.01",y2:"9"}),t.jsx("line",{x1:"15",y1:"9",x2:"15.01",y2:"9"})]})}),t.jsx("h2",{style:{fontSize:"1.5rem",fontWeight:600,marginBottom:"0.5rem",color:"var(--text-primary)"},children:"404"}),t.jsx("p",{children:"Stránka nebyla nalezena."}),t.jsx(e,{to:"/",className:"admin-btn admin-btn-primary",style:{marginTop:"0.5rem"},children:"Zpět na Dashboard"})]})}export{o as default};

1
dist/assets/OfferDetail-TQHeNuC6.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/Offers-DwUrbYu8.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/assets/OrderDetail-3O2WshUa.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/Orders-CSsExPPr.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/Pagination-B1sbY6V7.js vendored Normal file
View File

@@ -0,0 +1 @@
import{j as i}from"./vendor-animation-0s3FMHwK.js";import{r as b}from"./vendor-react-BVs3cwbi.js";function k({pagination:t,onPageChange:l,onPerPageChange:m}){const a=t?.page??1,n=t?.total_pages??1,d=t?.total??0,r=t?.per_page??25,h=b.useMemo(()=>{const s=[];let e=Math.max(1,a-Math.floor(2.5));const o=Math.min(n,e+5-1);o-e<4&&(e=Math.max(1,o-5+1)),e>1&&(s.push(1),e>2&&s.push("..."));for(let c=e;c<=o;c++)s.push(c);return o<n&&(o<n-1&&s.push("..."),s.push(n)),s},[a,n]);if(!t||n<=1)return null;const u=(a-1)*r+1,x=Math.min(a*r,d);return i.jsxs("div",{className:"admin-pagination",children:[i.jsxs("span",{className:"admin-pagination-info",children:[u,"",x," z ",d]}),i.jsxs("div",{className:"admin-pagination-controls",children:[i.jsx("button",{className:"admin-btn-secondary admin-btn-sm",disabled:a<=1,onClick:()=>l(a-1),"aria-label":"Předchozí stránka",children:i.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:i.jsx("polyline",{points:"15 18 9 12 15 6"})})}),h.map((s,p)=>s==="..."?i.jsx("span",{className:"admin-pagination-ellipsis",children:"…"},`ellipsis-${p}`):i.jsx("button",{className:`admin-pagination-page${s===a?" active":""}`,onClick:()=>l(s),children:s},s)),i.jsx("button",{className:"admin-btn-secondary admin-btn-sm",disabled:a>=n,onClick:()=>l(a+1),"aria-label":"Další stránka",children:i.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:i.jsx("polyline",{points:"9 18 15 12 9 6"})})})]}),m&&i.jsx("select",{className:"admin-pagination-select",value:r,onChange:s=>m(Number(s.target.value)),"aria-label":"Záznamů na stránku",children:[10,25,50,100].map(s=>i.jsxs("option",{value:s,children:[s," / strana"]},s))})]})}export{k as P};

1
dist/assets/ProjectCreate-B8awV2Y4.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/ProjectDetail-BWBiBOHM.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/Projects-DRnqfGWv.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

7
dist/assets/RichEditor-7oN3-GhD.css vendored Normal file

File diff suppressed because one or more lines are too long

49
dist/assets/RichEditor-Bfur5pi6.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/Settings-WU5LlT1S.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/Trips-BXj-7zce.js vendored Normal file

File diff suppressed because one or more lines are too long

81
dist/assets/TripsAdmin-yiBDyemU.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/TripsHistory-BBeF9ORG.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/Users-_q0u-jiE.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/Vehicles-drdX9CTA.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
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};

7
dist/assets/index-BBlIrj2z.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/index-BazDZfA0.css vendored Normal file

File diff suppressed because one or more lines are too long

8
dist/assets/qrcode-CBP_ltkV.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/assets/useListData-BVkTFDdr.js vendored Normal file
View File

@@ -0,0 +1 @@
import{j as x}from"./vendor-animation-0s3FMHwK.js";import{r as t}from"./vendor-react-BVs3cwbi.js";import{a as L,c as O}from"./index-BBlIrj2z.js";function J({column:e,sort:r,order:n}){return r!==e?null:x.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",style:{marginLeft:4,verticalAlign:"middle"},children:x.jsx("path",{d:n==="ASC"?"M18 15l-6-6-6 6":"M6 9l6 6 6-6"})})}function V(e,r="DESC"){const[n,a]=t.useState(e),[o,c]=t.useState(r),i=t.useRef(!1),S=t.useCallback(u=>{i.current=!0,a(m=>m===u?(c(h=>h==="ASC"?"DESC":"ASC"),m):(c("DESC"),u))},[]),d=i.current?n:null;return{sort:n,order:o,handleSort:S,activeSort:d}}function I(e,r=300){const[n,a]=t.useState(e);return t.useEffect(()=>{const o=setTimeout(()=>a(e),r);return()=>clearTimeout(o)},[e,r]),n}const N="/api/admin";function _(e,{dataKey:r,search:n,sort:a,order:o,page:c,perPage:i,extraParams:S,errorMsg:d="Nepodařilo se načíst data"}={}){const u=L(),[m,h]=t.useState([]),[j,D]=t.useState(!0),[w,k]=t.useState(null),l=t.useRef(null),p=S?JSON.stringify(S):"",b=I(n,300),C=t.useCallback(async()=>{l.current&&l.current.abort();const g=new AbortController;l.current=g;try{const s=new URLSearchParams;if(b&&s.set("search",b),a&&s.set("sort",a),o&&s.set("order",o),c&&s.set("page",c),i&&s.set("per_page",i),p){const R=JSON.parse(p);Object.entries(R).forEach(([y,A])=>{A&&s.set(y,A)})}const E=await O(`${N}/${e}?${s}`,{signal:g.signal});if(E.status===401)return;const f=await E.json();f.success?(h(f.data[r]||[]),f.data.pagination&&k(f.data.pagination)):u.error(f.error||d)}catch(s){if(s.name==="AbortError")return;u.error("Chyba připojení")}finally{D(!1)}},[u,e,r,b,a,o,c,i,p,d]);return t.useEffect(()=>(C(),()=>{l.current&&l.current.abort()}),[C]),{items:m,setItems:h,loading:j,pagination:w,refetch:C}}export{J as S,_ as a,V as u};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

59
dist/assets/vendor-react-BVs3cwbi.js vendored Normal file

File diff suppressed because one or more lines are too long

2
dist/assets/vendor-utils-Dyr8OjFr.js vendored Normal file

File diff suppressed because one or more lines are too long