Commit graph

17 commits

Author SHA1 Message Date
senke
c85d7ffaa3 [INT-AUTH-002] Remove duplicate auth store - migrate to features/auth/store/authStore.ts 2025-12-26 09:11:46 +01:00
senke
7c11f838ad [FE-STATE-009] fe-state: Add state normalization
- Created state normalization utility (stateNormalization.ts) with functions:
  * normalize/denormalize for converting arrays to normalized state
  * addToNormalized, updateInNormalized, removeFromNormalized
  * Helper functions for working with normalized state
- Applied normalization to LibraryStore (items and favorites)
- Updated storeSelectors to convert normalized state to arrays
- Updated DashboardPage components to use new selectors
- Updated tests to work with normalized state structure
- Improved performance with O(1) lookups instead of O(n) array searches
2025-12-25 14:10:14 +01:00
senke
64c9322d44 [FE-COMP-018] fe-comp: Add responsive design for mobile 2025-12-25 12:09:20 +01:00
senke
3f5a4f5df3 [FE-COMP-006] fe-comp: Add pagination component to all list views 2025-12-25 11:36:48 +01:00
senke
ca6d9310b7 [FE-PAGE-017] fe-page: Add Admin dashboard page 2025-12-25 11:29:27 +01:00
senke
fe0f663aa7 [FE-PAGE-016] fe-page: Add Webhooks management page 2025-12-25 11:27:17 +01:00
senke
67749f0f51 [FE-PAGE-015] fe-page: Add Analytics page 2025-12-25 11:25:06 +01:00
senke
c81408c4ca [FE-PAGE-013] fe-page: Add Search page
- Created dedicated Search page with unified search interface
- Added search functionality for tracks, playlists, and users
- Implemented tabs for filtering results by type (All/Tracks/Playlists/Users)
- Added search query debouncing for performance
- Added URL query parameter synchronization (q, type)
- Added pagination for each result type
- Added empty states for no query and no results
- Added loading states for all search operations
- Added error handling for search failures
- Integrated with existing search APIs (tracks, playlists, users)
- Added search service for user search API
- Added route /search to router
- Added lazy loading for SearchPage component
- Added result previews in All tab (6 items per type)
- Added View All buttons to navigate to specific tabs
2025-12-24 13:19:54 +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
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
7ceb2e1f5d fix(MVP-015): Standardize remember_me field name to snake_case 2025-12-22 23:27:51 +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
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
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
9fae6aeebc BASE: completing the initial repo state 2025-12-03 22:56:50 +01:00