aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/client/components/ImportNotesModal.tsx
AgeCommit message (Collapse)Author
2026-01-02feat(import): simplify CSV format by removing deck columnnsfisis
Since import is initiated from deck context, the deck is already known via props. Simplifies CSV format to: note_type,Field1,Field2,... BREAKING CHANGE: CSV format changed from deck,note_type,... to note_type,... 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01refactor(client): migrate API calls to typed RPC clientnsfisis
Replace raw fetch() calls with apiClient.rpc typed client across all modal and page components. This provides better type safety and eliminates manual auth header handling. - Make handleResponse public for component usage - Update all component tests to mock RPC methods instead of fetch - Change POSTGRES_HOST default to kioku-db for Docker compatibility 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01feat(import): add CSV bulk import for notesnsfisis
Add client-side CSV parsing and bulk import API endpoint for importing notes from CSV files. Supports quoted fields, newlines in values, and escaped quotes. - New POST /api/decks/{deckId}/notes/import endpoint for bulk creation - CSV parser with RFC 4180 compliance - Multi-phase import modal (upload → validate → preview → import) - Client-side validation with per-row error reporting 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>