Commit c199ba4
committed
refactor: redesign web UI to match Arr-style dark theme and improve UX
Complete frontend redesign following Radarr/Sonarr/Lidarr design patterns:
## UI/UX Improvements
- Implement dark Arr-style theme with consistent color palette (#0d0d0d, #1a1a1a, #262626)
- Redesign sidebar navigation with collapsible Settings submenu
- Replace top header with integrated sidebar navigation (save vertical space)
- Add clickable dashboard stat cards that navigate to filtered views
- Implement skeleton loading states for dashboard metrics
- Add confirmation dialogs for all destructive actions (protect/unprotect)
- Enhance empty states with context-aware messages and helpful CTAs
- Improve form layouts in Settings with better visual hierarchy
- Add service status indicators with health checks
## Component Architecture
- Replace AppHeader with new AppLayout component
- Create ErrorBoundary for graceful error handling
- Add ServiceStatusCard for integration health monitoring
- Implement Skeleton component for loading states
- Remove theme toggle (hardcoded dark theme for consistency)
## Error Handling & Resilience
- Add comprehensive error boundary with user-friendly error UI
- Create client-side error logging service with structured logging
- Configure React Query with smart retry logic (exponential backoff)
- Add error callbacks for query/mutation failures
- Skip retries for 401/403/404, retry network errors up to 2 times
## Performance
- Add memoization for expensive calculations (scheduledDeletionsCount)
- Optimize query caching with proper staleTime and gcTime
- Add loading skeletons to prevent layout shift
## API Changes
- Add GET /api/services/status endpoint for health checks
- Return service configuration and connectivity status
## Code Quality
- Remove unused theme store
- Clean up duplicate components and unused imports
- Add comprehensive TODO comments for future server-side pagination
- Fix TypeScript errors and improve type safety
This refactor brings the UI in line with the Arr ecosystem's familiar
interface while adding modern UX patterns like confirmations, better
empty states, and comprehensive error handling.1 parent b110760 commit c199ba4
20 files changed
Lines changed: 1925 additions & 1168 deletions
File tree
- internal/api
- handlers
- web/src
- components
- ui
- lib
- pages
- store
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
52 | 53 | | |
53 | 54 | | |
54 | 55 | | |
| 56 | + | |
55 | 57 | | |
56 | 58 | | |
57 | 59 | | |
| |||
107 | 109 | | |
108 | 110 | | |
109 | 111 | | |
| 112 | + | |
110 | 113 | | |
111 | 114 | | |
112 | 115 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| |||
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
20 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
21 | 37 | | |
22 | 38 | | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
23 | 49 | | |
24 | 50 | | |
25 | 51 | | |
26 | 52 | | |
27 | 53 | | |
28 | 54 | | |
29 | | - | |
30 | 55 | | |
31 | 56 | | |
32 | 57 | | |
33 | | - | |
34 | | - | |
| 58 | + | |
35 | 59 | | |
36 | 60 | | |
37 | | - | |
38 | | - | |
39 | | - | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
40 | 65 | | |
41 | 66 | | |
42 | 67 | | |
| |||
80 | 105 | | |
81 | 106 | | |
82 | 107 | | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
83 | 112 | | |
84 | 113 | | |
85 | 114 | | |
| |||
95 | 124 | | |
96 | 125 | | |
97 | 126 | | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
102 | 132 | | |
103 | 133 | | |
104 | 134 | | |
| |||
This file was deleted.
0 commit comments