Commit graph

87 commits

Author SHA1 Message Date
senke
c9f6955da7 [FE-API-014] fe-api: Add request timeout handling 2025-12-25 13:22:15 +01:00
senke
6737bd397a [FE-API-013] fe-api: Add error handling improvements 2025-12-25 13:20:07 +01:00
senke
936d31f16e [FE-API-012] fe-api: Add conversation service improvements 2025-12-25 13:15:39 +01:00
senke
882f1fe8e1 [FE-API-011] fe-api: Add roles service integration 2025-12-25 13:13:25 +01:00
senke
0a676acecd [FE-API-010] fe-api: Add analytics service integration 2025-12-25 12:31:54 +01:00
senke
4172974be3 [FE-API-009] fe-api: Add notifications service integration 2025-12-25 12:29:29 +01:00
senke
d617ece4a6 [FE-API-008] fe-api: Add search service integration 2025-12-25 12:27:42 +01:00
senke
b6a2db1776 [FE-COMP-024] fe-comp: Add tooltips and help text 2025-12-25 12:25:39 +01:00
senke
662284b92c [FE-COMP-022] fe-comp: Add keyboard shortcuts 2025-12-25 12:21:17 +01:00
senke
3cebb7561b [FE-COMP-021] fe-comp: Add internationalization (i18n) 2025-12-25 12:15:58 +01:00
senke
bab1977849 [FE-COMP-020] fe-comp: Add dark mode support 2025-12-25 12:13:29 +01:00
senke
349475c550 [FE-COMP-019] fix: Correct TypeScript errors in TrackCard keyboard handlers 2025-12-25 12:11:38 +01:00
senke
5d240a18d0 [FE-COMP-019] fe-comp: Add accessibility (a11y) improvements 2025-12-25 12:11:08 +01:00
senke
611624940a [FE-COMP-018] fe-comp: Add responsive design for mobile 2025-12-25 12:09:20 +01:00
senke
c10fca8f44 [FE-COMP-017] fe-comp: Add playlist follow/unfollow button 2025-12-25 12:07:29 +01:00
senke
e9ecf97e7e [FE-COMP-016] fe-comp: Add track like/unlike button 2025-12-25 12:04:49 +01:00
senke
a618e995d8 [FE-COMP-015] fix: Remove unused initialFollowerCount prop 2025-12-25 12:02:22 +01:00
senke
d410fce9a5 [FE-COMP-015] fix: Correct TypeScript errors in FollowButton 2025-12-25 12:01:57 +01:00
senke
246d353d12 [FE-COMP-015] fe-comp: Add user follow/unfollow button 2025-12-25 12:00:19 +01:00
senke
f29d5245b3 [FE-COMP-014] fix: Remove unused X import 2025-12-25 11:57:19 +01:00
senke
c202dedb88 [FE-COMP-014] fe-comp: Add notification center component 2025-12-25 11:57:01 +01:00
senke
45a0f415a9 [FE-COMP-013] fix: Remove unused useQuery import 2025-12-25 11:54:39 +01:00
senke
344d66f2c5 [FE-COMP-013] fe-comp: Add share link generation UI 2025-12-25 11:54:09 +01:00
senke
32e4730292 [FE-COMP-012] fix: Remove unused refetchReplies variable 2025-12-25 11:52:13 +01:00
senke
b105f61865 [FE-COMP-012] fe-comp: Add comment system UI 2025-12-25 11:51:52 +01:00
senke
f988c6172d [FE-COMP-011] fe-comp: Add playlist collaborator management UI 2025-12-25 11:49:08 +01:00
senke
a9b95368a2 [FE-COMP-010] fe-comp: Add track upload component improvements 2025-12-25 11:47:22 +01:00
senke
a90338a4e9 [FE-COMP-009] fe-comp: Add avatar upload component 2025-12-25 11:44:36 +01:00
senke
0adc9081b4 [FE-COMP-008] fe-comp: Add search bar component 2025-12-25 11:41:20 +01:00
senke
7d8477c07f [FE-COMP-007] fix: Remove unused import in FilterBar 2025-12-25 11:39:09 +01:00
senke
48c72bd702 [FE-COMP-007] fe-comp: Add filter and sort UI components 2025-12-25 11:38:41 +01:00
senke
6bc366678c [FE-COMP-006] fe-comp: Add pagination component to all list views 2025-12-25 11:36:48 +01:00
senke
18d409e4e1 [FE-COMP-005] fe-comp: Add toast notifications for all user actions 2025-12-25 11:32:53 +01:00
senke
91d810f21c [FE-PAGE-018] fe-page: Improve error pages (404, 500) 2025-12-25 11:30:50 +01:00
senke
a3b06a46e8 [FE-PAGE-017] fe-page: Add Admin dashboard page 2025-12-25 11:29:27 +01:00
senke
64f0e3892a [FE-PAGE-016] fe-page: Add Webhooks management page 2025-12-25 11:27:17 +01:00
senke
1ebbb06315 [FE-PAGE-015] fe-page: Add Analytics page 2025-12-25 11:25:06 +01:00
senke
cd663c2226 [FE-API-007] fe-api: Add webhook service integration 2025-12-25 11:20:45 +01:00
senke
54a03a6490 [FE-API-006] fe-api: Add API request/response logging 2025-12-25 11:18:27 +01:00
senke
241ea2fe24 [FE-API-005] fe-api: Add request cancellation support 2025-12-25 11:14:03 +01:00
senke
44046a2b50 [FE-API-004] fe-api: Add retry logic to API client 2025-12-25 11:11:54 +01:00
senke
e532b342d4 [FE-API-003] fe-api: Fix API client response unwrapping 2025-12-25 11:09:19 +01:00
senke
061d8f11cc [FE-COMP-004] fe-comp: Add confirmation dialogs for destructive actions
- Created reusable ConfirmationDialog component for destructive actions
- Replaced native confirm() dialogs with ConfirmationDialog in ChatSidebar (leave room, delete room)
- Replaced native confirm() dialogs with ConfirmationDialog in RolesPage (delete role)
- Replaced Dialog with ConfirmationDialog in PlaylistActions (delete playlist)
- Replaced window.confirm() with ConfirmationDialog in SessionsPage (revoke session, revoke all sessions)
- All destructive actions now use consistent confirmation dialogs
- Confirmation dialogs include proper messaging, loading states, and variant support
- Improved UX with better visual feedback and clearer action descriptions
2025-12-24 14:38:55 +01:00
senke
93ba7e8c7c [FE-COMP-003] fix: Add missing useAuthStore import 2025-12-24 14:34:19 +01:00
senke
17cba16f83 [FE-COMP-003] fix: Add missing currentUser import in UserProfilePage 2025-12-24 14:34:10 +01:00
senke
bddebb33ae [FE-COMP-003] fix: Fix TypeScript errors in empty states
- Fixed isOwnProfile reference in UserProfilePage
- Fixed possibly undefined data in PlaylistList pagination
2025-12-24 14:34:00 +01:00
senke
f16a8dc030 [FE-COMP-003] fe-comp: Add empty states to all list views
- Created reusable EmptyState component with icon, title, description, and action support
- Improved empty state in PlaylistList with better messaging and icons
- Improved empty states in UserProfilePage for tracks and playlists tabs
- Added contextual messages based on whether viewing own profile or others
- Added helpful descriptions and icons to all empty states
- Empty states now provide clear guidance on what users can do next
- All list views now have consistent and helpful empty state messaging
2025-12-24 14:33:20 +01:00
senke
65529011f2 [FE-COMP-002] fe-comp: Add error boundaries to all pages
- Added ErrorBoundary to all public routes (login, register, forgot-password, verify-email, reset-password)
- Added ErrorBoundary to public user profile page (/u/:username)
- Added ErrorBoundary to protected routes: dashboard, marketplace, chat
- Added ErrorBoundary to settings/sessions route
- Added ErrorBoundary to admin/roles route
- Added ErrorBoundary to tracks/:id route
- Added ErrorBoundary to playlists/* route
- Added ErrorBoundary to search route
- Added ErrorBoundary to notifications route
- Added ErrorBoundary to error pages (404, 500)
- All pages now have error boundaries for graceful error handling
- Error boundaries provide fallback UI with retry and home navigation options
2025-12-24 14:31:28 +01:00
senke
e19f3a3db7 [FE-COMP-001] fe-comp: Add loading states to all async operations
- Created ButtonLoading component for consistent loading button pattern
- Created comprehensive loading states pattern guide
- Documented best practices for loading states in async operations
- Identified and documented existing loading state implementations
- Provided patterns for form submissions, data fetching, mutations, and skeleton loaders
- Created checklist for implementing loading states
- Documented examples from existing codebase

Most components already have loading states implemented. Pattern guide ensures consistency for future implementations.
2025-12-24 13:25:10 +01:00
senke
f47029a769 [FE-PAGE-014] fe-page: Add Notifications page
- Created dedicated Notifications page with full notification management
- Added notification service with API integration (get, mark as read, mark all as read)
- Added filtering by status (all/unread/read) and type (message/track/mention/system/etc)
- Added mark as read functionality for individual notifications
- Added mark all as read functionality
- Added notification type icons and labels
- Added notification timestamps with relative time formatting
- Added notification links support for navigation
- Added empty states for no notifications
- Added loading and error states
- Integrated with backend notification APIs
- Added route /notifications to router
- Added lazy loading for NotificationsPage component
- Added visual distinction for unread notifications (badge, background)
- Added notification type badges
2025-12-24 13:22:31 +01:00