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>
This commit is contained in:
2026-03-12 17:57:02 +01:00
parent bb2bbb8ff6
commit 6ad20ea04e
5 changed files with 68 additions and 16 deletions

View File

@@ -41,14 +41,21 @@ import { defineConfig } from 'vite'
try {
if (existsSync(vendorSrc)) {
execSync('composer install --no-dev --quiet', { cwd: resolve(__dirname) })
try {
execSync('composer install --no-dev --quiet', { cwd: resolve(__dirname) })
} catch {
console.warn('⚠ composer not found, copying vendor as-is')
}
copyFolderSync(vendorSrc, vendorDest)
execSync('composer install --quiet', { cwd: resolve(__dirname) })
console.log('✓ Vendor folder copied to dist/vendor (production only)')
try {
execSync('composer install --quiet', { cwd: resolve(__dirname) })
} catch {
// composer not in PATH - dev deps already present
}
console.log('✓ Vendor folder copied to dist/vendor')
}
} catch (err) {
console.error('Error copying vendor folder:', err)
execSync('composer install --quiet', { cwd: resolve(__dirname) })
}
console.log('✓ Build complete!')