Commit graph

34 commits

Author SHA1 Message Date
senke
b83abe2dfd [FE-PAGE-010] fe-page: Complete User Profile page (public)
- Added user tracks display with grid layout and pagination
- Added user playlists display with grid layout and pagination
- Added stats section showing tracks, playlists, and followers count
- Implemented tabs for switching between tracks and playlists
- Enhanced FollowButton with API integration (follow/unfollow)
- Added follow/unfollow API functions in profileService
- Added followers/following API functions (getFollowers, getFollowing)
- Added View All links for tracks and playlists when count > 12
- Improved profile layout with better organization
- Added empty states for tracks and playlists sections
2025-12-24 13:09:30 +01:00
senke
af06339290 [FE-PAGE-009] fe-page: Complete Playlist List page implementation
- Added server-side search using searchPlaylists API
- Added filtering: visibility (public/private), owner (all/mine/others)
- Added client-side sorting: by date, title, track count (asc/desc)
- Enhanced filter UI with collapsible filters panel
- Added sort controls with field selector and order toggle
- Integrated search API when search query or filters are active
- Maintained existing bulk operations (delete, share, export)
- Added clear filters button when filters are active
- Improved UX with filter badges and active state indicators
2025-12-24 13:05:21 +01:00
senke
ab42949a98 [FE-PAGE-008] fe-page: Complete Playlist Detail page implementation
- Added collaborator management UI with AddCollaboratorModal
- Added sharing functionality with SharePlaylistModal
- Added recommendations section using PlaylistRecommendations component
- Integrated CollaboratorList component in tabs
- Organized content in tabs (Tracks, Collaborators, Recommendations)
- Enhanced share button to open share modal with token generation
- Added Add Collaborator button for playlist owners/admins
- Integrated existing components: CollaboratorList, PlaylistRecommendations
2025-12-24 13:02:32 +01:00
senke
ee76e8516a [FE-PAGE-007] fe-page: Complete Track Detail page implementation
- Added comments section with CommentSection component
- Added sharing functionality with ShareDialog component
- Added version history display using TrackHistory component
- Added analytics display using TrackStatsDisplay component
- Organized content in tabs (Comments, History)
- Enhanced share button to open share dialog with token generation
- Integrated comment creation, deletion, and pagination
- Added track statistics display (views, likes, comments, downloads, play time)
2025-12-24 12:57:49 +01:00
senke
2bacdac53c [FE-PAGE-006] fe-page: Complete Marketplace page implementation
- Added product browsing with pagination (page, limit, total_pages)
- Added product filtering: search, product type, price range
- Added cart functionality: add, remove, update quantity, checkout
- Created cartStore with Zustand and persistence
- Added Cart component with checkout functionality
- Enhanced ProductCard with Add to Cart button
- Added filter UI with collapsible filters panel
- Added search bar for product search
- Added pagination controls (Previous/Next)
- Updated marketplaceService to support filters and pagination
2025-12-24 12:54:20 +01:00
senke
db11efc6fa [FE-PAGE-005] fe-page: Complete Chat page implementation
- Added room management: create, join, leave, delete rooms
- Added CreateRoomDialog component for creating new rooms
- Added room actions menu (leave/delete) in ChatSidebar
- Added message search functionality with MessageSearch component
- Added search bar in ChatRoom with message highlighting
- Added TypingIndicator component (placeholder for future WebSocket integration)
- Enhanced ChatSidebar with room management UI
- Enhanced ChatRoom with search and typing indicators
2025-12-24 12:51:40 +01:00
senke
b1f0e39d87 [FE-PAGE-004] fe-page: Complete Settings page implementation
- Added Account Settings section with password change, data export, and account deletion
- Added Playback Settings section with audio quality, volume, crossfade, and autoplay controls
- Updated SettingsTabs to include Account and Playback tabs (5 tabs total)
- Added PlaybackSettings interface to types
- Integrated account management features (password change, data export, account deletion)
- Added audio playback controls (quality selector, volume slider, crossfade slider, autoplay toggle)
2025-12-24 12:48:28 +01:00
senke
daf1f92155 [FE-PAGE-003] fe-page: Complete Profile page implementation
- Added profile completion indicator with progress bar
- Added profile completion percentage and missing fields display
- Added social links management (Twitter, Instagram, Facebook, YouTube, Website)
- Improved bio editing with Textarea component and character counter
- Added social links display when not editing
- Added location field
- Updated UpdateProfileRequest interface to include social_links
- Integrated profile completion API endpoint
2025-12-24 12:41:34 +01:00
senke
3c1a7e3515 [FE-PAGE-002] fix: Correct toast hook usage 2025-12-24 12:39:26 +01:00
senke
540a100997 [FE-PAGE-002] fix: Correct Select and Toast API usage in LibraryPage 2025-12-24 12:39:11 +01:00
senke
94b363ebac [FE-PAGE-002] fe-page: Complete Library page implementation
- Added filtering by genre and format with dropdown selects
- Added sorting by date, title, and popularity with order toggle
- Added bulk operations: select multiple tracks, bulk delete, bulk update
- Added bulk mode toggle with selection checkboxes
- Added batch delete and batch update API functions
- Added pagination controls
- Improved UI with filter bar and sort dropdown
- Added toast notifications for operations
- Added select all/deselect all functionality
2025-12-24 12:38:25 +01:00
senke
a4b3cd9fa4 [FE-PAGE-001] fe-page: Complete Dashboard page implementation
- Created dashboardService.ts to fetch real stats and activity from API
- Created useDashboard hook for managing dashboard data
- Updated DashboardPage to use real data instead of hardcoded values
- Added loading states and skeletons for better UX
- Made quick actions functional with navigation
- Added activity timeline with real timestamps
- Formatted numbers with K/M suffixes for readability
- Added relative time formatting using date-fns
2025-12-24 12:35:38 +01:00
senke
a6952a3dd5 [BE-API-013] be-api: Implement track comments endpoints
- Added GET /tracks/:id/comments route (public)
- Added POST /tracks/:id/comments route (protected)
- Added DELETE /comments/:id route (protected)
- Initialized CommentService and CommentHandler in setupTrackRoutes
- Standardized API responses in comment handlers
- Handlers use RespondSuccess and RespondWithAppError

