Connor Yoh
af1643a5ae
Merge remote-tracking branch 'origin/V2' into feature/v2/filemanager
2025-08-05 14:40:26 +01:00
Connor Yoh
2d6135c743
Working filemanager
2025-08-05 14:39:27 +01:00
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
Connor Yoh
0d2a72b42e
merge fixes
2025-08-01 17:34:13 +01:00
Connor Yoh
5b798ba558
Merge remote-tracking branch 'origin/V2' into feature/v2/filemanager
2025-08-01 16:56:43 +01:00
Connor Yoh
777708b0a2
Added structure for filemanager
2025-08-01 16:54:05 +01:00
ConnorYoh
9c9acbfb5b
V2: Convert Tool ( #3828 )
...
🔄 Dynamic Processing Strategies
- Adaptive routing: Same tool uses different backend endpoints based on
file analysis
- Combined vs separate processing: Intelligently chooses between merge
operations and individual file processing
- Cross-format workflows: Enable complex conversions like "mixed files →
PDF" that other tools can't handle
⚙️ Format-Specific Intelligence
Each conversion type gets tailored options:
- HTML/ZIP → PDF: Zoom controls (0.1-3.0 increments) with live preview
- Email → PDF: Attachment handling, size limits, recipient control
- PDF → PDF/A: Digital signature detection with warnings
- Images → PDF: Smart combining vs individual file options
File Architecture
Core Implementation:
├── Convert.tsx # Main stepped workflow UI
├── ConvertSettings.tsx # Centralized settings with smart detection
├── GroupedFormatDropdown.tsx # Enhanced format selector with grouping
├── useConvertParameters.ts # Smart detection & parameter management
├── useConvertOperation.ts # Multi-strategy processing logic
└── Settings Components:
├── ConvertFromWebSettings.tsx # HTML zoom controls
├── ConvertFromEmailSettings.tsx # Email attachment options
├── ConvertToPdfaSettings.tsx # PDF/A with signature detection
├── ConvertFromImageSettings.tsx # Image PDF options
└── ConvertToImageSettings.tsx # PDF to image options
Utility Layer
Utils & Services:
├── convertUtils.ts # Format detection & endpoint routing
├── fileResponseUtils.ts # Generic API response handling
└── setupTests.ts # Enhanced test environment with crypto mocks
Testing & Quality
Comprehensive Test Coverage
Test Suite:
├── useConvertParameters.test.ts # Parameter logic & smart detection
├── useConvertParametersAutoDetection.test.ts # File type analysis
├── ConvertIntegration.test.tsx # End-to-end conversion workflows
├── ConvertSmartDetectionIntegration.test.tsx # Mixed file scenarios
├── ConvertE2E.spec.ts # Playwright browser tests
├── convertUtils.test.ts # Utility function validation
└── fileResponseUtils.test.ts # API response handling
Advanced Test Features
- Crypto API mocking: Proper test environment for file hashing
- File.arrayBuffer() polyfills: Complete browser API simulation
- Multi-file scenario testing: Complex batch processing validation
- CI/CD integration: Vitest runs in GitHub Actions with proper artifacts
---------
Co-authored-by: Connor Yoh <connor@stirlingpdf.com>
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2025-08-01 16:08:04 +01:00
EthanHealy01
8881f19b03
Tools/ocr/v2 ( #4055 )
...
# Description of Changes
- Added the OCR tool
- Added language mappings file to map selected browser language -> OCR
language and OCR language codes -> english display values. TODO: Use the
translation function to translate the languages rather than mapping them
to english be default
- Added chevron icons to tool step to show expand and collapsed state
more visibly
- Added a re-usable dropdown picker with a footer component
---
## Checklist
### General
- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md )
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md )
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md )
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings
### Documentation
- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/ )
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags )
(for new translation tags only)
### UI Changes (if applicable)
- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)
### Testing (if applicable)
- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing )
for more details.
---------
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2025-08-01 14:22:19 +01:00
EthanHealy01
a9a41b3877
V2: Design Navbar ( #4017 )
...
# Description of Changes
- Changed the navbar styling to include all the icons that were on our
figma design
- Added a new link to our index.html to include the MUI symbols.
- I chose to keep the automate and read icons the same as they were
already because I feel as though they make more sense
```
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,700,0,0 " />
```
---
figma vs app dark
<img width="422" height="1038" alt="Screenshot 2025-07-21 at 5 44 19 PM"
src="https://github.com/user-attachments/assets/15d5583f-ce3c-418f-81c6-6e6022f5f4d0 "
/>
figma vs app light
<img width="244" height="926" alt="Screenshot 2025-07-21 at 5 57 27 PM"
src="https://github.com/user-attachments/assets/c855d02b-20ee-4ccf-af1f-a3c1a4c2a154 "
/>
## Checklist
### General
- [x] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md )
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md )
(if applicable)
- [x] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md )
(if applicable)
- [x] I have performed a self-review of my own code
- [x] My changes generate no new warnings
### Documentation
- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/ )
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags )
(for new translation tags only)
### UI Changes (if applicable)
- [x] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)
### Testing (if applicable)
- [x] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing )
for more details.
2025-07-25 12:27:30 +01:00
Reece Browne
922bbc9076
Stirling 2.0 ( #3928 )
...
# Description of Changes
<!--
File context for managing files between tools and views
Optimisation for large files
Updated Split to work with new file system and match Matts stepped
design closer
-->
---
## Checklist
### General
- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md )
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md )
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md )
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings
### Documentation
- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/ )
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags )
(for new translation tags only)
### UI Changes (if applicable)
- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)
### Testing (if applicable)
- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing )
for more details.
---------
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2025-07-16 17:53:50 +01:00
Connor Yoh
248a14c571
Added config controller to be used by react frontend
2025-06-27 18:00:35 +01:00
Reece
ffe5b9577b
Page editor fixes and improvements and restructuring
2025-06-24 23:31:21 +01:00
Reece
2f90220b7b
File handling fixes
2025-06-24 20:25:03 +01:00
Reece
25e9db2570
Clean up
2025-06-20 23:00:26 +01:00
Reece
cbc5616a39
Translations for file management
2025-06-20 21:46:37 +01:00
Reece
215bb86a8e
Bug fixing, file management changes
2025-06-20 20:22:18 +01:00
Reece
3ebf75ae6f
File editor groundwork and refactor work
2025-06-20 17:51:24 +01:00
Reece
9c410865f9
Big refactor
2025-06-19 22:41:05 +01:00