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
|
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 |
|
Anthony Stirling
|
0742364a03
|
V2 frontend license checker (#3944)
# Added scripts for checking the licenses of dependencies similar to the backend app
|
2025-07-18 13:50:40 +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 |
|
Reece
|
5298cb1607
|
Ground work for page editor
|
2025-06-10 11:19:54 +01:00 |
|
Reece
|
09f05ac8d0
|
React translations
|
2025-05-29 17:26:32 +01:00 |
|
Reece
|
15761ae743
|
Remove CRA and use Vite instead
|
2025-05-28 21:43:02 +01:00 |
|
Reece
|
41c82b15da
|
TSX rewrite and query strings initial set up
|
2025-05-21 21:47:44 +01:00 |
|
Reece Browne
|
b5e7995554
|
File management groundwork
|
2025-05-15 23:12:39 +01:00 |
|
Reece Browne
|
f789533c83
|
Mantine overhaul
|
2025-05-15 20:07:33 +01:00 |
|
Reece Browne
|
d669964975
|
Basic homepage with compress and split
|
2025-05-13 23:32:54 +01:00 |
|
Reece Browne
|
b567f4b110
|
Initial react set up
|
2025-05-09 20:01:09 +01:00 |
|