[UI/UX Design] Add PDF export styling and progress affordance using jspdf in VaultTransactions
Description
The project depends on jspdf and VaultTransactions.tsx is the natural home for an exportable statement. This issue designs a branded PDF export (header, vault metadata, transaction table) and an accessible export-in-progress affordance with success/error feedback.
Requirements and context
- Must be secure, tested, and documented
- Should be efficient and easy to review
- Render an export button with loading/disabled states and a result toast
- Apply brand color/typography to the generated PDF consistent with tokens
- Announce export completion via the toast/live-region system
- Sanitize transaction data before embedding into the document
Suggested execution
- Fork the repo and create a branch
git checkout -b feature/transactions-pdf-export
- Implement changes
- Add
src/utils/exportPdf.ts and wire a button into VaultTransactions.tsx
- Write
src/utils/__tests__/exportPdf.test.ts (mock jspdf)
- Document the export feature in README
- Verify keyboard operability and progress announcements
- Test and commit
- Run tests, cover edge cases
- Include test output and notes
Example commit message
feat: branded PDF export with progress feedback for transactions
Guidelines
- Minimum 95 percent test coverage
- Clear documentation
- Timeframe: 96 hours
[UI/UX Design] Add PDF export styling and progress affordance using jspdf in VaultTransactions
Description
The project depends on
jspdfandVaultTransactions.tsxis the natural home for an exportable statement. This issue designs a branded PDF export (header, vault metadata, transaction table) and an accessible export-in-progress affordance with success/error feedback.Requirements and context
Suggested execution
git checkout -b feature/transactions-pdf-exportsrc/utils/exportPdf.tsand wire a button intoVaultTransactions.tsxsrc/utils/__tests__/exportPdf.test.ts(mock jspdf)Example commit message
feat: branded PDF export with progress feedback for transactionsGuidelines