aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)Author
2025-12-07feat(client): add deck list page with empty state and list viewnsfisis
Implement HomePage to display user's decks fetched from the API. Includes loading state, error handling with retry, and empty state messaging. Also adds comprehensive tests for the deck list page. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07feat(server): add Deck CRUD endpoints with testsnsfisis
Implement complete Deck management API: - GET /api/decks - List user's decks - POST /api/decks - Create new deck - GET /api/decks/:id - Get deck by ID - PUT /api/decks/:id - Update deck - DELETE /api/decks/:id - Soft delete deck All endpoints require authentication and scope data to the authenticated user. Includes 22 unit tests covering success and error cases. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07feat(client): remove registration pagensfisis
2025-12-06feat(client): add protected route handling with login redirectnsfisis
Unauthenticated users accessing protected pages (like HomePage) are now redirected to the login page. Includes ProtectedRoute component with loading state support. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06feat(client): implement Login page with form validationnsfisis
Add login form with username/password fields, error handling, and automatic redirect when already authenticated. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06feat(client): implement Register page with form validationnsfisis
Add functional registration form with: - Username and password fields with confirm password - Client-side validation (password match, minimum length) - Error display for API failures - Redirect to home when already authenticated - Loading state during submission 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06feat(client): add auth store with React contextnsfisis
Implements token management via AuthProvider context that wraps the app. Provides useAuth hook for components to access auth state and actions (login, register, logout). Includes comprehensive tests. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06feat(client): add API client with auth header supportnsfisis
Implements fetch wrapper that handles JWT authentication, automatic token refresh on 401 responses, and provides typed methods for REST operations. Includes comprehensive tests. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06feat(client): setup routing with wouternsfisis
Add wouter router with pages for home, login, register, and 404. Include tests for all routes using @testing-library/react. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06feat(client): initialize React + Vite frontend foundationnsfisis
Set up the client-side React application with Vite bundler: - Add React 19 and Vite 7 with the React plugin - Create index.html entry point and App component - Configure Vite with API proxy to backend server - Add client build scripts to package.json - Update tsconfig for React JSX and DOM types - Fix TypeScript errors in auth code (JWT_SECRET type narrowing) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06feat(dev): change architecture and directory structurensfisis