docs: determine primary upload button location (Action 8.1.1.2)

- Primary: Dashboard FAB (global, always accessible, most prominent)
- Secondary: LibraryPage header button (contextual, always visible)
- To remove: LibraryPage empty state buttons (redundant)
- To remove: LibraryManager buttons (component unused - legacy code)
- Updated audit document with decision rationale
- Task 8.1.1.2 complete
This commit is contained in:
senke 2026-01-16 00:32:05 +01:00
parent cc88a34035
commit 49152ae70b
2 changed files with 71 additions and 4 deletions

View file

@ -2770,11 +2770,18 @@ Critical path dependencies:
- **Recommendations**: Keep Dashboard FAB and LibraryPage header, remove empty state duplicates
- **Rollback**: N/A (audit)
- [ ] **Action 8.1.1.2**: Determine primary upload button location
- [x] **Action 8.1.1.2**: Determine primary upload button location
- **Scope**: Based on Action 8.1.1.1 - Decide which location is primary (likely header/FAB)
- **Dependencies**: Action 8.1.1.1 complete
- **Dependencies**: Action 8.1.1.1 complete
- **Risk**: LOW
- **Validation**: Primary location documented
- **Validation**: ✅ Primary location determined and documented:
- **Primary**: Dashboard FAB (global, always accessible, most prominent)
- **Secondary**: LibraryPage header button (contextual, always visible on library page)
- **To Remove**:
- LibraryPage empty state buttons (redundant with header)
- LibraryManager buttons (component unused - legacy code)
- **Documentation**: Updated `apps/web/docs/UPLOAD_BUTTONS_AUDIT.md` with decision rationale
- **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

View file

@ -150,6 +150,66 @@ Found **6 upload button instances** across **3 components**:
3. **Remove**: LibraryPage empty state buttons (redundant)
4. **Evaluate**: LibraryManager buttons (determine if LibraryManager is still used)
## Primary Upload Button Decision
**Date**: 2025-01-27
**Task**: Action 8.1.1.2 - Determine primary upload button location
**Status**: ✅ Complete
### Decision
**Primary Upload Button**: **Dashboard FAB (Floating Action Button)**
**Rationale**:
1. **Global accessibility**: Always visible on dashboard, accessible from any page
2. **Prominence**: FAB is the most prominent UI element (fixed position, large size, glow effect)
3. **User flow**: Dashboard is the main entry point, FAB provides quick access to upload
4. **Consistency**: FAB pattern is standard for primary actions in modern UIs
5. **Navigation**: FAB navigates to library page with upload action, maintaining context
**Secondary Upload Button**: **LibraryPage Header Button**
**Rationale**:
1. **Contextual**: When user is already on library page, header button provides direct access
2. **Always visible**: Header button is always visible on library page (not conditional)
3. **Direct action**: Opens upload modal directly without navigation
4. **User convenience**: Provides upload access without leaving library page
### Buttons to Remove
1. **LibraryPage Empty State Buttons** (Grid and List views)
- **Reason**: Redundant - header button is always visible on library page
- **Impact**: Low - users can use header button instead
- **Locations**:
- `LibraryPage.tsx:607-610` (grid view empty state)
- `LibraryPage.tsx:632-635` (list view empty state)
2. **LibraryManager Buttons** (Header and Empty State)
- **Reason**: LibraryManager component is not used anywhere in the codebase
- **Impact**: None - component is legacy/unused code
- **Locations**:
- `LibraryManager.tsx:176-179` (header button)
- `LibraryManager.tsx:250-253` (empty state button)
- **Note**: Consider removing entire LibraryManager component if confirmed unused
### Final Button Configuration
**Keep (2 buttons)**:
1. ✅ Dashboard FAB - Primary global upload action
2. ✅ LibraryPage header button - Secondary contextual action
**Remove (4 buttons)**:
1. ❌ LibraryPage empty state (grid view)
2. ❌ LibraryPage empty state (list view)
3. ❌ LibraryManager header button (unused component)
4. ❌ LibraryManager empty state button (unused component)
### Implementation Plan
1. Remove LibraryPage empty state buttons (Action 8.1.1.3)
2. Remove LibraryManager buttons (Action 8.1.1.3)
3. Verify upload functionality works with remaining buttons
4. Consider removing LibraryManager component entirely (future cleanup)
## Next Steps
- Action 8.1.1.2: Determine primary upload button location
- Action 8.1.1.3: Remove duplicate upload buttons