14 Commits

Author SHA1 Message Date
lizerk
62faad92bb Enable direct navigation to task attachments and comments 2026-08-24 15:08:48 +03:00
lizerk
138a1284cd Improve commerce, notifications, and task UX 2026-08-18 15:30:55 +03:00
lizerk
53cf1918c0 Add message mentions and unread mention tracking 2026-08-17 16:08:14 +03:00
lizerk
1aac1b0400 Add checklist item editing and unify media previews 2026-08-17 14:33:21 +03:00
lizerk
b0e2f1803b refactor(frontend): optimize high-frequency interactions 2026-08-06 20:22:36 +03:00
lizerk
6b0643eb75 feat(tasks): add automations and comment resources 2026-08-06 12:52:42 +03:00
lizerk
cd3e52e1e9 feat: complete guest module 2026-06-22 15:01:28 +03:00
lizerk
beb4b8b86b refactor(departments): unify department feed and discussion flows 2026-04-14 16:14:52 +03:00
lizerk
192140c95d refactor(frontend): align request person chips 2026-04-13 15:53:35 +03:00
lizerk
92777d7a67 refactor(frontend): keep comment action inline 2026-04-13 15:34:59 +03:00
lizerk
b9a6de7b43 refactor(frontend): unify comment composer controls 2026-04-13 15:33:57 +03:00
lizerk
331dc1433a refactor(frontend): decompose requests screen 2026-04-13 12:56:00 +03:00
lizerk
601f0d58d8 chore(frontend): checkpoint current theme polish state 2026-04-11 19:30:22 +03:00
lizerk
0a80eb86cf refactor: extract shared utils/components, split requests page data into hook
- Create frontend/src/lib/shared/ with formatters, userUtils, paginationUtils
  (formatDate, formatMoney, displayUserName, userProfileLink, extractNextPage, loadAllPages)
- Create frontend/src/components/shared/SearchableSelect.tsx
  (SearchableSelectSingle + SearchableSelectMulti, replaces 3 inline copies)
- Extract requests page data/state/actions into useRequestsPage hook
  (requests/page.tsx: 1580 → ~280 lines of pure JSX)
- Replace duplicated helpers in equipment/page.tsx with shared imports
  (~80 lines removed: formatDate, formatMoney, displayUserName, extractNextPage,
   loadAllPages, inline SearchableSelectSingle)
- Replace duplicated helpers in procurement/page.tsx with shared imports
  (~90 lines removed: fmt, money, displayUserName, extractNextPage,
   inline departments loader, inline SearchableSelectSingle)
- 609 backend tests pass, TypeScript typecheck clean, ESLint clean
2026-04-01 16:21:02 +03:00