HoursData type (defined in ClockInOut.tsx) includes a sessions array of { clockIn: string, clockOut?: string } objects. The data is already returned from payroll/hours-history; this is a rendering gap, not a data gap.ClockInOut dashboard widget already renders session-level history for the logged-in employee using this same sessions array — formatting clock-in/out times and per-session duration. That rendering logic is the direct reference for what needs to be added to the manager-facing hours view.Locked
HoursData.sessions is already returned from payroll/hours-history; no new backend endpoint needed.Frontend
attik/apps/frontend/src/app/tools/hr/payroll/PayrollOverview.tsx — Primary manager-facing table. Inline session sub-rows would be added within the existing day-level row rendering.attik/apps/frontend/src/app/tools/hr/payroll/PayrollBase.tsx — Likely orchestrates the hours data fetch alongside payroll; relevant if data shape changes are threaded through.attik/apps/frontend/src/components/dashboard/ClockInOut/ClockInOut.tsx — Reference implementation. Contains the session rendering logic (sessions.map) using tzDayjs(session.clockIn).format('h:mm A') that can be extracted or adapted for the manager view.payroll/hours-history — existing endpoint returning HoursData[] with sessions arrayClockSession type: { clockIn: string; clockOut?: string } defined in ClockInOut.tsxPlease authenticate to join the conversation.
Planned
Main App
14 days ago
Linear
Get notified by email when there are changes.
Planned
Main App
14 days ago
Linear
Get notified by email when there are changes.