198 Commits

Author SHA1 Message Date
lizerk
e3ba6ea925 refactor(ui): stabilize equipment deep links and qr flow 2026-04-12 16:09:38 +03:00
lizerk
1552bbe84b fix(requests): confirm destructive actions and align surfaces 2026-04-12 07:19:12 +03:00
lizerk
b7b09740cb refactor(frontend): align employee profile surfaces 2026-04-12 06:59:42 +03:00
lizerk
c56fdbb915 feat(frontend): align employee profile flows 2026-04-12 06:27:18 +03:00
lizerk
06bcd0c862 feat(frontend): refine profile workspace 2026-04-12 05:47:35 +03:00
lizerk
097a3015e8 fix(profile): stabilize directory login and expand ldap coverage 2026-04-12 04:13:32 +03:00
lizerk
f5a908e443 feat(auth): restore password reset flow and polish auth UI 2026-04-12 02:05:13 +03:00
lizerk
7dcf84dcd1 feat(auth): add session management and settings integration 2026-04-11 23:31:14 +03:00
lizerk
23cc809e06 fix(frontend): resolve merge regressions 2026-04-11 20:55:18 +03:00
lizerk
8ce997f062 Merge branch 'investigate/master-actual-theme' into develop 2026-04-11 20:53:39 +03:00
lizerk
6585be7764 chore(frontend): hide finances nav item 2026-04-11 20:45:01 +03:00
lizerk
db05b4fcdb refactor(frontend): align calendar and list UI 2026-04-11 20:44:16 +03:00
lizerk
601f0d58d8 chore(frontend): checkpoint current theme polish state 2026-04-11 19:30:22 +03:00
lizerk
f228c10a1a Create unified settings workspace 2026-04-11 00:41:37 +03:00
lizerk
1e2ad9503c Disable backdrop-close by default for shared modal 2026-04-10 20:55:09 +03:00
lizerk
48677eb49c Deduplicate pasted clipboard files in message composer 2026-04-10 20:54:09 +03:00
lizerk
66141197ad Optimize messages list refresh and chat serialization 2026-04-10 20:54:09 +03:00
lizerk
3dd13ec549 фикс модалов 2026-04-03 22:53:00 +03:00
lizerk
4c24b01f06 фикс 2 2026-04-03 22:30:21 +03:00
lizerk
a94b56ecb7 Выявил и исправил два места, которые вместе хорошо объясняют редкую выборочную недогрузку при скролле вверх. 2026-04-03 22:12:09 +03:00
lizerk
26f1dd550d фикс фронта 2026-04-03 21:12:20 +03:00
lizerk
219a93215f Improve deleted reply preview context 2026-04-03 21:01:10 +03:00
lizerk
71d0a6092c Refine chat reply preview behavior 2026-04-03 20:53:52 +03:00
lizerk
9b23f480c2 Refine search routing and deep links 2026-04-03 20:30:29 +03:00
lizerk
a7abde279e Fix duplicate request deep-link modal open 2026-04-03 20:28:15 +03:00
lizerk
111ddb2bfd Refactor modals and add chat message search 2026-04-03 19:53:31 +03:00
lizerk
e80412918d Refactor chat frontend and optimize chat queries 2026-04-03 17:05:14 +03:00
lizerk
9d3d8bdd57 Fix chat history return button behavior 2026-04-03 15:14:01 +03:00
lizerk
068e956f7c Fix chat floating date badge behavior 2026-04-03 14:32:31 +03:00
lizerk
3d99226296 Fix chat list pagination in frontend 2026-04-03 14:25:41 +03:00
lizerk
1b7559a296 Improve chat composer and unread jump indicator 2026-04-03 14:04:18 +03:00
lizerk
deca5a84ff Polish mobile chat layout spacing 2026-04-03 12:42:41 +03:00
lizerk
5100851481 Polish mobile chat composer layout 2026-04-03 12:25:01 +03:00
lizerk
4fb637e153 Improve message composer behavior 2026-04-03 12:21:50 +03:00
lizerk
c1a1c31494 Refine message composer styling 2026-04-03 12:06:21 +03:00
lizerk
c4253f6a78 Add readers avatars and emoji picker 2026-04-03 11:43:29 +03:00
lizerk
2b1e13632a Simplify chat actions dropdown 2026-04-03 11:19:02 +03:00
lizerk
6bd66e7855 Refine chat actions menu styling 2026-04-03 11:16:26 +03:00
lizerk
c5f53cca15 Improve chat delivery states and read details 2026-04-03 11:10:14 +03:00
lizerk
d1aea28be9 Add websocket read receipts and AsyncAPI docs 2026-04-03 09:55:10 +03:00
lizerk
0a71d6a3c9 Read notifications for opened chat 2026-04-02 11:26:09 +03:00
lizerk
9989c98af4 Finish user detail page refactor 2026-04-02 10:32:24 +03:00
lizerk
e3e195c89d Add user detail components and hook 2026-04-02 10:22:46 +03:00
lizerk
4b179fe801 Sync active chat on shared websocket 2026-04-02 10:20:46 +03:00
lizerk
a0cda94107 refactor frontend api facade 2026-04-01 20:56:08 +03:00
lizerk
fac1b54e63 Главное изменение этой итерации: orchestration страницы оборудования вынесен из page.tsx в новый hook useEquipmentPage.ts. В hook теперь живут загрузка данных, фильтры, пагинация, create/edit, операции перевода/списания/обслуживания, комментарии, загрузка деталей строки и вся производная логика. Сама страница стала значительно чище и ближе к роли render-слоя, без нетипичной архитектуры и без изменения UI-поведения. 2026-04-01 19:03:04 +03:00
lizerk
d1574dfd31 Refactor equipment page orchestration 2026-04-01 18:39:10 +03:00
lizerk
19f6f660b0 refactor: extract procurement page orchestration into hook
- add useProcurementPage hook for loading, filters, modal state and workflow actions
- keep procurement page focused on rendering and section layout
- preserve existing UI behavior while removing API/state orchestration from page component
- frontend checks: eslint clean, TypeScript typecheck clean
- backend checks: realtime websocket smoke, procurement and equipment suites green
2026-04-01 16:34:04 +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
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