Stirling-PDF/frontend/src
ConnorYoh 90f0c5826a
Added structure for filemanager (#4078)
Overview

Replaced scattered file inputs with a unified modal-based upload system.
Users now upload files via a global Files button with intelligent
tool-aware filtering.

  Key Changes

  🔄 New Upload Flow

  - Before: Direct file inputs throughout the UI
- After: Single Files button → Modal → Tool filters files automatically

  🎯 Smart File Filtering

  - Modal shows only supported file types based on selected tool
  - Visual indicators for unsupported files (grayed out + badges)
  - Automatic duplicate detection

   Enhanced UX

  - Files button shows active state when modal is open
  - Consistent upload experience across all tools
  - Professional modal workflow

  Architecture

  New Components

  FilesModalProvider → FileUploadModal → Tool-aware filtering

  Button System Redesign

  type: 'navigation' | 'modal' | 'action'
  // Only navigation buttons stay active
  // Modal buttons show active when modal open

  Files Changed

  -  QuickAccessBar.tsx - Added Files button
  -  FileUploadModal.tsx - New tool-aware modal
  -  HomePage.tsx - Integrated modal system
  -  ConvertE2E.spec.ts - Updated tests for modal workflow

  Benefits

  - Unified UX: One place to upload files
  - Smart Filtering: Only see relevant file types
  - Better Architecture: Clean separation of concerns
  - Improved Testing: Reliable test automation

Migration: File uploads now go through Files button → modal instead of
direct inputs. All existing functionality preserved.

---------

Co-authored-by: Connor Yoh <connor@stirlingpdf.com>
2025-08-04 15:01:36 +01:00
..
assets Update Frontend 3rd Party Licenses (#4074) 2025-08-01 17:22:30 +01:00
commands Stirling 2.0 (#3928) 2025-07-16 17:53:50 +01:00
components Added structure for filemanager (#4078) 2025-08-04 15:01:36 +01:00
constants V2: Convert Tool (#3828) 2025-08-01 16:08:04 +01:00
contexts Added structure for filemanager (#4078) 2025-08-04 15:01:36 +01:00
hooks Added structure for filemanager (#4078) 2025-08-04 15:01:36 +01:00
i18n V2: Convert Tool (#3828) 2025-08-01 16:08:04 +01:00
pages Added structure for filemanager (#4078) 2025-08-04 15:01:36 +01:00
services Feature/v2/multiselect (#4024) 2025-07-25 09:37:52 +01:00
styles V2: Design Navbar (#4017) 2025-07-25 12:27:30 +01:00
tests Added structure for filemanager (#4078) 2025-08-04 15:01:36 +01:00
theme Tools/ocr/v2 (#4055) 2025-08-01 14:22:19 +01:00
tools V2: Convert Tool (#3828) 2025-08-01 16:08:04 +01:00
types Tools/ocr/v2 (#4055) 2025-08-01 14:22:19 +01:00
utils V2: Convert Tool (#3828) 2025-08-01 16:08:04 +01:00
App.css Initial react set up 2025-05-09 20:01:09 +01:00
App.tsx Added structure for filemanager (#4078) 2025-08-04 15:01:36 +01:00
global.d.ts V2: Design Navbar (#4017) 2025-07-25 12:27:30 +01:00
i18n.ts React translations 2025-05-29 17:26:32 +01:00
index.css V2: Design Navbar (#4017) 2025-07-25 12:27:30 +01:00
index.tsx Update Page editor styling 2025-06-16 15:11:00 +01:00
logo.svg Initial react set up 2025-05-09 20:01:09 +01:00
output.css Mantine overhaul 2025-05-15 20:07:33 +01:00
reportWebVitals.js Initial react set up 2025-05-09 20:01:09 +01:00
setupTests.js Initial react set up 2025-05-09 20:01:09 +01:00
setupTests.ts V2: Convert Tool (#3828) 2025-08-01 16:08:04 +01:00