mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-24 07:53:09 +00:00
Comp/Flex days (#1074) — complete. A second leave type that does not deduct from the vacation entitlement (flextime / overtime offset). New kind column on vacay_entries, excluded from usedDays via a CASE sum; toggleEntry carries kind through service/nest/store with change-detection; desktop and mobile get a comp toolbar toggle next to the half-day one (orthogonal, so a half comp day is free); comp segments render as a diagonal hatch of the person colour, per-segment for split days (Version B). comp_used is surfaced separately in getStats. Translated into all 23 locales. Configurable vacation year (#737) — backend only. Per-user vacay_user_settings (calendar / fiscal / anniversary), resolveYearWindow, and usedDays / compUsedDays / getStats / carry-over now computed over the leave-year [start,end) window. 'calendar' resolves byte-identically to the old date-prefix behaviour, so nothing changes for existing users and the feature is inert until the settings UI lands. Frontend (settings selector + calendar window rollover), the settings endpoint, window-aware getEntries and holiday loading are still to do — see the PR description.
This commit is contained in:
@@ -51,6 +51,9 @@ export const vacayToggleEntryRequestSchema = z.object({
|
||||
target_user_id: z.union([z.number(), z.string()]).optional(),
|
||||
// Half vacation days (#552): 0.5 logs a half day, 1 (or omitted) a full day.
|
||||
fraction: z.union([z.literal(0.5), z.literal(1)]).optional(),
|
||||
// Leave type (#1074): 'comp' logs a flex/comp day (does not touch the
|
||||
// entitlement), 'vacation' (or omitted) a regular vacation day.
|
||||
kind: z.enum(['vacation', 'comp']).optional(),
|
||||
});
|
||||
export type VacayToggleEntryRequest = z.infer<typeof vacayToggleEntryRequestSchema>;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user