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
This commit is contained in:
senke 2026-01-16 00:32:57 +01:00
parent 8d7e1a16ac
commit 64a36db5cd
3 changed files with 14 additions and 25 deletions

View file

@ -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

View file

@ -173,10 +173,6 @@ export function LibraryManager({ onTrackSelect }: LibraryManagerProps) {
Gérez votre collection audio personnelle
</CardDescription>
</div>
<Button onClick={() => setIsUploadModalOpen(true)}>
<Upload className="h-4 w-4 mr-2" />
Upload Track
</Button>
</div>
</CardHeader>
<CardContent>
@ -246,12 +242,6 @@ export function LibraryManager({ onTrackSelect }: LibraryManagerProps) {
? 'No tracks match your search.'
: 'Start by uploading your first track.'}
</p>
{!searchQuery && (
<Button onClick={() => setIsUploadModalOpen(true)}>
<Upload className="h-4 w-4 mr-2" />
Upload Track
</Button>
)}
</div>
</CardContent>
</Card>

View file

@ -603,12 +603,6 @@ export default function LibraryPagePremium() {
? "Essayez avec d'autres termes de recherche"
: 'Commencez par uploader votre premier track'}
</p>
{!searchTerm && (
<Button onClick={handleOpenUpload}>
<Upload className="mr-2 h-4 w-4" />
Upload Track
</Button>
)}
</CardContent>
</Card>
</div>
@ -628,12 +622,6 @@ export default function LibraryPagePremium() {
? "Essayez avec d'autres termes de recherche"
: 'Commencez par uploader votre premier track'}
</p>
{!searchTerm && (
<Button onClick={handleOpenUpload}>
<Upload className="mr-2 h-4 w-4" />
Upload Track
</Button>
)}
</div>
) : (
<VirtualizedList