Time Tracking Tool
Overview
Section titled “Overview”The Time tool allows team members to log time against tasks and budgets on a weekly basis. Entries go through an approval workflow where managers review and approve their team’s time entries.
Features
Section titled “Features”- Week-based grid — Log time entries across a 7-day week view (Mon-Sun)
- Approval workflow — Draft/approved/rejected states with manager approval
- Auto-approve — Managers, heads, and executives have entries auto-approved on creation
- Status indicators — Colour-coded left borders on entry cards (green=approved, red=rejected)
- Bulk approval — Managers can approve all entries for a team member at once
- Budget & task linking — Entries link to budgets and tasks, with task filtering by project
- Billable toggle — Managers+ can toggle billable status on entries
- Pending approval tab — Managers see a tab with pending entries from their direct reports
Approval Flow
Section titled “Approval Flow”Lead/Employee creates → draft → Manager approves → approvedManager/Head creates → approved (auto)Executive creates → approved (auto)Manager rejects → rejected (user can edit and resubmit)- draft: Entry saved, editable by the owner
- approved: Locked from editing/deleting (except by executives)
- rejected: Returned to owner with a reason, editable and re-approvable
Permissions
Section titled “Permissions”| Level | View | Create/Edit | Approve/Reject |
|---|---|---|---|
| Executive | All entries | Yes (auto-approved) | Yes (all) |
| Head | All entries | Yes (auto-approved) | Yes (all) |
| Manager | Own + squad | Yes (auto-approved) | Yes (direct reports) |
| Lead | Own only | Yes (draft) | No |
| Employee | Own only | Yes (draft) | No |
UI Layout
Section titled “UI Layout”- My Timesheet tab — Week grid showing the current user’s entries with navigation
- Pending Approval tab — Managers+ see draft entries from direct reports, grouped by user
- Entries show status via left border colour (none=draft, green=approved, red=rejected)
- Rejected entries show the rejection reason on hover
- Edit/delete buttons hidden for approved entries (except executives)
Key Files
Section titled “Key Files”- Route:
src/routes/time.tsx - Page:
src/components/time/time-page.tsx - Approvals:
src/components/time/time-approvals.tsx - Status badge:
src/components/time/time-status-badge.tsx - Hooks:
src/hooks/use-time-entries.ts - API:
worker/routes/time-entries.ts - Shared section:
src/components/shared/time-entries-section.tsx