EthanHealy01
681f0abfd8
remove the 'convenience exports' from ToolWorkflowContext and standardise toolButton for tool picker. + Other general improvements
2025-08-15 19:34:18 +01:00
EthanHealy01
f2b5a4a1f8
simplify search results & tool picker
2025-08-15 18:42:56 +01:00
EthanHealy01
19d2b72f65
use translations
2025-08-15 18:12:13 +01:00
EthanHealy01
359a164751
clarify what search results is doing, better variable names/function names and comments
2025-08-15 17:48:19 +01:00
EthanHealy01
d664666ff8
simplify QuickAccessBar
2025-08-15 16:26:06 +01:00
EthanHealy01
808aae186e
simplify QuickAccessBar and use rem values in FitText
2025-08-15 15:19:35 +01:00
EthanHealy01
14a3d9a778
more translation
2025-08-15 14:02:41 +01:00
EthanHealy01
ea33557891
add english language fallbacks and use useTranslation directly in tool registry
2025-08-15 13:37:44 +01:00
EthanHealy01
ba179cca7b
had to add a custom text input component because mantine's TextInput wasn't playing ball
2025-08-14 16:14:57 +01:00
EthanHealy01
b2bea0ede6
- Links in developer tools section should be links, not buttons ✅
...
- Text seems to be slightly clipped at various zoom levels in the all tools sidebar. ✅
- Investigate colors on the light mode search section ✅
2025-08-14 15:40:02 +01:00
EthanHealy01
568daeff02
fix issue with nav item highlighting
2025-08-14 10:26:13 +01:00
EthanHealy01
30c92ec49c
Merge branch 'feature/V2/AllToolsSidebar' of github.com:Stirling-Tools/Stirling-PDF into feature/V2/AllToolsSidebar
2025-08-14 10:10:14 +01:00
EthanHealy01
263b3c065e
remove nav tooltips, they're mostly redundant
2025-08-14 10:10:05 +01:00
EthanHealy01
008addb8c2
Merge branch 'V2' into feature/V2/AllToolsSidebar
2025-08-14 09:58:14 +01:00
EthanHealy01
443e355774
change the border radius of the nav items to match matts design and remove colored top tool icon
2025-08-14 09:55:32 +01:00
Anthony Stirling
0ea4410dd3
Update manifest.json ( #4203 )
...
# Description of Changes
<!--
Please provide a summary of the changes, including:
- What was changed
- Why the change was made
- Any challenges encountered
Closes #(issue_number)
-->
---
## 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.
2025-08-13 18:29:25 +01:00
EthanHealy01
f6594144f9
add colors from the V1 palette and fix word breaking
2025-08-13 17:57:42 +01:00
EthanHealy01
c4e81979ce
fix flashing tooltip issue
2025-08-13 17:38:00 +01:00
EthanHealy01
710c5e7a5e
fix build failure
2025-08-13 16:53:50 +01:00
EthanHealy01
ec8abe4c63
merge with V2 origin
2025-08-13 16:25:00 +01:00
EthanHealy01
da6bf12b62
Merge branch 'V2' of github.com:Stirling-Tools/Stirling-PDF into feature/V2/AllToolsSidebar
2025-08-13 16:24:14 +01:00
EthanHealy01
7a1bf82b98
favor shrinking over breaking words on fitText
2025-08-13 16:02:34 +01:00
EthanHealy01
d64a753b06
make a hook to manage sections / subcategories in the toolPicker
2025-08-13 15:52:41 +01:00
EthanHealy01
4de65c1cc0
add a fit text component that acts the same as the react native adjustFontSizeToFit prop
2025-08-13 15:43:55 +01:00
EthanHealy01
b3013647b9
update tool registry to order them as they appear in the nav bar
2025-08-13 15:18:33 +01:00
EthanHealy01
3c2524183c
add adjustFontSizeToFit util similar to react-native, add an animated top tool icon to provide better feedback to users when switching tools
2025-08-13 14:51:37 +01:00
EthanHealy01
39fed225a1
remove old pattern, try something different to show the user they've switched tool
2025-08-12 16:57:09 +01:00
James Brunton
8eeb4c148c
Add Sanitize UI ( #4123 )
...
# Description of Changes
Implementation of Sanitize UI for V2.
Also removes parameter validation from standard tool hooks because the
logic would have to be duplicated between parameter handling and
operation hooks, and the nicer workflow is for the tools to reject using
the Go button if the validation fails, rather than the operation hook
checking it, since that can't appear in the UI.
Co-authored-by: James <james@crosscourtanalytics.com>
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
Co-authored-by: ConnorYoh <40631091+ConnorYoh@users.noreply.github.com>
2025-08-12 16:05:59 +01:00
EthanHealy01
aeb4f69cd9
add divider to tool list
2025-08-12 16:04:22 +01:00
EthanHealy01
7801872810
remove skeleton loader
2025-08-12 15:53:49 +01:00
EthanHealy01
53e9dbb66e
skeleton loading
2025-08-12 13:38:21 +01:00
James Brunton
adf6feea27
Neaten garbage collection code ( #4171 )
...
# Description of Changes
Slight tweaks to type checking code merged in #4126 .
Co-authored-by: James <james@crosscourtanalytics.com>
2025-08-12 08:56:31 +00:00
EthanHealy01
8581829f6e
re-structure baseToolRegistry to be a nested shape, preserving the order of tools and links
2025-08-11 18:49:55 +01:00
EthanHealy01
b6d56ba587
push before refactoring ToolPicker and tool registry
2025-08-11 12:00:22 +01:00
EthanHealy01
3360669fbb
Merge branch 'V2' of github.com:Stirling-Tools/Stirling-PDF into feature/V2/AllToolsSidebar
2025-08-11 11:58:13 +01:00
James Brunton
af5a9d1ae1
Enforce type checking in CI ( #4126 )
...
# Description of Changes
Currently, the `tsconfig.json` file enforces strict type checking, but
nothing in CI checks that the code is actually correctly typed. [Vite
only transpiles TypeScript
code](https://vite.dev/guide/features.html#transpile-only ) so doesn't
ensure that the TS code we're running is correct.
This PR adds running of the type checker to CI and fixes the type errors
that have already crept into the codebase.
Note that many of the changes I've made to 'fix the types' are just
using `any` to disable the type checker because the code is under too
much churn to fix anything properly at the moment. I still think
enabling the type checker now is the best course of action though
because otherwise we'll never be able to fix all of them, and it should
at least help us not break things when adding new code.
Co-authored-by: James <james@crosscourtanalytics.com>
2025-08-11 09:16:16 +01:00
EthanHealy01
70b4ac69cd
fix theme race condition, remove it from RainbowThemeProvider and offload it to the index file
2025-08-08 16:13:05 +01:00
Reece Browne
507ad1dc61
Feature/v2/shared tool hooks ( #4134 )
...
# Description of Changes
<!--
Please provide a summary of the changes, including:
- What was changed
- Why the change was made
- Any challenges encountered
Closes #(issue_number)
-->
---
## 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: Reece Browne <you@example.com>
2025-08-08 16:01:56 +01:00
ConnorYoh
b45d3a43d4
V2 Restructure homepage ( #4138 )
...
Component Extraction & Context Refactor - Summary
🔧 What We Did
- Extracted HomePage's 286-line monolithic component into focused parts
- Created ToolPanel (105 lines) for tool selection UI
- Created Workbench (203 lines) for view management
- Created ToolWorkflowContext (220 lines) for centralized state
- Reduced HomePage to 60 lines of provider setup
- Eliminated all prop drilling - components use contexts directly
🏆 Why This is Good
- Maintainability: Each component has single purpose, easy
debugging/development
- Architecture: Clean separation of concerns, future features easier to
add
- Code Quality: 105% more lines but organized/purposeful vs tangled
spaghetti code
---------
Co-authored-by: Connor Yoh <connor@stirlingpdf.com>
Co-authored-by: James Brunton <jbrunton96@gmail.com>
2025-08-08 15:56:20 +01:00
ConnorYoh
7e3321ee16
Feature/v2/filemanager ( #4121 )
...
FileManager Component Overview
Purpose: Modal component for selecting and managing PDF files with
preview capabilities
Architecture:
- Responsive Layouts: MobileLayout.tsx (stacked) vs DesktopLayout.tsx
(3-column)
- Central State: FileManagerContext handles file operations, selection,
and modal state
- File Storage: IndexedDB persistence with thumbnail caching
Key Components:
- FileSourceButtons: Switch between Recent/Local/Drive sources
- FileListArea: Scrollable file grid with search functionality
- FilePreview: PDF thumbnails with dynamic shadow stacking (1-2 shadow
pages based on file count)
- FileDetails: File info card with metadata
- CompactFileDetails: Mobile-optimized file info layout
File Flow:
1. Users select source → browse/search files → select multiple files →
preview with navigation → open in
tools
2. Files persist across tool switches via FileContext integration
3. Memory management handles large PDFs (up to 100GB+)
```mermaid
graph TD
FM[FileManager] --> ML[MobileLayout]
FM --> DL[DesktopLayout]
ML --> FSB[FileSourceButtons<br/>Recent/Local/Drive]
ML --> FLA[FileListArea]
ML --> FD[FileDetails]
DL --> FSB
DL --> FLA
DL --> FD
FLA --> FLI[FileListItem]
FD --> FP[FilePreview]
FD --> CFD[CompactFileDetails]
```
---------
Co-authored-by: Connor Yoh <connor@stirlingpdf.com>
2025-08-08 15:15:09 +01:00
EthanHealy01
395da7ffb2
made a mistake in last merge
2025-08-08 12:24:22 +01:00
EthanHealy01
c293fa8598
Merge branch 'V2' of github.com:Stirling-Tools/Stirling-PDF into feature/V2/AllToolsSidebar
2025-08-08 12:23:42 +01:00
EthanHealy01
9861332040
Feature/v2/tooltips ( #4112 )
...
# Description of Changes
- added tooltips to ocr and compress
- added the tooltip component which can be used either directly, or
through the toolstep 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.
2025-08-08 12:09:41 +01:00
EthanHealy01
f4e4831c0d
Feature/v2/landing page ( #4128 )
...
# Description of Changes
- Added landing page styling
- Clicking add files now opens native file manager
---
## Checklist
### General
- [x] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md )
- [x] 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.
2025-08-08 12:02:08 +01:00
EthanHealy01
ccc0a1a1ec
styling looks right but this will cause massive conflicts, going to merge this with main once all the other in-flight PRs are finished before I continue with it further
2025-08-08 01:05:28 +01:00
EthanHealy01
546bfe408a
format all tools registry to prioritize readability
2025-08-07 13:50:09 +01:00
EthanHealy01
471ec06be1
add tool text and icon color theme
2025-08-07 13:45:43 +01:00
EthanHealy01
fa022c1440
merge V2
2025-08-07 02:01:18 +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
ConnorYoh
24a9104ebf
Fix GB language file ( #4087 )
...
Language file fix
Co-authored-by: Connor Yoh <connor@stirlingpdf.com>
2025-08-01 20:14:05 +01:00