PageSourceSearch

https://my.agencypro.app/build/assets/timesheets-BzZYlc2i.js

js agencypro.app collected 2026-10-05 01:33:25 UTC 5,678 bytes, 1 lines download raw bytes

1import{j as t,L as f,f as _}from"./app-B52dr9Z4.js";import{C as g}from"./client-layout-D5OlxONR.js";import{u as N}from"./useTranslations-i04ZGdU9.js";import{T,a as v,b as u,c as i,d as k,e as a}from"./table-B9ssSTZP.js";import{B as x}from"./badge-BvQoBsz0.js";import{P as C}from"./pagination-DWaaSVeR.js";import{E as H}from"./empty-state-Bi8xD4GK.js";import{P,a as B,b as D}from"./page-CmjTIkIE.js";import{S,a as l}from"./stat-card-BUt5Rg-Z.js";import{a as R}from"./people-B_bgxbjH.js";import n from"./clock-DExexYRX.js";import w from"./calendar-days-BNNVeDyL.js";import E from"./badge-check-3FIhbJdk.js";/* empty css            */import"./app-sidebar-header-BL3HNvLX.js";import"./app-shell-DV32o7Te.js";import"./use-mobile-DfVMgrrG.js";import"./index-BAzmGsHK.js";import"./index-CHtzdPVW.js";import"./index-t4LHgfoc.js";import"./index-D52OTMAh.js";import"./index-B5Df9cCr.js";import"./gtm-CNimFiNN.js";import"./star-CdNTN9gm.js";import"./dropdown-menu-B44w2sc-.js";import"./index-DVkNJKuA.js";import"./check-Dkg1l1kj.js";import"./chevron-right-C5JGOTvn.js";import"./avatar-Q9_zke_9.js";import"./settings-Ch2tFJAb.js";import"./separator-fSsrDt21.js";import"./message-circle-Cc1b5lIO.js";import"./calendar-C2fAY7cK.js";import"./user-D4aoCIcS.js";import"./credit-card-By7R9445.js";import"./clipboard-list-kr81UB2O.js";import"./message-square-BxdKuZ7C.js";import"./external-link-C6S42OOY.js";import"./trash-2-BEPiZNU-.js";import"./popover-CKXulyAZ.js";import"./dialog-CkZdIX0v.js";import"./rocket-BQ_JeDhc.js";import"./circle-CRKXs4-N.js";import"./powered-by-footer-L2H-sKEz.js";import"./search-DrhBYSUp.js";import"./plus-B-lvnMuG.js";import"./file-text-bmIjoN1R.js";import"./arrow-right-C3t4zTEM.js";import"./page-header-slot-9wF9SEHn.js";import"./hard-drive-I_Qxo4Z3.js";import"./users-CybtftJu.js";import"./briefcase-Ddide-SI.js";import"./ticket-BBIVt4fy.js";import"./layout-grid-CU4pOG0B.js";import"./shield-C1R692KR.js";import"./live-chat-widget-a8l-Up18.js";import"./useUserInterface-CUCCBm9t.js";import"./rewardful-widget-BpnDGBbu.js";import"./chevron-left-CYLkMADM.js";import"./ellipsis-BPpaJ7_g.js";import"./arrow-left-BeFRqDBE.js";import"./trending-up-BMTt3tYh.js";import"./trending-down-DK4lGNcg.js";import"./circle-minus-BYuWo7IO.js";import"./building-2-C_2e5VDY.js";const m=s=>Number(s??0).toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2});function Qt({summary:s,timesheets:o}){var c;const{t:r}=N(),p=Number(s.total_hours??0),j=p>0?Math.round(Number(s.billable_hours??0)/p*100):0,b=o.total??((c=o.meta)==null?void 0:c.total)??o.data.length;return t.jsxs(g,{children:[t.jsx(f,{title:r("reports.timesheets_report","Timesheets Report")}),t.jsxs(P,{children:[t.jsx(B,{title:r("reports.timesheets_report","Timesheets Report"),description:r("reports.timesheets_report_description","Track time entries and productivity metrics"),icon:t.jsx(n,{})}),t.jsxs(S,{className:"xl:grid-cols-3",children:[t.jsx(l,{label:r("reports.total_hours_tracked","Total Hours Tracked"),value:m(s.total_hours),hint:r("reports.all_time","All time"),icon:t.jsx(n,{})}),t.jsx(l,{label:r("reports.hours_this_month","Hours This Month"),value:m(s.hours_this_month),hint:r("reports.current_month","Current month"),icon:t.jsx(w,{})}),t.jsx(l,{label:r("reports.billable_hours","Billable Hours"),value:m(s.billable_hours),hint:r("reports.billable_share",":percent% of total hours",{percent:j}),icon:t.jsx(E,{})})]}),t.jsx(D,{title:r("reports.timesheets","Timesheets"),description:t.jsx("span",{className:"tabular-nums",children:r("reports.timesheet_entries_count",":count time entries",{count:b})}),children:o.data.length>0?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"overflow-x-auto",children:t.jsxs(T,{children:[t.jsx(v,{children:t.jsxs(u,{children:[t.jsx(i,{children:r("reports.date","Date")}),t.jsx(i,{children:r("reports.project_request","Project / Request")}),t.jsx(i,{children:r("reports.team_member","Team Member")}),t.jsx(i,{className:"text-right",children:r("reports.duration","Duration")}),t.jsx(i,{children:r("reports.billable","Billable")}),t.jsx(i,{children:r("reports.description","Description")})]})}),t.jsx(k,{children:o.data.map(e=>{var d,h;return t.jsxs(u,{children:[t.jsx(a,{className:"text-muted-foreground tabular-nums",children:e.start_time?_(e.start_time):"—"}),t.jsx(a,{className:"max-w-[260px] truncate font-medium",children:((d=e.request)==null?void 0:d.title)||t.jsx("span",{className:"text-muted-foreground font-normal",children:r("reports.no_service","No service")})}),t.jsx(a,{children:(h=e.user)!=null&&h.name?t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(R,{name:e.user.name,size:"xs"}),t.jsx("span",{children:e.user.name})]}):t.jsx("span",{className:"text-muted-foreground",children:"—"})}),t.jsxs(a,{className:"text-right tabular-nums",children:[t.jsx("span",{className:"font-medium",children:e.formatted_duration}),t.jsxs("span",{className:"text-muted-foreground ml-1.5 text-xs",children:["(",m(e.duration_hours)," ",r("reports.hrs","hrs"),")"]})]}),t.jsx(a,{children:e.is_billable?t.jsx(x,{variant:"success",children:r("reports.billable","Billable")}
1):t.jsx(x,{variant:"muted",children:r("common.no","No")})}),t.jsx(a,{className:"text-muted-foreground max-w-[240px] truncate",children:e.description||"—"})]},e.id)})})]})}),o.links&&o.links.length>3&&t.jsx("div",{className:"flex justify-end",children:t.jsx(C,{links:o.links})})]}):t.jsx(H,{icon:t.jsx(n,{}),title:r("reports.no_timesheet_entries","No timesheet entries found for the selected period."),description:r("reports.no_timesheet_entries_description","No timesheet entries found for the selected date range and filters.")})})]})]})}export{Qt as default};

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.