From 64a36db5cd9bd797116a5604bf2a6e67deb420af Mon Sep 17 00:00:00 2001
From: senke
Date: Fri, 16 Jan 2026 00:32:57 +0100
Subject: [PATCH] library: remove duplicate upload buttons (Action 8.1.1.3)
- Removed LibraryPage empty state buttons (grid and list views)
- Removed LibraryManager header and empty state buttons
- Kept Dashboard FAB (primary) and LibraryPage header button (secondary)
- Result: Only 2 upload buttons remain, consistent behavior
- Empty state messages preserved, users can use header button
- Task 8.1.1.3 complete
---
EXHAUSTIVE_TODO_LIST.md | 17 ++++++++++++++---
.../library/components/LibraryManager.tsx | 10 ----------
.../src/features/library/pages/LibraryPage.tsx | 12 ------------
3 files changed, 14 insertions(+), 25 deletions(-)
diff --git a/EXHAUSTIVE_TODO_LIST.md b/EXHAUSTIVE_TODO_LIST.md
index 8e03fc1dd..07e311167 100644
--- a/EXHAUSTIVE_TODO_LIST.md
+++ b/EXHAUSTIVE_TODO_LIST.md
@@ -2784,11 +2784,22 @@ Critical path dependencies:
- **Rationale**: FAB is most prominent and globally accessible; header button provides contextual access
- **Rollback**: N/A (decision)
-- [ ] **Action 8.1.1.3**: Remove duplicate upload buttons
+- [x] **Action 8.1.1.3**: Remove duplicate upload buttons
- **Scope**: All locations except primary - Remove duplicate buttons
- - **Dependencies**: Action 8.1.1.2 complete
+ - **Dependencies**: Action 8.1.1.2 complete ✅
- **Risk**: MEDIUM (removes functionality)
- - **Validation**: One upload button, consistent behavior
+ - **Validation**: ✅ Duplicate buttons removed:
+ - **Removed LibraryPage empty state buttons** (2 buttons):
+ - Grid view empty state button (lines 607-610) ✅
+ - List view empty state button (lines 632-635) ✅
+ - **Removed LibraryManager buttons** (2 buttons):
+ - Header button (lines 176-179) ✅
+ - Empty state button (lines 250-253) ✅
+ - **Kept buttons** (as per Action 8.1.1.2):
+ - Dashboard FAB (primary) ✅
+ - LibraryPage header button (secondary) ✅
+ - **Result**: Only 2 upload buttons remain (primary + secondary), consistent behavior maintained
+ - **No regressions**: Empty state messages still display, users can use header button for upload
- **Rollback**: Restore duplicates
- [ ] **Action 8.1.1.4**: Ensure consistent upload behavior
diff --git a/apps/web/src/features/library/components/LibraryManager.tsx b/apps/web/src/features/library/components/LibraryManager.tsx
index c523b25b6..6f5330be9 100644
--- a/apps/web/src/features/library/components/LibraryManager.tsx
+++ b/apps/web/src/features/library/components/LibraryManager.tsx
@@ -173,10 +173,6 @@ export function LibraryManager({ onTrackSelect }: LibraryManagerProps) {
Gérez votre collection audio personnelle
-
@@ -246,12 +242,6 @@ export function LibraryManager({ onTrackSelect }: LibraryManagerProps) {
? 'No tracks match your search.'
: 'Start by uploading your first track.'}
- {!searchQuery && (
-
- )}
diff --git a/apps/web/src/features/library/pages/LibraryPage.tsx b/apps/web/src/features/library/pages/LibraryPage.tsx
index 8a906f738..cca31b2a9 100644
--- a/apps/web/src/features/library/pages/LibraryPage.tsx
+++ b/apps/web/src/features/library/pages/LibraryPage.tsx
@@ -603,12 +603,6 @@ export default function LibraryPagePremium() {
? "Essayez avec d'autres termes de recherche"
: 'Commencez par uploader votre premier track'}
- {!searchTerm && (
-
- )}
@@ -628,12 +622,6 @@ export default function LibraryPagePremium() {
? "Essayez avec d'autres termes de recherche"
: 'Commencez par uploader votre premier track'}
- {!searchTerm && (
-
- )}
) : (