10 Commits

Author SHA1 Message Date
lizerk
c6f495fc3c feat: add vacation approval terms workflow 2026-08-26 12:53:43 +03:00
lizerk
5fc8b4d7af Refactor application workflows and update related components 2026-08-25 12:03:22 +03:00
lizerk
2fec931bda improve requests workspace and notifications 2026-08-07 14:36:59 +03:00
lizerk
02311f5ead refactor authentication session recovery 2026-08-06 09:27:15 +03:00
lizerk
a226fd3b17 feat(requests): configure allowed recipients 2026-08-04 20:33:29 +03:00
lizerk
8a65498b56 Add request statistics panel to requests page 2026-04-20 12:40:04 +03:00
lizerk
824728019b Add employee request statistics panel 2026-04-20 12:25:13 +03:00
lizerk
331dc1433a refactor(frontend): decompose requests screen 2026-04-13 12:56:00 +03:00
lizerk
9b23f480c2 Refine search routing and deep links 2026-04-03 20:30:29 +03:00
lizerk
3ca4d108b6 refactor: split monolithic api.ts into domain modules, extract AppShell calendar/mobile concerns
- Split frontend/src/lib/api.ts (2042 lines) into 12 focused domain modules:
  client.ts (base HTTP/auth), calendar.ts, documents.ts, employees.ts,
  equipment.ts, feed.ts, messages.ts, notifications.ts, procurement.ts,
  requests.ts, utils.ts, and index.ts barrel that preserves all existing imports
- Extract calendar modal state from AppShell into useCalendarModals hook
- Extract CalendarModals and MobileDrawers into components/layout/
- AppShell: 745 → 460 lines, focused on layout concerns only
- Fix setState-in-effect lint error with startTransition pattern
- Stabilize notifications memo to prevent unnecessary re-renders
- Fix flaky WS test: handle CancelledError in channels-testing cleanup
- All 609 backend tests pass, TypeScript typecheck clean, ESLint clean
2026-04-01 15:56:10 +03:00