import{j as s,m as r}from"./vendor-animation-0s3FMHwK.js";import{r as e}from"./vendor-react-BVs3cwbi.js";import{a as f,u as w,c as S,F as u,A as z,f as n}from"./index-BrM8fzBu.js";import{F as _}from"./Forbidden-D25jV3Oq.js";import{b as L}from"./attendanceHelpers-D6sLEw0q.js";import"./vendor-utils-Dyr8OjFr.js";const C="/api/admin";function B(){const h=f(),{hasPermission:p}=w(),[c,x]=e.useState(!0),[i,y]=e.useState(()=>{const a=new Date;return`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}`}),[t,v]=e.useState(""),[N,g]=e.useState({trips:[],vehicles:[],totals:{total:0,business:0,count:0}}),j=e.useCallback(async()=>{x(!0);try{let a=`${C}/trips.php?action=history&month=${i}`;t&&(a+=`&vehicle_id=${t}`);const d=await S(a);if(d.status===401)return;const l=await d.json();l.success&&g(l.data)}catch{h.error("Nepodařilo se načíst data")}finally{x(!1)}},[i,t,h]);if(e.useEffect(()=>{j()},[j]),!p("trips.history"))return s.jsx(_,{});const k=a=>{const[d,l]=a.split("-");return new Date(d,parseInt(l)-1).toLocaleDateString("cs-CZ",{month:"long",year:"numeric"})},{trips:o,vehicles:b,totals:m}=N;return s.jsxs("div",{children:[s.jsx(r.div,{className:"admin-page-header",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.4},children:s.jsxs("div",{children:[s.jsx("h1",{className:"admin-page-title",children:"Historie jízd"}),s.jsx("p",{className:"admin-page-subtitle",children:k(i)})]})}),s.jsx(r.div,{className:"admin-card",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.4,delay:.1},children:s.jsx("div",{className:"admin-card-body",children:s.jsxs("div",{className:"admin-form-row",children:[s.jsx(u,{label:"Měsíc",children:s.jsx(z,{mode:"month",value:i,onChange:a=>y(a)})}),s.jsx(u,{label:"Vozidlo",children:s.jsxs("select",{value:t,onChange:a=>v(a.target.value),className:"admin-form-select",children:[s.jsx("option",{value:"",children:"Všechna vozidla"}),b.map(a=>s.jsxs("option",{value:a.id,children:[a.spz," - ",a.name]},a.id))]})})]})})}),s.jsxs(r.div,{className:"admin-grid admin-grid-3 mt-6",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.4,delay:.15},children:[s.jsxs("div",{className:"admin-stat-card info",children:[s.jsx("div",{className:"admin-stat-icon info",children:s.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[s.jsx("line",{x1:"12",y1:"20",x2:"12",y2:"10"}),s.jsx("line",{x1:"18",y1:"20",x2:"18",y2:"4"}),s.jsx("line",{x1:"6",y1:"20",x2:"6",y2:"16"})]})}),s.jsxs("div",{className:"admin-stat-content",children:[s.jsx("span",{className:"admin-stat-value",children:m.count}),s.jsx("span",{className:"admin-stat-label",children:"Počet jízd"})]})]}),s.jsxs("div",{className:"admin-stat-card",children:[s.jsx("div",{className:"admin-stat-icon",children:s.jsx("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:s.jsx("path",{d:"M22 12h-4l-3 9L9 3l-3 9H2"})})}),s.jsxs("div",{className:"admin-stat-content",children:[s.jsxs("span",{className:"admin-stat-value",children:[n(m.total)," km"]}),s.jsx("span",{className:"admin-stat-label",children:"Celkem naježděno"})]})]}),s.jsxs("div",{className:"admin-stat-card success",children:[s.jsx("div",{className:"admin-stat-icon success",children:s.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[s.jsx("rect",{x:"1",y:"3",width:"15",height:"13",rx:"2",ry:"2"}),s.jsx("path",{d:"M16 8h2a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-1"}),s.jsx("circle",{cx:"5.5",cy:"18",r:"2"}),s.jsx("circle",{cx:"18.5",cy:"18",r:"2"}),s.jsx("path",{d:"M8 18h8"})]})}),s.jsxs("div",{className:"admin-stat-content",children:[s.jsxs("span",{className:"admin-stat-value",children:[n(m.business)," km"]}),s.jsx("span",{className:"admin-stat-label",children:"Služební km"})]})]})]}),s.jsx(r.div,{className:"admin-card mt-6",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.4,delay:.2},children:s.jsxs("div",{className:"admin-card-body",children:[c&&s.jsx("div",{className:"admin-skeleton gap-5",children:[0,1,2,3,4].map(a=>s.jsxs("div",{className:"admin-skeleton-row",children:[s.jsx("div",{className:"admin-skeleton-line w-1/4"}),s.jsx("div",{className:"admin-skeleton-line w-1/3"}),s.jsx("div",{className:"admin-skeleton-line w-1/4"})]},a))}),!c&&o.length===0&&s.jsx("div",{className:"admin-empty-state",children:s.jsx("p",{children:"Žádné záznamy jízd pro vybrané období."})}),!c&&o.length>0&&s.jsx("div",{className:"admin-table-responsive",children:s.jsxs("table",{className:"admin-table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Datum"}),s.jsx("th",{children:"Vozidlo"}),s.jsx("th",{children:"Řidič"}),s.jsx("th",{children:"Trasa"}),s.jsx("th",{children:"Stav km"}),s.jsx("th",{children:"Vzdálenost"}),s.jsx("th",{children:"Typ"}),s.jsx("th",{children:"Poznámka"})]})}),s.jsx("tbody",{children:o.map(a=>s.jsxs("tr",{children:[s.jsx("td",{className:"admin-mono",children:L(a.trip_date)}),s.jsx("td",{children:s.jsx("span",{className:"admin-badge",children:a.spz})}),s.jsx("td",{style:{color:"var(--text-secondary)"},children:a.driver_name}),s.jsx("td",{children:s.jsxs("span",{style:{whiteSpace:"nowrap"},children:[a.route_from," → ",a.route_to]})}),s.jsx("td",{className:"admin-mono",children:s.jsxs("span",{style:{whiteSpace:"nowrap",color:"var(--text-secondary)"},children:[n(a.start_km)," - ",n(a.end_km)]})}),s.jsx("td",{className:"admin-mono",children:s.jsxs("strong",{children:[n(a.distance)," km"]})}),s.jsx("td",{children:s.jsx("span",{className:`admin-badge ${a.is_business?"admin-badge-success":"admin-badge-warning"}`,children:a.is_business?"Služební":"Soukromá"})}),s.jsx("td",{style:{color:"var(--text-secondary)",maxWidth:"200px"},children:a.notes||"—"})]},a.id))})]})})]})})]})}export{B as default};