df506dfea4
refactor: P3 dekompozice velkych komponent
...
Dashboard.jsx (1346 -> 378 LOC):
- DashKpiCards, DashQuickActions, DashActivityFeed, DashAttendanceToday, DashProfile, DashSessions
- dashboardHelpers.js (konstanty + helper funkce)
OfferDetail.jsx (1061 -> ~530 LOC):
- useOfferForm hook (form state, draft, items/sections, submit)
- OfferCustomerPicker (customer search/select dropdown)
AttendanceAdmin.jsx (1036 -> ~275 LOC):
- useAttendanceAdmin hook (data fetching, filters, CRUD, print)
- AttendanceShiftTable (shift records table)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 18:22:38 +01:00
6863c7c557
feat: P2 strankovani - PaginationHelper, Pagination komponenta, integrace do 4 modulu
...
- PaginationHelper.php: parseParams() + paginate() - DRY backend pagination logika
- Pagination.jsx: frontend strankovaci komponenta (prev/next/cisla/info)
- CSS: .admin-pagination styly v admin.css
- Refaktor handleru: offers, orders, invoices, projects pouzivaji PaginationHelper
- Default 25 zaznamu na stranku (misto 500), max 500
- Frontend: page state + reset na search/filter zmenu
- useListData: pagination data v response
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 18:07:29 +01:00
6ad20ea04e
feat: P1 quick wins - useDebounce hook, DB indexy, odstraneni TCPDF
...
- useDebounce hook (300ms) integrovan do useListData pro debounce hledani
- useListData rozsiren o page/perPage/pagination parametry (priprava pro P2)
- Migracni SQL s indexy na attendance, invoices, quotations, refresh_tokens, audit_log
- Odstranen nepouzivany TCPDF z composer.json
- Vite build plugin: graceful handling kdyz composer neni v PATH
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 17:57:02 +01:00
bb2bbb8ff6
feat: mobilni responsivita, testy, klavesove zkratky, drag & drop, univerzalizace
...
- Mobile responsive CSS (touch targets 44px, iOS anti-zoom, reduced motion)
- Vitest setup s 39 testy (formatters, attendanceHelpers, useTableSort)
- Klavesove zkratky (Shift+? napoveda, Ctrl+S ulozit, navigace)
- Drag & drop pro polozky nabidek (@dnd-kit, SortableRow, useSortableList)
- Univerzalizace: odstraneni BOHA brandingu z UI, emailu, PDF
- Smazany nepotrebne soubory (deploy.sh, AUTH_SYSTEM.md, example_design, .htaccess)
- CORS konfigurovatelny pres env promennou
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 17:33:37 +01:00
f733dee856
Initial commit
2026-03-12 12:43:56 +01:00