Commit graph

2 commits

Author SHA1 Message Date
7bee32886f
feat(timesheet): sort months ascending so newest is at bottom 2026-04-02 17:06:28 +02:00
1a716f6d0e
feat(timesheet): add report generation logic
Implement the core report generation that:
- Loads .streamd.toml configuration
- Calculates expected hours based on periods and day types
- Calculates actual hours following day type rules:
  - Sick leave: max(expected, worked)
  - Vacation: expected + worked
  - Flex day: 0
  - Holiday: 0 expected
- Generates warnings for missing days, overlapping timecards,
  and work outside configured periods
- Calculates monthly and cumulative balances
- Sorts months in descending order
2026-04-02 16:22:26 +02:00