fix: Standardize Trial Balance table styling and add export functionality

- Refactor table columns from grouped (Debit+Credit vertical) to separate columns for better scannability
- Replace custom HTML buttons with PrimeVue Button components (icon + label)
- Move filter action buttons to separate row below filters (matches InvoicesView pattern)
- Add Excel and PDF export functionality that fetches ALL data (not just current page)
- Update CSS_PATTERNS.md with unified table column structure and filter button patterns
- Update CLAUDE.md with table styling requirements and anti-patterns

This ensures visual consistency across all table views in the application.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-20 01:50:41 +02:00
parent fff430acf0
commit 86900d7750
3 changed files with 386 additions and 59 deletions

View File

@@ -189,6 +189,18 @@ ttl_your_data: int = int(os.getenv('CACHE_TTL_YOUR_DATA', '600')) # 10 min defa
- ❌ Never use `:deep()` in components (use `src/assets/css/vendor/` for PrimeVue overrides)
- ❌ Never duplicate CSS (write once, use everywhere)
**Tables - Unified Column Structure & Filter Buttons**:
-**ALWAYS use separate columns** for related data (Debit | Credit, not Debit+Credit stacked)
-**Use PrimeVue DataTable** with one value per `<Column>` component
-**Add filter/action buttons** (clear, export Excel, export PDF, refresh) **on separate row below filters**
-**PrimeVue Button** components with **icon + label** (not icon-only!)
-**Export ALL data** from backend (page_size: 999999), not just current page
-**Never group multiple values** vertically in a single column
-**Never use HTML `<button>` for filter actions** (use PrimeVue `<Button>`)
-**Never put action buttons on same row as filters** (separate row!)
-**Never export only current page** (must fetch all data for export)
- 📖 **See**: `CSS_PATTERNS.md` → Table Patterns → Unified Table Column Structure & Filter/Action Buttons
### Adding a New Telegram Bot Command
**IMPORTANT**: Follow established command patterns and formatting.