Phase: PHASE-2
Priority: P1
Progress: 22/267 (8.2%)
2025-12-24 11:19:05 +01:00
senke
6bf5d44db4 [FE-API-002] frontend-api: Enable playlist collaborator service calls
- Removed requireFeature guards from collaborator functions
- Updated addCollaborator to use unwrapped response format
- Implemented getCollaborators to call GET endpoint
- Enabled PLAYLIST_COLLABORATION feature flag
- All collaborator CRUD operations now functional

Phase: PHASE-1
Priority: P0
Progress: 10/267 (3.7%)
2025-12-23 01:46:43 +01:00
senke
b1b2adfc0e [FE-API-001] frontend-api: Enable 2FA service calls when backend is ready
- Replaced axios with apiClient for automatic authentication
- Updated URLs to use /auth/2fa/* endpoints (was /2fa/*)
- Fixed verify() to accept (secret, code) matching backend
- Fixed disable() to accept password instead of code
- Enabled TWO_FACTOR_AUTH feature flag
- Service now properly calls backend endpoints

Phase: PHASE-1
Priority: P0
Progress: 9/267 (3.4%)
2025-12-23 01:45:47 +01:00
senke
a8170a10fb [INT-002] integration: Fix type mismatches between frontend and backend
- Fixed queue_job_id: number -> string in hlsService.ts
- Fixed track_id: number -> string in trackService.ts
- Fixed id: number -> string in usePlaylistNotifications.ts
- Fixed Role.id, Permission.id, UserRole.id, UserRole.role_id, AssignRoleRequest.role_id: number -> string in role.ts
- Fixed playlist_id: number -> string in PlaylistAnalytics.tsx
- All IDs now consistently use string (UUID) type matching backend DTOs
- Backend already uses uuid.UUID for all entity IDs

Phase: PHASE-1
Priority: P0
Progress: 7/267 (2.6%)
2025-12-23 01:43:48 +01:00
senke
68a2bdb541 [BE-SEC-001] security: Fix ownership verification for user profile updates
- Verified RequireOwnershipOrAdmin middleware is correctly applied to PUT /users/:id
- Added integration tests for ownership verification
- Test: user cannot update another user's profile (403 Forbidden)
- Test: admin can update any profile (200 OK)
- Test: user can update own profile (200 OK)
- All tests pass

Phase: PHASE-1
Priority: P0
Progress: 1/267 (0.4%)
2025-12-23 01:36:04 +01:00
senke
7ceb2e1f5d fix(MVP-015): Standardize remember_me field name to snake_case 2025-12-22 23:27:51 +01:00
senke
17b9d89769 fix(MVP-013): Add error correlation with request IDs in logs 2025-12-22 23:13:49 +01:00
senke
53c2e042ce fix(MVP-012): Add retry logic with exponential backoff for 502/503 errors 2025-12-22 23:10:52 +01:00
senke
0916e38b51 fix(MVP-011): Simplify token refresh response handling to single format 2025-12-22 23:06:52 +01:00
senke
0541bfce73 fix(MVP-010): Fix error code type in Zod schemas (string → number) 2025-12-22 23:05:08 +01:00
senke
d76ae37394 fix(MVP-008): Add feature flags to disable non-MVP features with missing endpoints 2025-12-22 23:01:36 +01:00
senke
41c9e72aed fix(MVP-007): Fix profile endpoint paths to match backend routes 2025-12-22 22:58:18 +01:00
senke
34f3468c89 fix(MVP-006): Standardize environment variable names (VITE_API_BASE_URL → VITE_API_URL) 2025-12-22 22:56:37 +01:00
senke
1470f6030f batch 1 2025-12-22 22:00:50 +01:00
senke
c8c6e9c2b9 fix(INT-000002): Multiple Auth Storage Mechanisms
- Unified token storage to use TokenStorage service
- Removed deprecated token-manager.ts
- Removed fallback storage logic in API client
- Updated tests and feature components to use TokenStorage

Resolves: INT-000002
Severity: P0
2025-12-22 09:53:47 -05:00
senke
50ad6bb639 fix(frontend): STATUS OVERVIEW 2025-12-17 09:20:58 -05:00
senke
48d8cd87d9 fix(frontend): stabilize architecture (router, lazy loading, build, auth) 2025-12-17 09:15:45 -05:00
senke
eff37efb57 stabilizing apps/web: FIRST BATCH 2025-12-17 08:07:35 -05:00
senke
c8c9215e6c stabilizing apps/web: SITUATION AWARENESS 2025-12-16 14:40:16 -05:00
senke
de191cf0fc refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
okinrev
e9e306c347 report generation and future tasks selection 2025-12-08 19:57:54 +01:00
okinrev
9fae6aeebc BASE: completing the initial repo state 2025-12-03 22:56:50 +01:00