mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-08-22 12:19:24 +00:00

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>
22 lines
648 B
TypeScript
22 lines
648 B
TypeScript
import React from 'react';
|
|
import { RainbowThemeProvider } from './components/shared/RainbowThemeProvider';
|
|
import { FileContextProvider } from './contexts/FileContext';
|
|
import { FilesModalProvider } from './contexts/FilesModalContext';
|
|
import HomePage from './pages/HomePage';
|
|
|
|
// Import global styles
|
|
import './styles/tailwind.css';
|
|
import './index.css';
|
|
|
|
export default function App() {
|
|
return (
|
|
<RainbowThemeProvider>
|
|
<FileContextProvider enableUrlSync={true} enablePersistence={true}>
|
|
<FilesModalProvider>
|
|
<HomePage />
|
|
</FilesModalProvider>
|
|
</FileContextProvider>
|
|
</RainbowThemeProvider>
|
|
);
|
|
}
|