|
|
3beb23a765
|
refactor(frontend): improve code quality and maintainability
- Extract API error handling utility (utils/error-handling.ts)
- Centralize error message extraction logic
- Add type guards for API errors
- Replace duplicated error handling across components
- Create reusable Toast component (components/Toast.tsx)
- Extract toast notification logic from profile page
- Support auto-dismiss functionality
- Consistent styling with shared styles
- Extract form validation debouncing hook (hooks/useDebouncedValidation.ts)
- Reusable debounced validation logic
- Clean timeout management
- Used in profile page for form validation
- Consolidate duplicate styles (styles/auth-form.ts)
- Use shared style tokens instead of duplicating values
- Reduce code duplication between auth-form and shared styles
- Extract loading state component (components/LoadingState.tsx)
- Standardize loading UI across pages
- Replace duplicated loading JSX patterns
- Used in profile, exchange, and trades pages
- Fix useRequireAuth dependency array
- Remove unnecessary hasPermission from dependencies
- Add eslint-disable comment with explanation
- Improve hook stability and performance
All frontend tests pass. Linting passes.
|
2025-12-25 19:04:45 +01:00 |
|
|
|
bbd9fae763
|
Phase 7: Final cleanup - Remove deprecated booking/appointment code
Deleted deprecated files:
- backend/routes/booking.py
- frontend/app/admin/appointments/, booking/, appointments/, sum/, audit/
- frontend/app/utils/appointment.ts
- frontend/e2e/booking.spec.ts, appointments.spec.ts
Updated references:
- exchange/page.tsx: Use /api/exchange/slots instead of /api/booking/slots
- useRequireAuth.ts: Redirect to /admin/trades and /exchange
- profile.tsx, invites.tsx: Update fallback redirect
- E2E tests: Update all /audit references to /admin/trades
- profile.test.tsx: Update admin redirect test
|
2025-12-22 20:18:33 +01:00 |
|